Jump to content
  • Advertisement

What's the best approach to create a networked multiplayer cross-platform 2D mobile game?

Recommended Posts

I'd like to create a networked multiplayer 2D mobile game that will work on iOS and Android. Given the wide (and confusing) array of technologies available today, and also the fact that I'm relatively new to multiplayer programming, I'd like some advice on the best approach for this. Here are the requirements:

  • App should load and perform fast and have a near-native feel on both platforms
  • Players should be able to make payment to the app and set odds to compete with each other and win/lose accordingly. Also they can fund the game wallet with money, and vice versa (send money out)
  • Gameplay is multiplayer, turn-based and geolocalised such that people can compete in different regions
  • Low latency on the network and very fast and fluid performance
  • Central database for storing and managing player details and finances
  • Cross-platform deployment (one code deploy to all)
  • Simple and straightforward turn-based gameplay with simple controls and fast responsive behaviour

I'd really appreciate some help with this from experienced devs. I'd like to know what you think is the best approach (technology-wise) to achieving this, from backend, to frontend, to storage, to scalability, to performance and to game engine/library/language choice.

Thank you.

Share this post

Link to post
Share on other sites

I'd recommend using something like unity to do this. It comes with support for a wide range of platforms out of the box and generally performs quite well. As i understand it, you may need to purchase some extra functionality depending on how you want to handle networking, and you may need a subscription e.g. to quantum or photon, or you might be able to roll your own with a web based backend and a database, it depends on how confident you are.

Don't under estimate the costs and time taken to maintain such a project after it's launched. Game updates, upgrades to the systems, security, customer support and billing can take up a huge amount of time on a project like this, and if you're going into it alone, you may be in for a bit of a shock. I have previously made a couple of web based games and these alone were a nightmare to manage.

You also have to be aware of various other laws and conditions on your ability to do this, i assume you'll want to use a mobile store for payments etc, this is probably the best way to do it, you should probably speak to an accountant about properly creating a business entity such as a limited company or LLC, and make sure all your tax etc is above board and that everything is done right.

I'd recommend building a small team of trusted game developers you know well, i'd estimate that with the correct level of experience a team of perhaps 3 or 4 people may be able to do this, if  you contract out your art and sound, keep the assets to a bare minimum and re-use as much as possible, as often as possible. Everyone on board should be aware this will be a long term project not just in terms of the initial development, but in terms of the ongoing work afterwards.

Most importantly, do you already have gameplay and mechanics down? If not, think about documenting it all in a simple game design document - don't go overboard, five pages at the very most. Some of the biggest and most successful AAA games of the past few generations had game design documents which were extremely short, as these documents are subject to change on a whim.

After all that, good luck! You'll need it, but it will be worth it!

Share this post

Link to post
Share on other sites

Thank you so much for the detailed response. You just gave me what I needed, some direction and morale boost. I have some experience with Unity in the past, so I'll start from there and try to get a basic prototype working first, while I search for other devs around here to join me on the project.

Expect to see updates on my progress here on gamedev.

Thanks once again, I really appreciate.

Share this post

Link to post
Share on other sites

Hi Daniel,

For the networking of your multiplayer game, you have a lot of options. 

If you want fully managed cloud backend services, you can use Photon, SocketWeaver. 

You will also need a service to manage your player profiles. The options are Firebase, GameSpack, and Playfab. I think firebase is easy to get started.

I am a developer at SocketWeaver cloud. We just launched our services recently. Every SocketWeaver developer account gets 20GB of free data a month, If you are developing a 2D turn-based game, 20GB might be all you need. By the way, we are grandfathering early adopters. Grandfathered accounts get 100GB free data every month. If you would like to try out our service, you can shoot me an email at peterz@socketweaver.com. I will ask the team to grandfather your account.



SocketWeaver offers:

1. Lobby clusters in North America, Europe, and Asia.

2. Game servers on a global scale.

3. A Unity SDK that tightly integrated into the Unity Editor.

4. NO CCU limit, we charge a flat fee of $0.04USD/GB of outgoing data transferred. Incoming traffic is free.

5. Developer portal to help monitor and manage your games.


Share this post

Link to post
Share on other sites

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!