Bug 3226 - Bots don't work properly on high timescales
Status: VERIFIED INVALID
Alias: None
Product: ioquake3
Classification: Unclassified
Component: Misc
Version: 1.33 SVN
Hardware: All All
: P3 minor
Assignee: Zachary J. Slater
QA Contact: ioquake3 bugzilla mailing list
URL: http://svn.icculus.org/quake3?rev=870...
Depends on:
Blocks:
 
Reported: 2007-06-13 10:18 EDT by Gijs
Modified: 2007-06-19 10:22:19 EDT
0 users

See Also:



Description Gijs 2007-06-13 10:18:02 EDT
Steps to reproduce:

1. Run ioquake3
2. Open a multiplayer server with some empty slots
3. Open the console, use /devmap Q3DM17 to load a map with a bunch of jumppads and empty space to commit suicide in.
4. Add some bots. The skill level doesn't really matter.
5. Use "/timescale 15" in the console to increase the timescale.

Actual results:
Now everything will go really quickly. If you look at the scores (and the output at the top-left), this will show all the bots are busy killing themselves by jumping into the abyss.

Expected results:
The bots should fight "properly" ;-)

I looked into this for some time, and I think that the code that causes this was committed as revision 870. Backing out the changes to sv_snapshot.c and sv_main.c outlined in the URL field of this bug fixes the issue. I'm not familiar enough with the ioquake3 code to figure out what would be the better way to fix this - I'm assuming there is a better way than backing out the patch, as I'm pretty sure there was a purpose for the patch in question... :-)

I'd like to CC Thilo, since this was his patch (as far as I can tell), but bugzilla isn't giving me any matches for that nickname.

Useless background info on why I need a higher timescale:
I'm working on a university project where we use ioquake3 and some genetic algorithms to evolve bots and look into co-evolution and other fun things. Obviously running rounds faster will mean we can run experiments faster, which means we can get more data faster, which means we get better results faster - which is why we use the timescale directive.

If there's anything I missed in this report, please ask, and I'll try to be as responsive as possible.
Comment 1 Thilo Schulz 2007-06-13 11:21:29 EDT
Hi,
the patch was meant to take the timescale into account for sv_fps.
Normally, timescale is always one except for some debugging, so this is no officially supported feature anyways. With timescale set lower, the server would only create a lot less frames per second resulting in interpolation issues for clients if timescale got too low. On the other hand, with timescale set to 15, the server would suddenly send 15 times as much of traffic as it did before as it now processes 15 as many frames per second, which produces more snapshots if cl_snaps is set higher and generally needs more processing power.
So actually this is no bug. If you want to fix your issue, just set sv_fps 15 times as high and the bots should be fine again.
Comment 2 Thilo Schulz 2007-06-14 11:10:45 EDT
Like already said, this is no bug.
Comment 3 Gijs 2007-06-19 10:22:19 EDT
Yup, that works, thanks!