4 ms·
I don't think it's that simple. Imagine the game sends a message over the wire and presumes it can get an stateful ack calculated by code running on the other
by esrauch 5y ago
I don't think it's that simple.
Imagine the game sends a message over the wire and presumes it can get an stateful ack calculated by code running on the other side before it takes any other action, and then does that multiple times per frame. Also, the code might not even block while waiting arbitrarily long, it might just run ahead and desync/bug out if the reply doesn't come back in a couple ms.
What do you expect the emulator to do when the network latency is more than 25ms long? The emulator can't trivially simulate 0.1ms latency instead. It can maybe try to hook in and pause the emulation while it's waiting for the reply, but it would grind down the game to a crawl.
- AnIdiotOnTheNet 5y agoActually, while not trivial, it is possible to simulate lower latencies than actually exist in reality. What the emulator does is keep a buffer of previous states for some arbitrary length of time (say, 10 frames) then, upon receiving the data, it can roll back the state to when it was supposed to have received it, add the data to the state, and run it forward to catch back up to where it was. This is a technique used by some fighting games that have internet play, and is also used in emulators to deal with input latency on modern TVs.
- hatsunearu 5y agoIf you wanted to do this, you'd need complete control over the emulation game state transitions which is much more difficult than just making whatever you call the OP's post (a proxy? I don't know)