We’ve had a bunch of feedback from early explorers of SpatialOS about local development. This version addresses a number of concerns by bringing a new workflow and application structure. We hope that with these changes you can focus on building awesome games without the workflow getting in your way!
A new way to define the scale of your deployments
You will now deploy against small, medium, and large deployment templates. These have been sized to allow you to run different kinds of playtests. If you need something custom, get in contact with us and we will help you out.
A new way to define the beginning of your world
We have created C++ and C# APIs that allow you to define the starting point of your world by generating a snapshot. From this, SpatialOS will take over to spin up workers and simulate your world.
A new way to define and configure workers
With SpatialOS 9, a worker’s definitions and configuration such as: how to build it, what components it’s interested in, and how to launch it, are defined in a single JSON file. This replaces the old design where such information would be scattered across the project, with the bulk of it being defined in the GSim or shipped with SpatialOS, which made it hard to customise.
A new way to define how SpatialOS will launch
We call this a launch configuration, and it works for both local and cloud deployments. Some of the advantages:
- No need to specify nodes or GSim configurations
- Allows specifying load balancing as structured JSON, per worker
- Configure your world size via a simple structured JSON block
- Configure snapshot write frequency without using magic flags