There are some interesting notes about how the multiplayer was originally implemented:[0]<p>"<i>Once the game is running, everything is peer-to-peer. The only information the peers send each other is the local players' input data, which is encoded as a 32-bit value (where various bits indicate whether the player is running or walking, which direction, whether the fire button was pressed, etc.). No position, velocity or accelleration data is transmitted. NOTHING else is transmitted.</i>"<p>In order for this to work, they had to make sure all memory was initialized to the same values, so that each client had the same known starting state. They also had to use the same PRNG, initialized to the same state, so that a known, deterministic pattern would be produced. But eventually they ran into a problem that couldn't be solved in software: The FPU of different CPUs would not return the same results for the same inputs:<p>"<i>However, dispite our best efforts, there was still a serious flaw lurking behind the scenes that eventually caused serious problems that we couldn't work around. It seems that different Floating Point Units return slightly different results given the same values. This was first seen when pitting PC and Mac versions of the game against each other in multiplayer mode. Every once in a while, the two versions would go out of sync with one another. It was eventually tracked down to slightly different floating point results that accumulated over time until eventually they resulted in two different courses of action on each client. For instance, on the PC a character might get hit by a bullet, while on the Mac the same character would be just 1 pixel out of the way and the bullet would miss. Once something like that happens, the two clients would be hopelessly out-of-sync.</i>"<p>0. <a href="https://bitbucket.org/gopostal/postal-1-open-source/src/default/Postal%20Overview.txt" rel="nofollow">https://bitbucket.org/gopostal/postal-1-open-source/src/defa...</a>