I’m looking at doing a multiplayer project using SpatialOS and using the Unreal Engine (4.17) but there are a few points where I have some concerns. These are all things that I think are necessary to know before using SpatialOS, simply because it seems that this is a system that once you’ve developed the game, you’re pretty much locked in. The effort to redevelop everything associated with this is fairly high.
Note, that’s not a criticism. It’s the same with engine choice and many other things. But it does make having as much info available before starting work, crucial.
First is price. I’ve read a couple of posts that request pricing but so far there’s been nothing concrete, just that details would be released in February (the post was in Jan.) Has there been any movement on this? Can you share what the per hour cost of a worker is?
The persistence model bothers me a little. I’m concerned that snapshots are not sufficient for an online game. If something happens: The servers crash, or the data center goes down, or something else unforeseen occurs, then players can lose progress made since the last snapshot.
The thing is, that is a nightmare scenario. A player doesn’t care that someone tripped over a power cord, or that a tornado wiped out a data center. They care that the last four hours of progress are lost, and they’ll blame the developer for it, not the platform or infrastructure providers.
There is definitely a requirement for continuous persistence, even if it is storing the contents of the memory db objects every few minutes. If this can’t happen, there needs to be a robust solution for storing persistent objects to an external db of some sort. How feasible is it to connect to say an AWS database to do this?
I chose UE4 because it is open source and if I need to (unlikely but possible) I can make changes to the engine source. Or, I can add plugins to extend the engine functionality. Can I incorporate these changes in the backend onto the SpatialOS workers?
The discussions on huge world sizes that I’ve seen so far have related mostly to space games. Can we have huge continuous landbased worlds? Or do they need to be zoned? (This isn’t such a big deal, UE4 itself has some limitations on map size, I wonder if this is overcome in SpatialOS?)
Are there any data that shows the relationships between the number of users that can be supported and the number of workers required? How many users can be in a single location before things get chunky?
Are there any case studies with hard data available?
If anyone from Improbable can answer these questions, I’d be most grateful. I reckon SpatialOS would be a great benefit to my project, especially in saving development time. But I don’t want to sink time into something that I’d later need to redevelop. This is my due diligence. Hope you understand.
Another thing I just thought of. Is it possible to connect to external services?
For example, if I developed an AI storyteller service that generated missions based on player attributes and past behaviour, and that ran on an external server, would it be difficult to integrate that into a SpatialOS game?