So, you’ve decided to make a mobile multiplayer game, but can’t decide on a proper solution to power up your next masterpiece. Don’t worry, you are not alone. It’s an important decision, so it’s normal to get a little confused, especially knowing that there are so many names to choose from. Sure, the best thing is probably to build your own back-end solution for multiplayer, but it’s a hard and lengthy process, and sometimes ready-made solutions let you avoid bitter mistakes. Remember, multiplayers are trickier than crafting single-player games, so we suggest looking around the shelves for a suitable option. There are good building tools on the market that offer different prices and features. Let’s check out some of the more popular back-end solutions for your multiplayer games.
1. Game Sparks
Server interaction is easy: you send a message to the server, a corresponding script gets triggered, reads the information, makes changes, and returns with results. Also, the script can send a message to any other user. Everything seems smooth and simple. And it works perfectly with other engines like Unity3D.
Complex matchmaking is another awesome feature, with the ability to customize or use in-built matchmaking. For real-time multiplayers, you can create separate rooms that constantly rotate on the server side, and the server will always know who is online or not. It’s also always possible to see who left the game. If you lose connection, each request will be cached, and upon re-connection the client with send the requests out to synchronize itself. GameSparks is a good option for those short on cash because you don’t have to pay anything if the MAU (Monthly Active User) does not exceed 100,000 users. On the other hand, GameSparks promised not to charge indie developers, but in some cases that wasn’t true.
PlayFab is a platform-as-a-service built specifically for live games, with player accounts, virtual goods and real-money e-commerce, analytics, leaderboards, in-game messaging, and more. The SDKs offer easy integration with Unity, Unreal, Xamarin, and Cocos. Our game-developing practice shows that it is a user-friendly service that has good storage implementation of user data, inventory, and characters; stores cloud data, and leaderboards, can connect various services and has a good system for creating store and domestic currencies. PlayFab also has a system of triggers and events to automate operations on the back-end part, but there are some strong restrictions on the number of used API commands for a certain period. It’s also important to stress that the implementation of clans and guilds is rather poor, but could be good for shops.
Photon has been around for a while, that’s why it’s often deemed as the most reliable. It’s the most popular networking solution for good reason. It’s super accessible and provides an out-of-the-box multiplayer game that’s incredibly easy to set up. There’s in-built load balancing on the Cloud for the efficiency of room instances. Photon is relatively easy to set up and the team is very helpful to you for your first stages of development.
Even though Photon is a convenient tool, it also has some drawbacks. Some developers have expressed the opinion that its binary protocol is quite inefficient compared to solutions like DarkRift. Of course, this provides developers with easy reliable RPC’s, but at the cost of lag and high bandwidth. Photon Cloud servers don’t allow custom server logic. Sometimes this is not practical for making games. The only way to run custom logic is to modify the server SDK and host the servers yourself. Pricing could also be a problem. Developers have to pay $3500 to have over 500CCU which many successful games need.
Firebase is another interesting option made by Google that offers matchmaking services, kind of similar to what Photon does. The Firebase Realtime Database lets you build applications by allowing secure access to the database directly from client-side code. Data is persisted locally, and real-time events continue to fire even while offline. When the device regains a connection, the real-time database synchronizes the local data changes with the remote updates that occurred while the client was offline, merging any conflicts automatically. When something changes in the database, the response on the device side is triggered immediately.
Some experts did notice some drawbacks. For example, they say that the solution works slowly if the database model consists of a large number of nested objects. It’s also noted that Firebase does not filter data very well, which means that you can make a query based on only one condition. Another problem could be that Firebase doesn’t have any roles. All authenticated accounts will be determined only by email, password, and universal identifier. However, it is possible to assign roles using a database.
5. App Engine
Google App Engine presents a highly scalable and reliable gaming implementation on the Google Cloud Platform that uses Google App Engine and Google Compute Engine for real-time player interactions. The solution powers core game elements such as game matchmaking and player customization by using Google App Engine, while also using Compute Engine to run dedicated game servers and common game engines. This platform is obviously worth attention because it supports cloud saving and analytics.
The plug-in (for Unity) includes user authorization in Google+, the ability to use achievements and rankings for players, Google Cloud for data storage, and multiplayer organization in both real-time and step-by-step mode. In the plug-in there are 4 modes of multiplayer operation: creating a room with random players (fast game), creating a room with an invitation screen (allows you to invite friends from Google+ circles), reviewing invitations (lets you see which friends are on Google+ want to invite you to the game) and invitations by ID.
There are also some drawbacks. When the game is minimized, the player disconnects from the room, and for some applications, this could be a problem. In addition, this engine is one of the priciest on the market.
Read also about multiplayer games for Android
What to choose?
Your choice completely depends on what you’re trying to achieve. Carefully think of the project and make sure that your chosen solution meets your game expectations, so you don’t end up wasting money and time on a different engine. Not every solution is universal. For example, Playfab would not be the best choice if you’re developing multiplayer games with clan systems, where players need to chat and interact with each other, but it’s a very suitable option for building a solid inventory and shop. Melior Games has spent lots of time meticulously tailoring every solution, and we urge you to do the same thing. You might get frustrated while considering the best service for your needs but carefully chosen ready-made back-end solutions could be both cheaper and more reliable.