25 Aug '05 -- Cameras, GUIs and Physics Calcs
Working on the camera- finally managed to separate camera from server control,
allowing smooth client-side animation and hopefully removing the 'judder' that some
users were experiencing. Improvements of the in-battle GUIs (thanks Jim). Spent quite
some time removing client/server physics drift -- realised for example that Torque
normally only invokes onCollision callbacks on the server, whereas we need it on
client too; other problems were due to compression/rounding errors when sending
commands from client to server. Spent lots more time with collision resolution --
there are serious bugs in the method used by Torque for rigid body
dynamics, so I had to patch together a reasonable replacement. Also had to
synchronise the order of object simulation on client & server, because otherwise
collisions would not turn out to be the same and we would be back in a drift
situation. These problems of drift wouldn't really be noticed in a
real-time game where the client nudges the objects slowly back to position
over a period of a second or two, but you really notice it when those objects are
otherwise not moving!
Got basic waypoint-based racing AI working. Here we have a set of bots racing around the track, with speeds and collisions being logged in the database. |