I am looking for advice about backends for PotatoJam’s games.
What exactly I am looking for:
- A customizable solution for game backends.
- It should support many games out of the box because I have many small games, so I would like to avoid creation and maintenance of a separate server for each one.
- I need authorization (initial initialization by generated ID and then authorization using popular services based on OAuth).
- The ability to create leaderboards and tournaments (leagues).
- Save progress of the user.
- Some shared storage for configs or replays (for asynchronous multiplayer).
- I don’t need real-time multiplayer.
I’ve already checked a couple of services:
Playfab
We currently use this service. It’s pretty easy to use, but it doesn’t have all the functionality I need, e.g., leagues. Also, considering the nature of web games where a lot of people play your game, but LTV is very low, it’s hard to scale on such services when you pay for everything you add. We use just leaderboards for now and don’t want to use more functionality because we don’t want to be stuck with this service and a constantly growing paycheck. This kind of solution usually requires a much higher LTV to start making sense.
Nakama
It looks exactly like what I need and even more, but I didn’t find a way to manage a few games on one server.
Do you know any alternatives?
I thought maybe I should run a few instances of Nakama on the same server (one for the server and another for the DB) until I need to scale one of the games. But for now, I need it for 10-12 games, which feels like too much for one server. Maybe some other way to split games in one instance exist?
Another option would be writing our own solution using Node.js or something similar, using ready-to-use building blocks, but I would like to know what options exist before I go this way.