A proof of concept for how to use Rust and Godot to implement a real time strategy game using a deterministic lock-step simulation.
The game is a simple distillation of RTS games: you can create circles and move them with typical RTS commands.
- cm-sim is a standalone implementation of all game logic
- godot is the Godot project
- imports godot-rust-client via gdextension
- godot-rust-client
- imports cm-sim as a library
- cm-server is a rust application that synchronizes player input
- imports cm-sim as a library
In this way the game client and the running the exact same logic.
- Actors With Tokio
- 1500 Archers on a 28.8: Network Programming in Age of Empires and Beyond
- James Anhalt & Tim Morten Interview: SnowPlay Technology & Stormgate
- The Revolution of StarCraft Network Traffic
- Don’t use Lockstep in RTS games
- RTS Client-Server Networking
- Synchronous RTS Engines and a Tale of Desyncs