Sculpture Project (Scalable multiplayer platform)

A view into the test scene, where each color represents a connection from instances running in different GCP regions.

As a project that I might want to use myself for any sort of massively multiplayer game I would want to make, I composed an architecture for a multiplayer platform that is cheap to run and can scale out seamlessly to handle as many players as you can throw at it. With client-facing websocket nodes written in Rust that can seemlessly scale on GCP, and a backend made from sharded Redis cluster instances, there are no performance troubles with many connections from around the world. With optimizations for shifting origins on the client-side and using octal trees to manage positions on a greater scale, the potential play area can be as large as you could ever want it (universe-scale). With many more optimizations relating to tracking velocity and further time derivatives, this has been a fun project to tinker with in the off-hours. The entire project is run with docker containers, from the dev environment to production.

Leave a Comment