Pull to refresh

Программирование многопользовательских игр

Reading time4 min
Views24K
Добрый день, Хабр!

Мы только что выпустили книгу по Юнити, и нам стало интересно насколько вообще актуальна тема программирования игр. Казалось бы книг на эту тему должно быть выпущено огромное множество, но это не так.

Только что вышла книга «Multiplayer Game Programming: Architecting Networked Games (Game Design)».

image

Насколько актуален ее перевод на русский язык? Подробности под катом. Ждем ваши комментарии.

Сетевые многопользовательские игры — это многомиллиардный бизнес, ведь они привлекают десятки миллионов игроков. В этой насыщенной кодами и примерами из реальной жизни книге вы сможете изучить все нюансы разработки таких игр. Авторы книги, опираясь на собственный опыт разработки игр, познакомят вас с основами построения надежной многопользовательской архитектуры. Вам предстоит познакомиться с рабочими кодами двух полноценных игр: action и стратегии в реальном времени (RTS).

Авторы предлагают взглянуть на основы сетей и сетевого программирования с точки зрения разработчиков игр. А затем разобраться с управлением игрой через передачу данных, сетевыми обновлениями, а также с устройствами, подключающимися к игре. Вы узнаете, как обеспечить надежную работу, несмотря на проблемы с интернетом и сможете создавать безопасный и масштабируемый код. Не останутся без внимания и два важных вопроса: игровые сервисы и облачные технологии.

Весь контент этой книги был тщательно протестирован, так что книга пригодится как тем, кто только учится, так и опытным программистам, которые хотят переключиться на сетевые игры.

О чем можно прочитать в этой книге:

  • Как сетевое окружение влияет на игры
  • Интернет-протоколы и стандарты разработки игр
  • Сокеты Беркли — самый популярный интерфейс для сетевых многопользовательских игр
  • Эффективная передача игровых данных
  • Синхронизация, ведь игроки могут жить в любой стране мира
  • Сетевые топологии для игр
  • Борьба с задержками и джиттерами, которые приводят к задержкам или потерям данных
  • Масштабирование без ущерба для производительности
  • Борьба с уязвимостями ПО и читами
  • Сетевые возможности Unreal 4 и Unity
  • Интеграция с игровыми сервисами (matchmaking, achievements и leaderboards)
  • Запуск игровых серверов в облаке

(Исходный код всех примеров на C++ доступен по адресу: github.com/MultiplayerBook)

Содержание
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 A A Modern C++ Primer...... .
C++11..............................
References..........................
Templates...........................
Smart Pointers........................
STL Containers.......................
Iterators.............................
Only registered users can participate in poll. Log in, please.
Книга по многопользовательским играм
95.39% Интересно, переводите быстрее497
2.3% По этой теме книги не нужны12
2.3% А я книг не читаю12
2.69% Лучше издайте другую книгу (подробности в комментариях)14
521 users voted. 87 users abstained.
Tags:
Hubs:
Total votes 17: ↑16 and ↓1+15
Comments15

Articles