I am developing a game similar to "Street Fighter" and two players can fight each other via Internet.
The networking model is "lockstep" by trying to sync user controller status for each frame.
When a game starts, the basic sequences are:
- Random matching
- Game Start
- Player A sends out a message to B every 30ms, and vice versa.
The question is, in step 2, "Game Start", these two players must start at the same time "physically".
I am thinking to negotiate a timestamp (based on UTC) for two players to start the game right upon it. However, I am suspecting the timestamp might be device dependent. Maybe it's possible for a device to report a timestamp that is 10 seconds or 100 seconds behind the other player.
Therefore, I am wondering what's the best solution for this kind of situation when implementing a networking game like this (no server involved)?