1. What is SpatialOS?
SpatialOS is a networking engine optimized for multiplayer games that require high player counts.
But while it runs your game and manages the infrastructure for you, SpatialOS also enables something more than that. It runs games in a way that lets them scale further, be more complex, and have rich interactive gameplay.
The traditional ways to develop multiplayer games mean that you’re either limited by the capacity of a single game server, or you have to shard your game world.
Image: The traditional client-server model
SpatialOS works differently: it brings together many servers so they’re working as one. But it does this in a way that makes a single game world which looks seamless to players.
Image: A SpatialOS deployment
You can use SpatialOS for any real-time online multiplayer game, not just MMOs. Improbable often references MMOs to describe the scalability of SpatialOS, but you can build any sort of game to make use of SpatialOS networking, including action, RPG, and strategy games.
The GDK for Unreal is an Unreal Engine fork and plugin which provides SpatialOS networking as a substitute for Unreal’s native networking. The GDK maintains Unreal’s networking API, which means you don’t need to rewrite your game to make it work with the GDK.
You can use multiple servers to compute your game world because the GDK enables Unreal Engine clients and servers to interact with the SpatialOS Runtime to synchronize state.