76
votes
Why do some games persistently have mostly one viable strategy, while others can have many?
In the end it all boils down to one axiom: Game design is hard!
And multiplayer game design is even harder. After years of development, you think you came up with a perfectly balanced game design ...
16
votes
Why do some games persistently have mostly one viable strategy, while others can have many?
You said it: Dota has a mixture of RPS balance and fixed, hidden character selection.
The characters that the enemy team chooses to play are hidden information, and thus you must evaluate your own ...
13
votes
Why do some games persistently have mostly one viable strategy, while others can have many?
Player of both here. DOTA has a set amount of damage for most attributes. A Lina ultimate will always deal X amount of damage unless the enemy has a debuff on them that increases the damage they take. ...
11
votes
Accepted
Revenue model for an open-source multiplayer game
How much do you believe in the open source idea? When you are not 100% committed to the free software philosophy, then there are some interesting variants:
Release the client under an open source ...
7
votes
How to Send Voice over Unity Networking - UNET
TL;DR: You can't do it natively in Unity
Microphone.Start returns an AudioClip which has 3 load types, none of which fit your ...
7
votes
Accepted
Networked projectiles in an authoritative server
This is what we ended up doing:
Client side
Detect player clicks button to shot missile
Immediatley simulate rocket visuals on client
In parallel, send command to server
Once predict hit something, ...
7
votes
Why do some games persistently have mostly one viable strategy, while others can have many?
What other posts have described from a gaming perspective is simply called a stable mixed strategy equilibrium in game theory. Here are some requirements for this:
You generally want to have a game ...
7
votes
Multithreading MMO Server. A thread per area OK?
I think this might be a viable architecture. The biggest source of bugs in multithreaded applications is shared access to data. So when the rooms have little to no communication with each other and ...
7
votes
Accepted
How to develop both a client and headless server together in Unity
Myself, I'd recommend keeping the server and client authored in a single Unity project. This minimizes the chance for mistakes where you change something in either the server or client and miss ...
7
votes
Accepted
Decouple game entity from its owner when logic depends on it
The crux of the issue appears to be that you are tying the identity of an object to the implementation.
In it's simplest form a players ID could just be an integer (player 0,1,2,3...). Hence instead ...
6
votes
Accepted
Randomly generated maps in Multiplayer
It slightly depends on what kind of game you are making.
Generate Server side and transfer to client
If the player can make their own maps, or the map can be generated when a player is playing ...
6
votes
Accepted
Multiplayer RPG allowing offline solo play using server signed replays - how can you cheat?
A useful mantra to bear in mind is "the client is in the hands of the enemy".
Any capability that you build into the client that can run offline is one that you have delivered in a gift-...
5
votes
Accepted
How to generate join codes?
Store the active codes in the database. Once they are no longer active, you remove them.
To create a new code, you can generate the code by whatever means you want (I'm going to suggest to use a ...
5
votes
Accepted
What makes the network coding for MUDs different from that of MMORPGs?
I'm going to put forward the opinion that there is actually no netcode at all in a MUD server.
I've seen the phrase 'netcode' thrown about quite a bit in multiplayer gaming - usually as a criticism of ...
4
votes
Accepted
How do i make turn based combat with 10+ players work?
You should not force players to make their moves under duress by giving them a ticking down countdown timer. A reasonable time limit might not be a bad idea to prevent AFK players from ruining ...
4
votes
Accepted
Is there a way to make a game object invisible to only certain players?
You can specify layers that a camera should and should not render: https://docs.unity3d.com/Manual/Layers.html. Anything that should be rendered by one camera but not the other should be assigned to a ...
4
votes
Accepted
Multiplayer game, design of server <-> client communication
In Multiplayer games, it is usually good to have the server be the authority. This will solve many (but of course not all) problems with network issues, cheating and so on.
You already mentioned part ...
4
votes
How to store and retrieve user data in a multiplayer game
Unity does not include a server side persistence solution out of the box. As far as I can tell the only storage solution Unity includes is PlayerPerfs, but that is client side.
However that does not ...
4
votes
Why do some games persistently have mostly one viable strategy, while others can have many?
I'm not initmately familiar with LoL or Dota, and a definitive or comprehensive answer will be hard to come by in any case, but allow me to share some mechanisms I have observed.
Choice
From a naive ...
4
votes
Accepted
Turn Based Game - Best approach for Server communication. TCP/IP or REST API?
First of all, 65000 peak current users is quite a lot. Many games don't even get near that number. Looking at the current player stats on Steam, there are just 7 games which broke that limit today. ...
4
votes
Best strategy when player left the online multiplayer game
It's just a matter of time until the players notice that they can avoid the rage-quit penalty by killing their web browser through the task manager. So you shouldn't try to differentiate between these ...
4
votes
Best strategy when player left the online multiplayer game
Intentionally and unintentionally leaving should be treated the same, as it's impossible to be sure which scenario happened in every case (e.g. a user plugging out their network cable versus the ...
4
votes
Accepted
What is the best time to implement Multiplayer system?
How you implement the network will inform everything else you do in the game. Implementing networking later is always a bad idea.
Here's an example of a released game with local coop and what ...
Almo♦
- 6,738
4
votes
Difference between [P2P] Relay Servers and Dedicated Game Servers?
In the peer-to-peer client-server model, the server software runs on the machine of a player who is also taking part in the game. The server software and the game client are usually integrated in the ...
3
votes
Accepted
How to manage time in a two player game?
The most common and secure way to manage countdown synchronization in a multiplayer game is to make server the authoritative timekeeper. The clients then may request the remaining turn time every 1-5 ...
3
votes
How can I make actions that effect the position of another player appear responsive when my game server is authoritative?
The usual solution is for the client to assume at first that the server will agree with it and correct afterwards when it does not.
So when you "boop" another player, both tell the server you are "...
3
votes
Can Cloud Functions be used for a multiplayer game server?
I think the simple answer is: yes, depending on your game design.
What you touch on here is a fundamental of any server (or serverless) API design. You have to trade responsiveness off against ...
3
votes
Accepted
Is it possible to store ALL game data on the sever side
It's not an approach worth to use.
For a normal player it may not be a big deal but some people may try looking into the game files to find various information.
Even if you download the content at ...
3
votes
Is Apple Game Center Multiplayer Online?
So, its a little weird, but...
I used it once a number of years ago using Prime31's Game Center plugin. What it does is facilitate two (or more) copies of the game communicating with each other in a ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
multiplayer × 869networking × 262
unity × 177
client-server × 91
c# × 66
server × 65
online × 47
game-design × 46
synchronization × 46
mmo × 45
java × 44
architecture × 43
unity-networking × 36
android × 35
javascript × 32
node.js × 29
c++ × 28
udp × 26
interpolation × 23
websocket × 23
physics × 22
photon × 21
unreal-4 × 19
anti-cheat × 19
unet × 19