There are 3 main approaches towards multiplayer among game developers:
- Peer to Peer — a very basic, naive solution. No server is required. Suitable only for playing within a single WiFi network, or with a Bluetooth connection. The amount of transferred data increases significantly with more players thus this solution is rarely used in practice.
- Client authoritative — an approach to creating multiplayer games that gives clients (players) the full power to change the game state. Because of that, there is no need for a server as an arbiter, which controls the game. The biggest advantage of this approach is the lack of costs associated with the maintenance of server infrastructure. The unacceptable disadvantage in e-sports or play-to-earn games is the susceptibility to cheating by the lack of full verification of clients’ actions. Due to the lack of an arbitrator, the game developer is responsible for synchronization and resolving potential conflicts.
However, the client authoritative approach does require a server which plays the role of "transmitter" of information — no code related to the game logic is executed on it. Unfortunately, such solutions do not allow for creating a multiplayer game in the same way we would create a single player game, because of the programmers’ responsibility to synchronize the state of the game.
However, non of the solutions above is capable of ensuring fairness. This means that if you want to create a play-to-earn game where players are rewarded for their achievements during the gameplay, you only have one option:
- Server authoritative — an approach to creating multiplayer games requiring a central server on which the game takes place. Clients (players) act only as receivers of the game state from the server and as creators of minimal inputs according to the game rules. This approach prevents breaking the game rules but it requires hosting a separate server with the game logic.
This method has a number of advantages such as universal architecture and clear conflict resolution. The main difficulties in developing games this way are: synchronizing the state of the game correctly without creating a feeling of lag and maintaining a production environment adequate to the needs of the current number of players. The problem is, this approach requires infrastructure that is both expensive and difficult to set up. This is the type of method used by Elympics Multiplayer Services games. We have solved the difficulties associated with it in a universal way. While using Elympics, the developers do not have to create the infrastructure themselves. This allows any studio to benefit from the advantages of server authoritative approach without having to write the network code or incur immense costs.