A problem with time based movement is when deltatime gets very big.

If the computer glitches, e.g. accessing dvd or whatever, you might get a very large deltatime so the chaneg in position might be huge. The problem is that this leaves it open to objects passing or falling through other objects.

You collision detection needs to handle this.

What I also do is instead of using TimeGetTime as teh basis for movement I use a variable (longint) that initially gets set to TimeGetTime. For every frame add the deltatime to the variable.

If you then open a menu or whatever you stop adding deltatime to the variable and effectively everything in your game pauses. Quite useful if you build it in from the beginning.

Cheers

R