Request for comment |
Tue, 11 March 2003 17:17 |
|
Ron | | Commander Forum Administrator | Messages: 1239
Registered: October 2002 Location: Collegedale, TN | |
|
Some game hosts on AutoHost have questioned why AutoHost will sometimes skip the next scheduled gen time after it generates early.
I'll try to explain why and my rational, then ask for your comments.
If not using 'strict schedule', if all active players upload their .x files before the scheduled gen time, AutoHost will gen the turn right after the last active player uploads.
Consider the following:
1. 'stict schedule' NOT checked
2. Schedule set to gen every day at 18:00
Imagine if all active players uploaded their .x files before 18:00, say 15:00... AutoHost gens the turn early at 15:00. Thats fine.
But now what? You obviously don't want AutoHost to now gen at the scheduled 18:00 time, 3 hours from the last gen. Many players may not have had time to play their turn. What to do, where to draw the line?
I don't know. That is why I have AutoHost skip the next scheduled turn gen.
There is a way to manually 'reset' the counter AutoHost uses... In Host Utility, make any small change to the turn gen schedule, save it, then change it back again and save it. That should 'reset' the 'time of last turn gen/time of next turn gen' counter that AutoHost saves for that game.
Stars! AutoHost functioned quite well for several years before turn gen schedule code was introduced. Its complex, buggy, and I don't like it
One definite bug that bites hosts alot is that AutoHost doesn't take the amount of time that a game has been on hold into account when its determining when to generate a turn. Currently, AutoHost counts from the modification time of the game's .hst file (if not using a gen schedule)
I'm open to comments/suggestions.
Ron Miller
Stars! AutoHostReport message to a moderator
|
|
|
|
|
Re: Request for comment |
Wed, 19 March 2003 15:21 |
|
Ron | | Commander Forum Administrator | Messages: 1239
Registered: October 2002 Location: Collegedale, TN | |
|
gible wrote on Wed, 19 March 2003 06:21 | Wouldn't having a minimum cycle time (settable) suffice to (mostly) fix the problem?
|
Please explain.
Quote: | Back off again: How often do you alter the code?
|
Usually, not very often. A few changes recently to help Jeff Hoyt's AutoHost Client work better.
Quote: | Assuming you're willing to give out the source code can we others who program help fix/rewrite it? The email thing too?
|
No, not willing to just give out the entire source code.
- The original code is freely available, and if anyone cares enough about it, they can build on that. It was my way of learning code, and is my hobby to maintain AutoHost.
- It's written in PERL and is 48k. Bloated, ugly, and has a memory leak somewhere.
- I'm more than willing for someone to help with fixing the schedule code.
About the email upload...
- Email is slow in arriving and can sometimes get corrupted in route.
- Players using email to upload will not get instant feedback if their turn was for the wrong year, or corrupted etc.
- Much of the code, as I recall, for processing email uploads is done. I havn't remembered to work on it.
- Jeff Hoyt's AutoHost Client program should help those players who find it too much trouble to go to the upload page on AutoHost.
Ron Miller
Stars! AutoHostReport message to a moderator
|
|
|
Re: Request for comment |
Wed, 19 March 2003 17:30 |
|
Micha | | | Messages: 2342
Registered: November 2002 Location: Belgium GMT +1 | |
|
Hi,
Mabye 48h at fixed times might help. Instead of linking the gens to days you would get a gen every 48h but only at 18:00 for example. Currently this is not possible because of the odd number of days in the week, unless the host changes it every week.
This schedule should not be strict, I'll try to explain with an example:
Gen time is 18:00, today is Wednesday, so the next normal gen is Friday 18:00.
However all turns are in before Thursday 18:00, with normal AutoHost behaviour the Friday 18:00 gen will be skipped, which is ok since else there won't be 48h between turns, so the next gen will be Sunday 18:00 which leaves +72h before the next gen.
Now if AutoHost could check and see that the time left is +48h, than it looks at the gen time (18:00) and sees that it can shift the gen one day back to Saturday 18:00 and still have 48h left ...
This will no longer allow gens at set days like "only gens at MWF and skip the weekend" but offers an extra to the "gen every 48h" giving people not a fixed day _and_ time but only a fixed time for every gen.
It's something in the middle of the two methods.
Maybe AutoHost can also be made smart enough to check if the next gen is in a weekend or not and give the host an option to skip gens that are in the weekend ... in such a way it might be even better than using "MWF only" gens ...
Not sure if this is possible with with the AutoHost scripting/software, I don't have the slightest knowledge about programming ...
kind regards,
mch
Report message to a moderator
|
|
|
Re: Request for comment |
Thu, 20 March 2003 00:39 |
|
|
I mean have an option called "minimum_cycle_time" and let the host set it to whatever(default=24). Assume the turns are all in early. AH gens and then searches for the next scheduled gen time, starting from the minimum_cycle_time+current_time.
eg schedule is daily at 1800 and the turns are in at monday 1300 - AH should start looking for the next gen time from tuesday 1300 - finding tuesday 1800.
Games which don't use a schedule should be unaffected by this.
I have the original code and I agree, its hideous.
Report message to a moderator
|
|
|
Re: Request for comment |
Thu, 03 April 2003 16:40 |
|
|
gible wrote on Thu, 20 March 2003 00:39 | I mean have an option called "minimum_cycle_time" and let the host set it to whatever(default=24). Assume the turns are all in early. AH gens and then searches for the next scheduled gen time, starting from the minimum_cycle_time+current_time.
eg schedule is daily at 1800 and the turns are in at monday 1300 - AH should start looking for the next gen time from tuesday 1300 - finding tuesday 1800.
|
It seems to me that such programming is possible. (One upon a time I was a programmer).
My suggestions:
Allow people to use 'new' programming with a new selection on the host screen. So you would have the following options:
1) Strict schedule
2) Flexible schedule
3) Min cycle time schedule
This way, you do not have to change the code on either of the two current methods, just add in a new method. This will also allow you to test it without having any detrimental effects on all the other current games.
And one related note: You could add an information line to the AH email, saying something like: "Upload for next turn due in NN:NN hours" or "Upload for next turn due at (day) (Date) (time)". For current methods this is an extra nice thing. For a new schedule methods this would be important.
Dancer
Report message to a moderator
|
|
|