Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Winner winner chicken dinner. We only sent controller input over the wire for network play.


This has it advantages and disadvantages. One its great and requires less bandwidth, but also means that any floating calculation rounding issue can throw different machines out of sync from each other.


It was definitely a real pain to ensure the whole stack was deterministic. Since we only targeted ps3 and xbox360 it was easier to ensure determinism. All in all, I wouldn’t recommend it.


Yeah, unless you have a entity count that exceeds your available bandwidth you're usually better off with a dead-reckoning system.

That also has the advantage of being able to "fake" events with effects until the server can resolve them meaning a latent connection can 'feel' faster.

Kudos to you for shipping a lockstep solution, we could never flush out the determinism bugs on our titles so we always just used dead-reckoning unless it was some dumb turn based game.


Isn't floating point rounding behaviour also deterministic?


Depends on the mode the FPU is put into, fast or precise. If you want to have some fun, start a multiplayer game of AOE and switch the FPU mode from fast to precise. Doesn't take long to get out of sync, even for a basic game.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: