Основы разработки сетевых игр.

Джошуа Глейзер, Санджай Мадхав ” Многопользовательские игры. Разработка сетевых приложений” Питер, 2017 год, 366 стр. (6,92 мб. pdf)

В книге излагаются основные аспекты по которым ведется игровое программирование сетевых игр. Вначале руководства читатель познакомится с основами сетевых взаимодействий, передачи данных в играх, организация взаимодействия игровых объектов и компьютеров. Уделено внимание вопросам сетевой безопасности игрового кода, взаимодействие служб и серверов, а также использованию облачного хостинга для организации игр. В большинстве глав книги излагаемый материал сопровождается практическими примерами кода (на C++).

Методика подачи материала зарекомендовала себя в программе обучения Университета Южной Калифорнии, в курсе программирования сетевых игр. Книга рассчитана на всех кому интересны вопросы разработки многопользовательских приложений. Но для комфортной работы с данным руководством желательно обладать базовыми знаниями C++. ISBN: 978-5-496-02290-3

Оглавление.

Предисловие 10
Кому адресована эта книга 11
Условные обозначения 11
Почему C++? 12
Почему JavaScript? 12
Веб-сайт книги 13

Глава 1. Обзор сетевых игр 17
Краткая история многопользовательских игр 17
Starsiege: Tribes 21
Age of Empires 27
В заключение 30
Вопросы для повторения 31
Для дополнительного чтения 31

Глава 2. Интернет 32
Происхождение: коммутация пакетов 32
Многоуровневая модель TCP/IP 34
Физический уровень 35
Канальный уровень 36
Сетевой уровень 40
Транспортный уровень 56
Прикладной уровень 69
NAT 70
В заключение 78
Вопросы для повторения 79
Для дополнительного чтения 80

Глава 3. Сокеты Беркли 82
Создание сокетов 82
Различия в API операционных систем 85
Адрес сокета 88
Сокеты UDP 96
Сокеты TCP 100
Блокирующий и неблокирующий ввод/вывод 106
Дополнительные параметры сокетов 113
В заключение 115
Вопросы для повторения 116
Для дополнительного чтения 116

Глава 4. Сериализация объектов 118
Необходимость сериализации 118
Потоки данных 122
Ссылочные данные 135
Сжатие 139
Простота сопровождения 147
В заключение 152
Вопросы для повторения 153
Для дополнительного чтения 153

Глава 5. Репликация объектов 154
Состояние мира 154
Репликация объекта 155
Простая репликация состояния мира 163
Изменения в состоянии мира 166
Удаленный вызов процедур в виде сериализованных объектов 173
Нестандартные решения 176
В заключение 177
Вопросы для повторения 177
Для дополнительного чтения 178

Глава 6. Топологии сетей и примеры игр 179
Топологии сетей 179
Реализация модели «клиент-сервер» 184
Реализация модели «точка-точка» 195
В заключение 210
Вопросы для повторения 210
Для дополнительного чтения 211

Глава 7. Задержки, флуктуации и надежность 212
Задержки 212
Флуктуации 218
Потеря пакетов 219
Надежность: TCP или UDP? 221
Извещение о доставке пакета 224
Надежная репликация объектов 235
Имитация реальных условий работы 241
В заключение 243
Вопросы для повторения 244
Для дополнительного чтения 245

Глава 8. Улучшенная обработка задержек 246
Клиент как простой терминал 246
Интерполяция на стороне клиента 249
Прогнозирование на стороне клиента 252
Возврат на стороне сервера 262
В заключение 264
Вопросы для повторения 265
Для дополнительного чтения 265

Глава 9. Масштабируемость 266
Область видимости и релевантность объектов 266
Сегментирование серверной среды выполнения 273
Клонирование 275
Система приоритетов и частота обновления 276
В заключение 276
Вопросы для повторения 277
Для дополнительного чтения 277

Глава 10. Безопасность 278
Перехват пакетов 278
Проверка ввода 283
Программное выявление мошенничества 285
Защита сервера 287
В заключение 291
Вопросы для повторения 292
Для дополнительного чтения 292

Глава 11. Игровые движки 293
Unreal Engine 4 293
Unity 298
В заключение 301
Вопросы для повторения 302
Для дополнительного чтения 302

Глава 12. Игровые службы 303
Выбор игровой службы 303
Основные настройки 304
Вступление в игру и координация 308
Сетевые взаимодействия 312
Статистика игрока 314
Награды игрока 319
Таблицы рекордов 320
Другие службы 322
В заключение 323
Вопросы для повторения 323
Для дополнительного чтения 324

Глава 13. Облачный хостинг для выделенных серверов 325
Размещать или не размещать 325
Важнейшие инструменты 327
Обзор и терминология 329
Локальный диспетчер серверных процессов 333
Диспетчер виртуальных машин 339
В заключение 348
Вопросы для повторения 349
Для дополнительного чтения 350
Приложение Современный C++ 351
C++11 351
Ссылки 353
Шаблоны 355
«Умные» указатели 357
Контейнеры STL 362
Итераторы 364
Для дополнительного чтения 366
Скачать книгу бесплатно6,92 мб. pdf

Похожая литература