The developer behind Teardown shares the full story of implementing multiplayer in a game with a completely destructible, physics-driven voxel world. The post covers the core technical challenges: achieving deterministic destruction using fixed-point integer math and a command stream, combining reliable and unreliable network channels, handling scripting and modding compatibility, synchronizing in-game terminals via delta-compressed draw commands, a painful multi-month codebase merge, backwards API compatibility, and a late-join solution based on replaying the deterministic command log. The author reflects that the result is not elegant but represents enormous engineering effort, and hints at a cleaner approach being explored in a new engine.
Table of contents
A semi-deterministic approachReliable and unreliableScriptingTerminal and UIThe big mergeBackwards compatibilityJoin in progressDevelopment toolsConclusionSort: