So, long story short — I am working on an online multiplayer RPG game on Unreal Engine 5, and I chose Google’s Firebase for the server solution instead of the traditional Unreal headless server. But why?
Well, before diving deeper into the why, I need to establish context:
- It’s not a Massive Multiplayer Online RPG, so there won’t be thousands of players connected 24/7 to the game server bumping into each other on every map. There will be social maps though, like hubs where players can interact with each other.
- It is a Tactical Turn-based RPG, so response time isn’t as time-sensitive as real-time games and doesn’t need to be within single or double millisecond digits.
- It will, however, feature multiplayer battles with dozens of players connected at the same time (more on this later, because if you know Turn-Based, you might be thinking “Is he nuts? Players would wait for ages before it's their turn!”, but I have a hypothesis on how to solve this — keep an eye out for the results).
- AI will play a big factor here. Players will have the ability to have their characters auto battling for them (and some content will only allow this), but since there is a huge customization factor (characters can be fully customized in terms of attributes, classes, abilities &skill trees, weapons, all that), so I can’t deliver a frustrating experience.
- It is a live service Free-to-play game, which means constant updates, patches, and all that jazz.
Now with all that in mind, I started crafting my shopping list: