Timmersdala
Description
Timmersdala is a game made by the R&D team in GX.games designed to validate and stress test the in-progress multiplayer system we are building for GameMaker.
We chose to create a physics-based multiplayer game, because physics simulations are notoriously difficult in rollback systems. The project was built using Raylib and C++, and we used the PlayRho physics engine (a port of Box2D) to ensure deterministic physics across clients.
The name “Timmersdala” is a Swedish place name that directly translates to “Timber Valley”, which felt fitting for a quirky game featuring chainsaw characters racing up and down logs.
Timmersdala forced us to push the boundaries of our multiplayer system, ensuring it could handle complex scenarios like physics-based collisions without causing desynchronization (when players’ game states no longer match). We used the Cista++ serialization library to manage the game state, allowing us to easily convert the game state – together with a snapshot of the physics world – to a byte array that could be sent across the network for players late joining the game.
To read more about the journey for how this game was created checkout this blog post over at GameMaker blogs