So the decision has been made to take Shallow Space more along a multiplayer direction. Single player games revolve around complex story-telling mechanics and feature a personalised gameplay experience, the amount of work required for this is easy to underestimate.
So what's wrong with single player?
It is just way too expensive for us to produce an RTS like that with the resources we have available; trust us, we've tried. We briefly outlined this in our last plan post - the aim is to take what we have and come back with a game client ASAP.
Story is text or voice that needs to be written and translated into many different languages. The single-player gameplay experience relies on balancing the game with said story and working up campaigns around that. On top of all that, we would still be expected to somehow squeeze multiplayer into that - two very different sets of requirements.
It's incredibly complex to get right and we have zero experience with making single-player games, so we're likely to fail at it - we've burned out once already trying. That's not to say multiplayer games are easy to make (and they don't have story,) but we have far more experience developing backends than we do with the sorts of richer frontends required for a single-player game.
Also multiplayer games get talked about more, so they live longer, which means we're likely to develop something we can continue to work on post-release.
With multiplayer games, all of a sudden there is an interest in comparing stats, so wiki sites spring up, custom database integrations, all these things contribute to a games presence.
With a single-player game, it also has to be very heavily marketed because players are less likely to talk about their individual experiences. We're not here to start a computer games company, we're here to work on one game and one game only.
We studied how publishers market their games, we simply can't afford to setup the sort of marketing machinery required for just one single player game. Brexit happened, so publishers probably won't touch us now, it's just you and us.
But I don't really like viper-pit multiplayer games?
Hearing you there.
You'll be able to lock sectors that you inhabit and eventually start your own play instance on our servers, we'll even release the server stack when it's stable so you can self-host.
The game will feature AI players also.
This isn't an MMO, there will be limited chat features (we'll use Discord for that) - other players are basically going to look like allied or enemy AI ships. Players will be herded towards objectives using quests, so the whole thing will feel a lot like a single player game with clever AI.
But aren't multiplayer games expensive to host?
True. But we have tools such as Docker and Kubernetes that will help us create a scalable platform. We've broken the app into small parts called 'micro-services' that can easily be pulled out and re-architected to make more efficient if needs be.
The whole thing is elastic, so if no-one is playing, the infrastructure will roll up and cost nothing. But if half the world turns up it'll start claiming resources and building itself up.
Eventually, self-hosted boxes will join the Shallow Space fold meaning that in the (very) unlikely event we turn off the main servers, you can still join other hosted boxes or start your own.
Interesting, so how will you make it work?
We're developing a set of APIs (Application Programming Interface) which consists of a couple of REST endpoints, these are basically websites that serve data rather than pages.
Normally it would be considered a dumb idea to share implementation details like we did in the screenshot above, but that's the game API and won't be publicly accessible.
A separate public API will handle connections from the game clients and external websites that might provide leaderboard services or ship stats.
But how will you make it work well?
That's what the above screenshot is all about.
We'll use tools like Grafana and Prometheus to monitor API calls and establish nominal service levels. With that cross section of visibility it becomes easy to work out the slow parts, give them some attention and ensure we have a buttery smooth experience.
This is important, because we want to be able to accommodate for both lonesome intrepid encounters on the outskirts and huge fleet battles in the core.
This is a much more realistic goal for a small team to aim for.
With the skills we have onboard right now and the limited resources we have to market and create content, multiplayer first is simply a better fit for us.
Right that's enough chat for now, better get back to it.