how to learn to make best architecture for my multiplayer game?

Started by
2 comments, last by hplus0603 4 years, 6 months ago

hi.

as you know we have many style of games that need different multiplayer architecture and connection model.

for example architecture for XO or chess game is different from clash royale and clash royale is differnt from clash of clans and them from call of duty.

as im working on some new ideas, im just looking for standards or best practices.

question is : is there any best practices or i just have go for R&D for my games?

if there is best practice for turn based architecture, turn organization and .... can you give me references?

Advertisement

There are an enormous number of websites and there are some book references, but as you point out, every game is different and has different needs.Further, networking technology is constantly evolving.  Practices that were ideal in the era of dialup were replaced as broadband became more common. Practices common as broadband started were replaced again as networks evolved. And different game styles lead to different networking models; a slow turn-based game where a single event crosses the wire every few seconds is radically different from a Battle Royale style game with a hundred players and potentially thousands of objects where visibility, distance, cheating potential, and other rules all come into play for what gets transmitted and what stays put.  

These days games tend to rely heavily on existing libraries rather than writing raw socket code themselves, so brush up on those.

If you're using an engine like Unreal or Unity or tools like GameMaker:Studio or GameSalad or similar, they all have networking components built in you should learn about. You might need to learn the underlying technologies as well if you're involved in network programming long term, but in the short term learning how your current game engine does things is generally enough.

A criteria for networking that is new with mobile games, is the desire to restrict battery usage. This means that you only communicate on the network sporadically, not at 10-60 times a second like a typical computer/online game does. This in turn means that turn-based games are a good match.

Interactive chess matches are turn based, but interactive, whereas a "base building" games like backyard monsters or farmville or probably clash of clans are not synchronously interactive and thus can just do a single request to slurp all the data about how your attack/defense went. Similarly, crops in Farmville don't need to update every minute; you can just calculate-forward to the state of your farm when the user actually checks, based on what the last state was and how much time has elapsed.

enum Bool { True, False, FileNotFound };

This topic is closed to new replies.

Advertisement