According to Robocode/Game Physics:
- All bullets move (including the bullet fired in the last tick) and are checked for collisions.
- All robots move (gun, radar, heading, acceleration, velocity, distance, in that order. gun heat is also decreased in this step).
However there are details not noted. If bullets get collided, they are moved back 1 tick. If bullet get collided before it moves (due to order of updating), they are also moved back 1 tick, resulting 2 tick behind in total. I remembered doing same thing, and discovered correct bullet shadow, but did not implement due to having problems with integral risk.