3.75 * time_step would give you the opposite result... When the FPS drops, time_step becomes bigger, so it'll give you a bigger value in 30 fps than in 60 fps.

Instead, 16 / time_step will give you the frame rate, multiply by 0.x for fractions of a second, for example, if you want to wait 4 frames out of 60 fps, that's 0.067 of a second ((1/60) * 4), now 16 / time_step * 0.067 will give you the frames needed to wait on different fps.

As for the spider example, this line (4-th) is multiplying the pointer to a vector by time_step, and a pointer is usually just a pointer. It shouldn't make any difference, I have no idea why the spider goes faster...


Extensive Multiplayer tutorial:
http://mesetts.com/index.php?page=201