Please help me with advice for networking support of my game

I am now reaching the point where my game needs multiplayer capabilities, and I am very lost on this topic even after doing research for many days. I am in 4th year of University for Software Engineering and been working on this project for a while now. From research I have done I think I need asynchronous server, and I don’t need Photon and most the multiplayer services here as they are for realtime games. I only need to keep the user connected, confirm their data and update their data to database every once in a while and do some simple matchmaking against other people data ( NO real time battles between 2 people, only ever one person that is connected with everyone else ).

Game and platform: iOS and android turn based battle game

What I need for my game is below.

Authentication:

When the user starts the game they need to login to a database.
When they advance their character like want to do a “equipment upgrade” it should send request to database.
When they are in the game and want to do any battle it should request to enter ( confirm with database ), and only report back when they lose or win. The client handles the logic of the battle so it is not really using multiplayer as it only cares when they enter or if they win/lose and update this data.

Should also disconnect from game when user lost connection and be able to detect this.

Matchmaking:
Show other people that authenticated themselves to battle other people near their level and allow the user to battle them (but it is done through client with AI that takes over the other people and doesn’t actually battle the real person which is described above as it uses client logic of the battle )
There is no real connection done to other people as they do not battle other people.

Analytics:
Need a plugin that supports this.

Chat:
Always allow any person that logged in to talk in the chat (multiple channels) that user can change and talk at any time.

Push notifications:
Send notifications to user phone when something important happened in the game like every mobile game does when user is not playing.

Friends:
Be able to have a friend list and show if they are offline or online in the game.

Save Game:
Should save the game whenever any authentication is done as I described above.

Misc:
Be able to support a potential million people or above, I don’t ever expect this number but I want to prove myself to jobs that I can do a game that support more than 20 people lol and I want to start pushing myself further.

I have little money and cant afford to pay monthly amounts for low amount of users, I also refuse to pay absurd amounts of money if I accidentally or by luck get a lot of users in the 500k-1mil+ range. I am of course willing to pay a reasonable and fair price.

I cannot host my own servers like Forge is requesting as this is not possible for my current situation, so the multiplayer solution needs to host their own servers ( even though this perfectly satisfies money issues and everything above, their hosting problem is a big problem ).

If anyone could help me on Skype that would be great thanks as I have a few questions, just let me know if you are interested in that too.

What would be the proper multiplayer solution for my game? I am very aware of the basic stuff like UNET, Photon, Forge, etc. So any support and or help with putting me in a better direction would be great, thanks!

Hi

Hi Azmar,

I’m part of the customer success team at www.gamesparks.com . We are a Backend-as-a-Service provider, equipping developers with all the tools needed to build, tune and manage the server-side components of their projects. We currently have over 72 million players on average each month, and large enterprises, game studios and publishing companies such as Starbucks, Bandai Namco, Square Enix, Ubisoft and many more are utilizing our versatile and powerful platform.

The GameSparks platform was designed with all of your above questions in mind, built in a highly scalable and robust manner so to easily deal with all of these requests and many more.

Here is a rundown of our platforms features:

Core:
· Cloud Code Editor: (Add Logic, build your own API)
· Cloud Data: (Define MetaData/Runtime Data Structures)
· Binary Asset Manager: (Manage DLC, No more waiting for platform holders to approve your content)
· Push Notifications: (Setup all notifications from one centralized backend, localize global campaigns )

Social:

· Real time and Turn based multiplayer: (Reduced latency, highly scalable)
· Chat: (Cross-platform chat, p2p and group)
· Leaderboards: (Rank any aspect of player performance, highly scalable)
· Social Network Integration: (Pull Data from Facebook, Twitter, Google+ and others)

Economies:

· Currencies: (Up to 6 currencies. Manage rewards to increase retention)
· Virtual Goods: (Create and manage in-game store without need for client updates)
· Rewards and Achievements: (Easily manage both, a great way to drive engagement)
· Optimisation & Management:
· Analytics: (Completely customizable, build reports for almost any conceivable event)
· Segmentation: (Group players with Segments for analysis. Optimise monetisation by age, location, anything you want)
· Experiments: (Make drastic changes to game mechanics and only expose who you wish to those changes.)
· Player Management: (View player history and summaries of activity. Edit player records, reward top players or remove unwanted players)
· Dynamic Form Builder: (Custom forms for Community Managers and Game Operators to get the most out of GameSparks)

You can register for a free evaluation account here: https://portal.gamesparks.net/register.htm
Should you have any questions, one of our dedicated support team is always on hand and can arrange a skype call to delve a little further into each feature we have to offer and how this can impact your project.
Hope to hear from you soon,
-Patrick.