📜 ⬆️ ⬇️

Multiplayer game programming

Good afternoon, Habr!

We have just released a book on Unity , and it became interesting to us how relevant the topic of game programming is at all. It would seem that there will be a great many books on this subject, but this is not so.

The book Multiplayer Game Programming: Architecting Networked Games (Game Design) has just been released.
')
image

How relevant is its translation into Russian? Details under the cut. We are waiting for your comments.

Online multiplayer games are a multi-billion dollar business, because they attract tens of millions of players. In this book full of codes and examples from real life, you can learn all the nuances of developing such games. The authors of the book, based on their own experience in developing games, will introduce you to the basics of building a reliable multiplayer architecture. You have to get acquainted with the working codes of two full-fledged games: action and real-time strategy (RTS).

The authors propose to look at the basics of networks and network programming from the point of view of game developers. And then deal with the management of the game through the transfer of data, network updates, as well as with devices that connect to the game. You will learn how to ensure reliable operation, despite problems with the Internet and will be able to create secure and scalable code. Two important issues will not be ignored: gaming services and cloud technologies.

All the content of this book has been thoroughly tested, so that the book is useful for those who are just learning, and experienced programmers who want to switch to online games.

What can be read in this book:


(The source code for all C ++ examples is available at: github.com/MultiplayerBook)

Content
1 Overview of Networked Games ........
A Brief History of Multiplayer Games ....
Starsiege: Tribes ......................
Age of Empires .......................
Summary ............................
2 The Internet ........................
Origins: Packet Switching ...............
The TCP / IP Layer Cake ................
The Physical Layer ....................
The Link Layer .......................
The Network Layer ....................
The Transport Layer ...................
The Application Layer .................
NAT ................................
Summary ............................
3 Berkeley Sockets ....................
Creating Sockets ......................
API Operating System Differences .......
Socket Address .......................
UDP Sockets .........................
TCP Sockets .........................
Blocking and Non-Blocking I / O ..........
Additional Socket Options ..............
Summary ............................
4 Object Serialization ..................
The Need for Serialization ..............
Streams .............................
Referenced Data ......................
Compression .........................
Maintainability .......................
Summary ............................
5 Object Replication ...................
The State of the World .................
Replicating an Object ..................
Naive World State Replication ...........
Changes in World State ................
RPCs as Serialized Objects ..............
Custom Solutions .....................
Summary ............................
6 Network Topologies and Sample Games.
Network Topologies ...................
Implementing Client-Server .............
Implementing Peer-to-Peer ..............
Summary ............................
Review Questions .....................
Additional Reading ....................
7 Latency, Jitter, and Reliability ..........
Latency .............................
Jitter ...............................
Packet Loss ..........................
Reliability: TCP or UDP? ...............
Packet Delivery Notification ............
Object Replication Reliability ...........
Simulating Real-World Conditions .......
Additional Readings ...................
8 Improved Latency Handling ...........
The Dumb Terminal Client ..............
Client Side Interpolation ................
Client Side Prediction ..................
Server Side Rewind ....................
Summary ............................
9 Scalability .........................
Object Scope and Relevancy ............
Server Partitioning ....................
Instancing ...........................
Prioritization and Frequency ............
Summary ............................
10 Security ..........................
Packet Sniffing .......................
Input Validation ......................
Software Cheat Detection ...............
Securing the Server ....................
Summary ............................
11 Real-World Engines ................
Unreal Engine 4 ......................
Unity ...............................
Summary ............................
12 Gamer Services ....................
Choosing a Gamer Service ..............
Basic Setup ..........................
Lobbies and Matchmaking ..............
Networking ..........................
Player Statistics .......................
Player Achievements ..................
Leaderboards ........................
Other Services ........................
Summary ............................
13 Cloud Hosting Dedicated Servers ......
To Host or Not To Host ................
Tools of the Trade .....................
Overview and Terminology .............
Local Server Process Manager ...........
Virtual Machine Manager ...............
Summary ............................
Appendix AA Modern C ++ Primer .......
C ++ 11 ..............................
References ..........................
Templates ...........................
Smart Pointers ........................
STL Containers .......................
Iterators .............................

Source: https://habr.com/ru/post/271849/


All Articles