КаталогКниг.РФ

Игровой движок. Программирование и внутреннее устройство (Грегори Джейсон) ; Питер, 2021

Книга: Игровой движок. Программирование и внутреннее устройство (Грегори Джейсон) ; Питер, 2021

от 3300 р. до 5390 р.


Сравнить цены

Цена от 3300 р. до 5390 р. в 5 магазинах

МагазинЦенаНаличие
Буквоед

5/5

5390 р.
Минимальная сумма заказа 100 рублей
Book24

5/5

5609 р.
наличие уточняйте
16.05.2024
Мегамаркет

5/5

4603 р. 7040 р.
Яндекс.Маркет

5/5

4813 р. 8547 р.
Питер

5/5

3300 р.
Лабиринт

5/5

Читай-город

5/5

МАЙШОП

5/5

Один из первых книжных интернет-магазинов, работающий с 2002 года

Как купить или где мы находимся +

Описание

Книга Джейсона Грегори не случайно является бестселлером. Двадцать лет работы автора над первоклассными играми в Midway, Electronic Arts и Naughty Dog позволяют поделиться знаниями о теории и практике разработки ПО для игрового движка. Игровое программирование - сложная и огромная тема, охватывающая множество вопросов.
Граница между игровым движком и игрой размыта. В этой книге основное внимание уделено движку, основным низкоуровневым системам, системам разрешения коллизий, симуляции физики, анимации персонажей, аудио, а также базовому слою геймплея, включающему объектную модель игры, редактор мира, системы событий и скриптинга.
3-е издание.

Смотри также Характеристики.

Яндекс.Маркет


Содержание

Предисловие
От издательства
Новое в третьем издании
Благодарности
Часть I. Основы
Глава 1. Введение
1.1. Структура типичной игровой команды
1.1.1. Разработчики
1.1.2. Специалисты творческих профессий
1.1.3. Геймдизайнеры
1.1.4. Продюсеры
1.1.5. Другой персонал
1.1.6. Издатели и студии
1.2. Что такое игра
1.2.1. Видеоигры как мягкая симуляция реального
времени
1.3. Что такое игровой движок
1.4. Различия движков для разных жанров
1.4.1. Шутеры от первого лица
1.4.2. Платформеры и другие игры от третьего
лица
1. 4.3. Файтинги
1.4.4. Гонки
1.4.5. Игры-стратегии
1.4.6. Многопользовательские онлайн-игры
1.4.7. Контент, созданный игроком
1. 4.8. Виртуальная, дополненная и смешанная
реальность
1.4.9. Другие жанры
1.5. Обзор игровых движков
1.5.1. Семейство движков Quake
1.5.2. Движок Unreal
1.5.3. Source - движок Half-Life
1.5.4. DICE Frostbite
1.5.5. RAGE
1.5.6. CRYENGINE
1.5.7. Sony PhyreEngine
1.5.8. Microsoft XNA Game Studio
1.5.9. Unity
1.5.10. Другие коммерческие игровые движки
1.5.11. Внутренние движки, находящиеся в
частной собственности
1.5.12. Движки с открытым исходным кодом
1.5.13. Игровые движки 2D для непрограммистов
1.6. Архитектура среды выполнения движка
1.6.1. Целевое аппаратное обеспечение
1.6.2. Драйверы устройств
1.6.3. Операционная система
1.6.4. Сторонние SDK и промежуточное ПО
1.6.5. Уровень независимости от платформы
1.6.6. Основные системы
1.6.7. Управление ресурсами
1.6.8. Движок рендеринга
1.6.9. Инструменты профилирования и отладки
1.6.10. Столкновения и физика
1.6.11. Анимация
1.6.12. Устройства ввода
1.6.13. Аудио
1.6.14. Многопользовательская онлайн-игра
(игра по сети)
1.6.15. Система основного геймплея
1.6.16. Специфические для игры подсистемы
1.7. Инструменты и конвейер ресурсов
1.7.1. Инструмент создания контента
1.7.2. Конвейер подготовки ресурсов
1.7.3. Редактор мира
1.7.4. База данных ресурсов
1.7.5 . Некоторые подходы к архитектуре
инструментов
Глава 2. Полезные инструменты
2.1. Контроль версий
2.1.1. Зачем использовать контроль версий
2.1.2. Распространенные системы контроля версий
2.1.3. Обзор Subversion и TortoiseSVN
2.1.4. Настройка репозитория с кодом
2.1.5. Установка TortoiseSVN
2.1.6. Версии файлов, обновление и коммиты
2.1.7. Многократная синхронизация, ветвление и
слияние
2.1.8. Удаление файлов
2.2. Компиляторы, компоновщики и IDE
2.2.1. Исходные файлы, заголовки и единицы
компиляции
2.2.2 . Библиотеки, исполняемые файлы и
динамически компонуемые библиотеки
2.2.3. Проекты и решения
2.2.4. Конфигурации сборки
2.2.5. Отладка кода
2.3. Инструменты профилирования
2.3.1. Список профилировщиков
2 .4 . Утечка и нарушение целостности памяти
2.5. Другие инструменты
Глава 3. Основы разработки игрового ПО
3.1. Обзор C++ и лучшие практики
3 1 1 Краткий обзор ООП
3.1.2.. Стандартизация языка.С++
3 .1. 3 . Стандарты программирования: для чего и
сколько
3.2. Поиск и обработка ошибок
3.2.1. Типы ошибок
3.2.2. Обработка ошибок
3.2 . 3 . Реализация обнаружения ошибок и их
обработки
3 . 3 . Данные, код и схема памяти
3.3.1. Числовые представления
3.3.2. Примитивные типы данных
3.3.3. Килобайт или кибибайт
3.3.4. Объявления, определения и компоновка
3.3.5. Структура памяти программы C/C++
3.3.6. Переменные-члены
3.3.7. Расположение объектов в памяти
3.4. Основы аппаратного обеспечения
компьютеров
3 . 4.1. Обучение на более простых компьютерах
прошлых лет
3.4.2. Архитектура компьютера
3.4.3. Центральный процессор
3.4.4. Частота
3.4.5. Память
3.4.6. Шины
3.4.7. Машинный и ассемблерный языки
3.5. Архитектура памяти
3.5.1. Сопоставление памяти
3.5.2. Виртуальная память
3.5 .3 . Архитектуры памяти для уменьшения
задержки
3.5.4. Иерархии кэш-памяти
3.5.5. Неоднородный доступ к памяти
Глава 4. Параллелизм и конкурентное
программирование
4.1.. Определение конкурентности и параллелизма
4.1.1.. Конкурентное выполнение
4.1.2.. Параллелизм
4.1.3.. Параллелизм данных и задач
4.1.4. Таксономия Флинна
4.1. 5 . Ортогональность конкурентных
вычислений и параллелизма
4.1.6. Вопросы, рассматриваемые в главе
4.2. Неявный параллелизм
4.2.1. Конвейерная обработка
4.2.2. Задержка и пропускная способность
4.2.3. Глубина конвейера
4.2.4. Потеря скорости конвейера
4.2.5. Зависимости данных
4.2.6. Зависимости ветвления
4.2.7. Суперскалярные процессоры
4.2.8. Очень длинные командные слова
4.3. Явный параллелизм
4.3.1. Гиперпоточность
4.3.2. Многоядерные процессоры
4.3.3. Симметричная и асимметричная
многопроцессорная обработка..
4.3.4. Распределенные вычисления
4.4. Основы операционной системы
4.4.1. Ядро
4.4.2. Прерывания
4.4.3. Вызовы ядра
4.4.4. Вытесняющая многозадачность
4.4.5. Процессы
4.4.6. Потоки
4.4.7. Фиберы
4.4.8. Потоки пользовательского уровня и
корутины
4.4 .9 . Что еще почитать о процессах и потоках
4.5.. Введение в параллельное программирование
4.5.1. Зачем писать параллельное программное
обеспечение
4.5.2. Модели параллельного программирования
4.5.3. Состояние гонки
4.5.4. Критические операции и атомарность
4.6. Примитивы синхронизации потоков
4.6.1. Мьютексы
4.6.2. Критически важные секции
4.6.3. Переменные условия
4.6.4. Семафоры
4.6.5. События Windows
4.7 . Проблемы с параллелизмом на основе
блокировки
4.7.1. Взаимная блокировка
4.7.2. Динамическая взаимная блокировка
4.7.3. Ресурсное голодание
4.7.4. Инверсия приоритетов
4.7.5. Обедающие философы
4.8. Несколько лучших практик параллелизма
4.8.1. Правила глобального порядка
4.8.2. Алгоритмы на основе транзакций
4.8.3. Минимизация раздоров
4.8.4. Безопасность потоков
4.9. Параллелизм без блокировок
4.9.1. Причины ошибок в гонке данных
4.9.2. Реализация атомарности
4.9.3. Барьеры
4.9.4. Семантика упорядочения памяти
4.9.5. Атомарные переменные
4.9.6. Параллельность в интерпретируемых языках
программирования
4.9.7. Спин-блокировки
4.9.8. Транзакции без блокировок
4.9.9. Связанный список без блокировки
4.9.10. Дополнительная литература по
программированию
без блокировки
4.10. SIMD/векторная обработка
4.10.1. Набор инструкций SSE и его регистры
4.10.2 . Использование SSE для векторизации
цикла
4.10.3. Векторизованное скалярное произведение
4.10 .4 . Векторно-матричное умножение с
помощью SSE
4.10.5. Матрица-матричное умножение с SSE
4.10.6. Обобщенная векторизация
4.10.7. Предикация векторов
4.11. Введение в программирование GPGPU
4.11.1. Параллельные вычисления данных
4.11.2. Вычислительные ядра
4.11.3. Выполнение ядра
4.11.4. Потоки GPU и группы потоков
4.11.5. Дополнительная литература
Глава 5. 3D-математика для игр
5.1. Решение 3D-задач в 2D
5.2. Точки и векторы
5.2.1. Точки и декартовы координаты
5.2.2. Левосторонние и правосторонние системы
координат
5.2.3. Векторы
5.2.4. Векторные операции
5.2.5 . Линейная интерполяция точек и векторов
5.3. Матрицы
5.3.1. Умножение матриц
5.3.2 . Представление точек и векторов в виде
матриц
5.3.3. Единичная матрица
5.3.4. Инвертирование матриц
5.3.5. Транспонирование
5.3.6. Однородная система координат
5.3.7. Матрицы базовых преобразований
5.3.8. Матрицы 4x3
5.3.9. Координатное пространство
5.3.10. Переход к новому базису
5.3.11. Преобразование векторов нормали
5.3.12. Хранение матриц в памяти
5.4. Кватернионы
5.4.1. Единичные кватернионы как трехмерные
вращения
5.4.2.. Операции.с.кватернионами
5.4.3. Вращение векторов через кватернионы
5.4.4. Кватернионно-матричная эквивалентность
5.4.5. Линейная интерполяция вращения
5.5. Сравнение представлений вращения
5.5.1. Углы Эйлера
5.5.2. Матрицы 3x3
5.5.3. Ось + угол
5.5.4. Кватернионы
5.5.5. Преобразования SRT
5.5.6. Двойные кватернионы
5.5.7. Вращения и степени свободы
5.6. Другие полезные математические объекты
5.6.1. Прямые, лучи и отрезки
5.6.2. Сферы
5.6.3. Плоскости
5.6.4. Параллельные осям ограничивающие
параллелепипеды
5.6.5. Ориентированные ограничивающие
параллелепипеды
5.6.6. Усеченная пирамида
5.6.7. Выпуклые многогранные области
5.7. Генерация случайных чисел
5.7.1. Линейные конгруэнтные генераторы
5.7.2. Вихрь Мерсенна
5.7 . 3 . Мать всего, Xorshift и KISS99
5.7.4. PCG
Часть II. Низкоуровневые системы движка
Глава 6. Системы поддержки движка
6.1.. Подсистема запуска и остановки
6 .1.1. Порядок статической инициализации C++
(или его отсутствие)
6 .1. 2 . Простой работающий подход
6 .1. 3 . Некоторые примеры реальных движков
6.2. Управление памятью
6.2.1. Оптимизация динамического распределения
памяти
6.2.2. Фрагментация памяти
6.3. Контейнеры
6.3.1. Операции с контейнерами
6.3.2. Итераторы
6.3.3. Алгоритмическая сложность
6.3.4. Создание пользовательских контейнерных
классов
6.3.5 . Динамические массивы и выделение памяти
фрагментами
6.3.6. Словари и хеш-таблицы
6.4. Строки
6.4.1. Проблема со строками
6.4.2. Классы строк
6.4.3. Уникальные идентификаторы
6.4.4. Локализация
6.5. Конфигурация движка
6.5.1. Параметры загрузки и сохранения
6.5.2. Параметры для каждого пользователя
6.5 . 3 . Управление конфигурацией в некоторых
реальных движках
Глава 7. Ресурсы и файловая система
7.1. Файловая система
7 .1.1. Имена файлов и пути к ним
7.1.2. Базовый файловый ввод/вывод
7.1.3. Асинхронный файловый ввод/вывод
7.2. Менеджер ресурсов
7.2.1. Автономное управление ресурсами и цепочка
инструментов
7.2.2. Управление ресурсами среды выполнения
Глава 8. Игровой цикл и симуляция в реальном
времени
8.1. Цикл рендеринга
8.2 . Цикл игры
8.2.1. Простой пример: пинг-понг
8.3.. Архитектурные стили цикла игры
8.3.1. Конвейер сообщений Windows
8.3.2 . Фреймворки на основе обратных вызовов
8.3.3. Обновление на основе событий
8.4. Абстрактные временные шкалы
8.4.1. Реальное время
8.4.2. Игровое время
8.4.3. Локальное и глобальное время
8.5 . Измерение времени и работа с ним
8.5.1. Частота смены кадров и время
8.5.2 . От частоты кадров к скорости
8.5 .3 . Измерение реального времени с помощью
таймера высокого
разрешения
8.5 . 4 . Единицы измерения времени и переменные
часов
8.5.5 . Работа с точками останова
8.6 . Многопроцессорные игровые циклы
8.6.1. Разложение задания
8.6.2. Один поток на подсистему
8.6.3. Разбиение/сборка
8.6.4. Система заданий
Глава 9. Устройства HID
9.1. Виды HID-устройств
9.2. Взаимодействие с HID-устройствами
9.2.1. Опрашивание
9.2.2. Прерывания
9.2.3. Беспроводные устройства
9.3. Виды элементов управления
9.3.1. Цифровые кнопки
9.3.2. Аналоговые оси и кнопки
9.3.3. Относительные оси
9.3.4. Акселерометр
9 .3.5 . Положение в трехмерном пространстве при
использовании
Wiimote или DualShock
9.3.6. Камеры
9.4. Виды вывода
9.4.1. Вибрация
9.4.2. Силовая обратная связь
9.4.3. Звук
9 . 4 . 4 . Другие разновидности ввода и вывода
9.5 . Системы игрового движка для работы с HID-
устройствами
9.5.1. Типичные требования
9.5.2. Мертвые зоны
9.5.3. Фильтрация аналоговых сигналов
9.5.4. Обнаружение событий ввода
9.5.5 . Управление несколькими HID-устройствами
для нескольких
игроков
9.5.6. Межплатформенные HID-системы
9.5.7. Переназначение элементов управления
9.5.8. Контекстный ввод
9.5.9. Отключение элементов управления
9.6. HID-устройства на практике
Глава 10. Инструменты для отладки и разработки
10.1. Журналирование и трассировка
10.1.1. Форматированный вывод с помощью
функции OutputDebugString()
10.1.2. Уровень детализации
10.1.3. Каналы
10.1.4. Копирование вывода в файл
10.1.5. Отчеты о сбоях
10.2. Средства отладочной отрисовки
10.2.1. API для отладочной отрисовки
10.3. Внутриигровые меню
10.4.. Внутриигровая консоль
10.5 . Отладочные камеры и остановка игры
10.6. Читы
10.7 . Снимки экрана и запись видео
10.8.. Внутриигровое профилирование
10.8.1.. Иерархическое профилирование
10.8.2. Экспорт в Excel
10.9..
Внутриигровые показатели использования памяти.
.
и обнаружение утечек
Часть III. Графика, движение и звук
Глава 11. Движок рендеринга
11.1..
Основы растеризации треугольников с буферизаци
Ей глубины
11.1.1.. Описание сцены
11.1.2..
Описание визуальных свойств поверхности
11.1.3.. Основы освещения
11.1.4.. Виртуальная камера
11.2.. Конвейер рендеринга
11.2.1.. Общая схема конвейера рендеринга
11.2.2.. Инструментальный этап
11.2.3.. Этап подготовки ресурсов
11.2.4. Конвейер графического процессора
11.2.5. Программируемые шейдеры
11.2.6. Сглаживание
11.2.7. Этап приложения
11. 3 . Продвинутые методы освещения и
глобальное освещение
11.3.1. Освещение на основе изображения
11.3.2 . Освещение с расширенным динамическим
диапазоном
11.3.3. Глобальное освещение
11.3.4. Отложенный рендеринг
11.3.5. Физически корректное затенение
11.4. Визуальные эффекты и наложения
11.4.1. Эффекты частиц
11.4.2. Декали
11.4.3. Эффекты окружения
11.4.4. Наложения
11.4.5. Гамма-коррекция
11.4.6. Полноэкранные постэффекты
11.5. Дополнительная литература
Глава 12. Системы анимации
12.1. Разновидности анимации персонажей
12.1.1.. Келевая анимация
12.1.2. Жесткая иерархическая анимация
12.1.3.. Повершинная анимация и морфинг-мишени
12.1.4. Скиновая анимация
12.1. 5 . Методы анимации как методы сжатия
данных
12.2.. Скелеты
12.2.1. Скелетная иерархия
12.2.2. Представление скелета в памяти
12.3. Позы и положения
12.3.1. Поза привязки
12.3.2. Локальные позы
12.3.3. Глобальные позы
12.4. Клипы
12.4.1. Локальная временная шкала
12.4.2. Глобальная временная шкала
12.4.3. Сравнение глобального и локального
таймеров
12 .4 .4 . Простой формат анимационных данных
12.4.5. Непрерывные канальные функции
12.4.6. Метаканалы
12 .4.7 . Отношения между мешами, скелетами и
клипами
12.5.. Скининг и генерация палитры матриц
12.5.1. Сведения о скининге для отдельной
вершины
12.5.2. Математический аспект скининга
12.6. Слияние анимации
12.6.1. Линейная интерполяция
12.6.2. Способы применения слияния методом LERP
12.6.3. Сложные слияния методом LERP
12.6.4. Частичное скелетное слияние
12.6.5. Аддитивное слияние
12.6.6. Способы применения аддитивного слияния
12.7. Постобработка
12.7.1. Процедурная анимация
12.7.2. Инверсная кинематика
12.7.3. Тряпичные куклы
12.8. Методы сжатия
12.8.1. Пропуск каналов
12.8.2. Квантование
12 .8 .3 . Частота дискретизации и пропуск семплов
12.8.4. Сжатие на основе кривых
12.8.5. Сжатие с использованием вейвлетов
12 .8.6 . Выборочные загрузка и потоковая
передача
12.9. Конвейер анимации
12.10. Конечные автоматы действий
12.10.1. Подход с плоским средним взвешенным
12.10.2. Деревья слияния
12.10.3. Параметры состояния и дерева слияния
12.10.4. Переходы
12.10.5. Управляющие параметры
12.11. Ограничения
12.11.1. Крепления
12.11.2. Выравнивание объектов
12.11. 3 . Инверсная кинематика движений захвата
рукой
12.11. 4 . Извлечение движений и инверсная
кинематика ног
12.11.5. Другие виды ограничений
Глава 13. Столкновения и динамика твердого тела
13.1. Нужна ли в вашей игре физика?
13.1.1. Что можно делать с системой симуляции
физики
13.1. 2 . Делает ли физика игру интересной?
13.1. 3 . Влияние физики на игру
13.2 . Промежуточный слой для
столкновений/физики
13.2.1. ODE
13.2.2. Bullet
13.2.3. TrueAxis
13.2.4. PhysX
13.2.5. Havok
13.2.6. Physics Abstraction Layer (PAL)
13.2.7. Digital Molecular Matter
13.3. Система обнаружения столкновений
13 . 3.1. Элементы, которые могут сталкиваться
между собой
13.3.2. Мир столкновений/физики
13.3.3. Концепции геометрических форм
13.3.4. Примитивы столкновения
13 .3.5 . Проверки на столкновение и
аналитическая геометрия
13.3.6. Оптимизация производительности
13.3.7. Запросы о столкновениях
13.3.8. Фильтрация столкновений
13.4. Динамика твердого тела
13.4.1. Некоторые основы
13.4.2. Линейная динамика
13.4.3. Решение уравнений движения
13.4.4. Численное интегрирование
13.4.5. Угловая динамика в двухмерном
пространстве
13 . 4.6 . Угловая динамика в трехмерном
пространстве
13.4.7. Реакция на столкновение
13.4.8. Ограничения
13.4.9. Управление движениями твердых тел
13.4.10. Отдельный шаг симуляции
столкновений/физики
13.5 . Интеграция физического движка в игру
13.5.1. Связывание игровых объектов и твердых
тел
13.5.2 . Обновление симуляции
13.5 .3 . Пример использования систем
столкновений и физики в игре . .
13.6 . Расширенные физические возможности
Глава 14. Звук
14.1. Физика звука
14.1.1. Свойства звуковых волн
14.1. 2 . Субъективная громкость звука и децибел
14.1.3. Распространение звуковой волны
14.1.4. Восприятие положения в пространстве
14.2. Математика звука
14.2.1. Сигналы
14.2.2. Преобразование сигналов
14.2.3. Линейные стационарные системы
14.2.4. Импульсная характеристика систем ЛСС
14.2.5 . Частотная область и преобразование
Фурье
14.3. Аудиотехнологии
14.3.1. Аналоговые аудиотехнологии
14.3.2. Цифровые аудиотехнологии
14.4. Рендеринг звука в 3D
14 . 4.1. Краткий обзор процесса рендеринга 3D-
звука
14.4.2.. Моделирование мира звука
14 . 4 . 3 . Затухание в зависимости от расстояния
14.4.4.. Панорамирование
14.4.5. Распространение, реверберация и акустика
14.4.6. Эффект Доплера
14.5. Архитектура звукового движка
14.5.1. Конвейер обработки звуков
14.5.2. Концепции и терминология
14.5.3. Голосовая шина
14.5.4. Главный микшер
14.5.5. Главная шина вывода
14.5.6. Реализация шины
14.5.7. Управление ресурсами
14.5.8. Микширование в игре
14.5.9. Обзор звуковых движков
14.6 . Звуковые возможности, характерные для
разных видов игр
14.6 .1. Поддержка разделенного экрана
14.6.2. Система диалогов
14.6.3. Музыка
Часть IV. Игровой процесс
Глава 15. Введение в системы игрового процесса
15 1 Структура игрового мира
15.1.1. Элементы мира
15.1.2. Области игрового мира
15.1.3. Высокоуровневый игровой поток
15.2. Реализация динамических элементов:
игровые объекты
15.2.1. Объектные модели игры
15.2.2 . Игровые объекты на этапах
проектирования и выполнения
15.3.. Игровые движки на основе данных
15.4. Редактор игрового мира
15 .4.1. Типичные возможности редактора игрового
мира
15 . 4.2 . Интегрированные средства управления
ресурсами
Глава 16. Системы организации игрового процесса
на этапе выполнения
16 .1. Компоненты системы организации игрового
процесса
16.2 . Архитектуры объектной модели времени
выполнения
16.2.1. Архитектуры объектного стиля
16.2.2 . Архитектуры на основе свойств
16.3 . Форматы областей игрового мира
16.3.1. Двоичные образы объектов
16.3.2 . Описание сериализованных игровых
объектов
16.3 .3 . Спаунеры и схемы типов
16.4 . Загрузка и потоковая передача игровых
миров
16.4.1. Простая загрузка уровней
16.4.2 . Шаг в направлении бесшовной загрузки:
шлюзы
16.4 .3 . Потоковая загрузка игрового мира
16.4 .4 . Управление памятью для создания
объектов
16.4.5. Сохраненные игры
16.5 . Ссылки на объекты и запросы к игровому
миру
16.5.1. Указатели
16.5.2. Умные указатели
16.5.3. Дескрипторы
16.5.4. Запросы игровых объектов
16.6 . Обновление игровых объектов в реальном
времени
16.6 .1. Простой подход (который не работает)
16.6.2. Влияние пакетных обновлений на
производительность
16.6.3. Взаимные зависимости объектов и
подсистем
16.7 . Применение конкурентности к обновлению
игровых объектов
16.7.1. Конкурентные подсистемы движка
16.7.2. Асинхронный подход к проектированию
16.7.3. Зависимости заданий и степень
параллелизма
16.7.4. Распараллеливание самой объектной
модели игры
16.8. События и передача сообщений
16.8.1. Проблема со статически типизированным
связыванием функций
16.8.2. Инкапсуляция события в виде объекта
16.8.3. Типы событий
16.8.4. Аргументы событий
16.8.5. Обработчики событий
16.8.6. Распаковка аргументов событий
16.8.7. Цепочки обязанностей
16.8.8. Подписка на события
16.8.9. Использовать ли очередь
16.8.10. Некоторые проблемы с незамедлительной
отправкой событий
16.8.11. Системы передачи событий/сообщений на
основе данных
16.9. Скрипты
16.9.1. Для выполнения кода и описания данных
16.9.2 . Характеристики языков программирования
16.9.3. Некоторые распространенные игровые
скриптовые языки
16.9.4. Архитектуры для скриптования
16.9.5. Возможности игровых скриптовых языков
на этапе выполнения
16.10. Высокоуровневый игровой поток
Часть V. Подведение итогов
Глава 17. Хотите сказать, что это еще не все?
17.1. Некоторые подсистемы движка, которые мы
не рассмотрели
17.1.1. Видеоплеер
17.1. 2 . Сетевые возможности для
многопользовательских игр
17.2 . Системы игрового процесса
17.2.1. Игровая механика
17.2.2. Камеры
17.2.3. Искусственный интеллект
17.2.4. Другие системы игрового процесса
Список литературы

Видео обзоры (1)

Сергей Пугачев — WebAssembly — внутреннее устройство и практическое применение

Сергей Пугачев — WebAssembly — внутреннее устройство и практическое применениезапуск видео

 

О книге

СерияДля профессионалов
ИздательПитер
Год издания2021
Страниц1136
Переплёттвердый
ISBN978-5-4461-1134-3
Размеры17,20 см × 24,00 см × 5,00 см
Формат70х100/16 (171х241 мм)
Автор(ы)
ТематикаТекстовые редакторы
Тираж700
АвторГрегори Д.
АвторыГрегори Д.
Год публикации2022
ЯзыкРусский
Количество страниц1136
ПереплетТвёрдый
Возрастная группа18
Кол-во страниц1136
Возрастные ограничения12
Возрастное ограничение12+
Тип обложкитвердая
Количество книг1
Вес1570
ИздательствоПитер
Язык изданияРусский
Обложкатвердый переплёт

Отзывы (4)

  • 5/5

    Такой нехилый томик за ручку проведёт читателя по миру создания игры. Книга шикарна для новичка, тут всё разложено на понятных словах, главы поделены по смыслу, нужны только начальные знания и математика. Ну, алгоритмы ещё не мешало бы знать, чтобы уверенно плавать. У книги твёрдая обложка, она представляет собой настоящий кирпич, читать такое только за столом, на весу не получится. Такое однозначно стоит рекомендовать к приобретению. Конечно, ценник невероятно большой, но и информации за него предоставляется достаточно.

    0    0

  • 5/5

    Скажу сразу - данная книга поможет создать первую игру. Информация грамотно подсказывает, как распорядится знаниями в областях звука, графики и сценарного дела, посоветую сайты в помощь, подскажет как обуздать искусственный интеллект. Но такая огромная стоимость! Да, она оправдана за каждое слово и ссылку, но сердце от этого кровью меньше не обливается. Такое сокровище советую каждому начинающему или профессиональному геймдизанеру. Польза велика.Твердая обложка спасет положение, тысяча с лишним страниц не развалятся после первого прочтения. В общем - 100/10.

    0    0

  • 5/5

    Я приобрел эту книгу, чтобы узнать больше о создании игровых движков и я был приятно удивлен ее содержанием. Эта книга предоставляет подробное описание процесса создания игрового движка, включая программирование и внутреннее устройство.

    Авторы начинают с объяснения теоретических аспектов игровых движков, включая базовую математику, физику, графику и звук. Затем они переходят к практическим вопросам, таким как создание игровых объектов, взаимодействие между объектами, анимация, искусственный интеллект и многое другое.

    Особенно хорошо написаны главы об архитектуре игрового движка и о процессе отладки. Книга также содержит множество примеров и задач, которые помогут закрепить материал.

    0    0

Добавить отзыв



 

Программирование - издательство "Питер"

Категория 2640 р. - 3960 р.

Программирование - издательство "Питер" »

Программирование

Категория 2640 р. - 3960 р.

ADS
закладки (0) сравнение (0)

 

preloader

12 ms