Multiplayer Game Development

As I started Miso Studio a few years ago, my vision was to create fun multiplayer games.
Since then, company’s direction had been shifting from that to hyper casual games, procedure generated games, action games, and others, in order to find a genre that works for my team to survive.
None of it worked so eventually I closed down the company.
Learned many things for sure.
And I asked myself why I want to start a game company at the first place, I realized what I want is to create something that involves multiplayer gameplay functionalities.
Such a term is too board to focus, so let’s break it down into categories:

  1. Fast Pace: Like FPS, MOBA, Fighting Games
  2. Massively Multiplayer Online Dungeon: Like MMO
  3. Real time turn based: Like chess, card, table, and strategy games
  4. Asynchronous multiplayer: LIke some word guessing game that players doesn’t need to be online at the same time

Couple options for network engine:

For the network engine, though I had wrote some network engines before, using existing ones suit my purpose:

  1. Photon Pun2: Good for real time that network lag is not a major concern
  2. Quantum: Specially designed for MOBA based on its own ECS system
  3. DarkRift2: Multithreaded, open source
  4. DOTSNET: Based on unity’s ECS system, open source
  5. Mirror: Open source, made for MMO

For the network engine, though I had wrote some network engines before, using existing ones suit my purpose.

I had done some MOBA games using PUN2 & Quantum, though in general it is fairly easy to create MOBA games using those network engines, the hard part is how to handle the balanced game design properly.

Also done some projects using DOTSNET, but it won’t support web gl, If I remember correctly.

Eventually I decided to focus on real time turn based games using Mirror for the following reasons:

  1. Depends on the genre, doesn’t need to worry about network lag too much
  2. Turn based games generally have a set of rules that can be played over and over again, thus high retention
  3. Mirror is open source and proven to be stable by many existing games
  4. Align with my learning path: I get to learn server setup, dev-ops, and so on

So the goal is to create a network lobby that hosts many turn based games like chess, gomoku, and so on, and see how that works out.

Happy coding

How to choose the right netcode for your game | Unity Blog

Leave a Reply

Your email address will not be published. Required fields are marked *