Advice for using online and backend services?

I was wondering if anyone could lend me some advice for using backend services for a multiplayer game (an FPS) that needs dedicated servers. I’m familiar with multiplayer programming but I’m pretty lost when it comes to backend things like server-hosting, cross-progression, etc.

I’ve run into a lot of different options and they’re all quite overwhelming: AWS GameLift, AWS GameSparks, AWS EC2, Epic Online Services, Pragma.gg, Lootlocker, Steam’s various APIs, PSN, Xbox Live, etc.

My biggest concern is that I don’t know what kind of services each provides, and if I’ll need to use more than one, use multiple for different things, or if it depends on how I distribute my game. Would I have to use different services if I put my game on Steam or Epic, or if I wanted to distribute it on consoles?

I’ve published single-player games on Steam before but I’ve never published a multiplayer game, and I’ve never published to other distributors either. I’d really appreciate any advice or explanations anyone has!

AWS Gamelift is a good start for server Hosting and Epic Online Services (EOS) is supported on all major platforms.

AWS GameSparks, LootLocker and Pragma are other alternatives to EOS.

AWS EC2 is pure server hosting without any server manager or matchmaking features.

Steam, PSN, Xbox Live etc. are all storefront specific with there own account and friend systems that you probably need to support in addition to a shared matchmaker and account system provided by either of the game services.

If you use EOS in Unreal Engine 5 it lets you sign into EOS using different platforms like Steam, Epic Games Store, PSN, Xbox etc. so most of your implementation could be done through EOS.

Important to note that if you want to sell a multiplayer game on multiple stores it is most likely a requirement to offer cross-play features at least on PC.

2 Likes