5 ms·
Similarly, Factorio's architecture transmits (almost; notable experience is rail planner) just input events, relying on a lock-step simulation core.
by namibj 2y ago
Similarly, Factorio's architecture transmits (almost; notable experience is rail planner) just input events, relying on a lock-step simulation core.
- robertlagrant 2y agoI would love to work on a lock-step thing like that one day. Seems such a satisfying (and testable) design constraint to work with.
- raxxorraxor 2y agoTheir friday facts are very worth reading, not just for people that play computer games, it is interesting for any developer. If I remember correctly they had issues with parts behaving slightly differently on different platforms, which then lead to sync issues in multiplayer. I have no experience here, but I guess the difficulty of such a strategy comes from ordering "events" in a game loop.
- chainingsolid 2y agoMore than just ordering! Most floating point logic in compilers cares about speed, precision, then reproducibility (optimization can/will cause debug vs release builds to give different results)... Then you have to control inputs to the sim, you didn't think of (memory allocator, network timing behavior, random number gen)