I’m working on a simple asynchronous, turn based multiplayer game in the style of Words with Friends. Players take turns whenever they like and are notified when the other player has taken a turn.
I realize multiplayer is a complex topic and I’ve been trying to research various backend services that could help. Specifically I’ve been looking into Amazon Web Services, Braincloud, and Gamesparks. I’m having a hard time deciding between them, can anyone help me figure out exactly what parameters I need to be looking at?
The parameters are going to depend on the features you want your game to have, so that makes it hard to say. You are going to need some of the following:
Sign in - user accounts (via device ID even, or native libs)
Notifications
Persistance
Those are the big 3 I can think of off the top of my head.
Additionally, more “bare bones” services are, obviously, going to require more time and effort to get off the ground, as you will need more of that boilerplate functionality.
You could do this with Unity networking, as far as I know, but you’d need to do some heavy lifting. For asynchronous games that need persistent “rooms” with data, you may want to look at Photon Networking (probably their PUN product) as this may save you some work.
I am also looking at Photon but I’m having a hard time understanding the differences between their services. What is the PUN product exactly and how is it different from Photon Realtime?
I’ll definitely look more into Gamesparks as well.
I would ask on their forums, but as far as I know, Photon Realtime is wrapped in a Unity API as PUN… and it uses the Photon Cloud by default… but I too am somewhat inferring here.
I am sure that they can answer that on their forums. They also maintain a thread here on the Unity forums: https://discussions.unity.com/t/453757
… so you could ask there as well, I suppose?