Improbable Icon

Can SpatialOS handle session based gamemodes?



Hey everyone,

we are developing a little mmo-like multiplayer rpg with big battlegrounds as well as small scale battles.
Currently we are using Gamelift for this, but we thought about switching to SpatialOS to increase performance.
Have aim to have 80+ players on the server and dividing the payload over multiple servers seems like a good idea.

As far as i understand SpatialOS, it is designed for semi open world games. How well does SpatialOS handle session based gamemodes with few players (5vs5, 10vs10, 5 player dungeons etc.) where a single server is enough to handle the gamelogic and player counts? Can we define custom matchmaking for these servers?

How does the scaling for the underlying server achitecture work? For example in open areas players tend to spread out, whereas in narrow areas with bottlenecks more players are in the same spot and need more computing power. Can I scale the borders of the server workers in any way with player volume?

Another question is about the pricing model. Is there anyway to get a more specific answer about the pricing for the used bandwith?

Additionally: When do you think SpatialOS with Unreal will be production ready?

Thanks in advance

Cheers Tayk


Hello @Tayk,

First of all sorry for the delayed reply. I took me some time to get back to your questions and was out of the office as well for a day or two.

Great to hear about your team’s plans for an MMORPG. Without any further specifics about the technicalities it is hard to give a clear answer but my normal guess would be that 80+ players on a single server is more than easily within the reach of SpatialOS.

Just consider that Mavericks is aiming for a 1000 person BR experience on our platform. This should also actually answer your question about SpatialOS’s suitability for session-based gameplay as BR falls into that category as well.

You will be able to implement your own matchmaking service and let it coordinate and control your various deployments via our Platform SDKs of which the first pieces were made available last week. Your matchmaking service can then also interface with your authentication service so that players connect to the right deployments once they are ready.

As for your scaling question: SpatialOS automatically takes care of the things that you are suggesting. Load-balancing automatically reconfigures the boundaries of authority of your various servers (or workers as we would call them) to adapt to the varying player density. This will even out the load between the various workers, and if the overall load increases it can even start additional workers to cope with this (and spin them down once they are no longer needed).

With regards to the pricing model the base assumption is that the bandwidth part will be a small part of your costs relative to things like worker usage and operations. This is however no guarantee as the model makes costs dependent on your actual game mechanics and requirements: we do not want you to pay for things you don’t use.

Last but not least we have a public roadmap for our Unreal GDK which you can find here. I hope this gives you a little bit more insights into what and when we want to deliver.

Don’t hesitate if you have any further questions and you can also join our Discord server for some real-time chat with other developers as well as myself and other Improbable staff.

Kind regards,