It's not that networking is really hard, it's that development of synchronized games that run over unreliable links is really hard. If you want a simple solution for a simple game, here's one. Use a fixed-format UDP packet to pass current location and orientation of the player and whatever else changes rapidly. This should be stateless; if you lose a packet, the next one has a full state update. This is enough for a…
> This should be stateless; if you lose a packet, the next one has a full state update. This is enough for a simple FPS game. Also enough considering packet reordering? And corruption?
but I see your point adding a simple counter might be somewhat useful ignore any packet that has a Lower counter value.
coruption there is generaly enogh checksums in earlier layers so that it is neglisheble.