In this work we construct a prototype design of a real-time multiplayer game with distributed state. The goal of the project two fold, handle node failure gracefully without gameplay suspension and protect against malicious/cheating clients.
Real-time multiplayer games are complex systems that often have a single point of failure and are not scalable. In this work a prototype design is created to handle node failure during game simulation. The client server paradigm is modified to construct a distributed server at each node. Propagation of gamestate is performed across nodes keeping each node up to date. Node failure is handled gracefully without noticeable suspension of gameplay. Using distributed state across nodes also shows promise in the area of scaleability.
This video demonstrates some of the example results.