[GD-General] time
Brought to you by:
vexxed72
From: Brett B. <res...@ga...> - 2004-02-21 03:03:19
|
Howdy, I have been wrestling with time in my engine for some time now (no pun = intended). I wondered how other people are handling time? Our game = engine is specifically designed for PS2/Gcn, but it runs under Windows = too. Specifically... What are the different components that people are using? We currently = have a single 32-bit time variable initialized to zero at startup and = that's it. Each frame we either count v-blanks, use system ticks/timers = or OS facilities custom for each platform to increment the global time = value, usually stored in microseconds and rounded up to millisecond = resolution for use in the engine. Works well and I have done this for = every game engine I have developed so far. Feels like a change may be warranted though as online gaming becomes = more popular, since if the game was to run for many days it would = overflow and timestamping may be problematic. So now I'm thinking of = adding a time struct (different from ANSI C though) whereby we store the = year, month, day, hour and minute, and second and also a conversion = struct that says how many mins->hour->day->month->year so we can convert = "real" time into game time. I can pack this into 64-bits, but then again = a simple 64-bit timer using the old way to simply count ticks would also = eliminate the overflow problem anyway and so I'm questioning the right = thing to do. Also, I hoping to be able to use absolute time for certain = things where we used to use delta times. What are people using for = timestamps for online games? Does each game session reset the server = session time to prevent eventual overflow? Or is a more robust timing = mechanism used? Are people using microseconds? milliseconds? Thanks, Brett |