Аннотация....3
I. Введение....5
1. Архитектура, производительность и игры....13
II. Обзор шаблонов проектирования....25
2. Команда (Command)....26
3. Приспособленец (Flyweight)....40
4. Наблюдатель (Observer)....52
5. Прототип (Protorype)....71
6. Синглтон (Singleton)....89
7. Состояние (State)....106
III. Последовательные шаблоны (Sequencing Patterns)....127
8. Двойная буферизация (Double Buffering)....128
9. Игровой цикл (Game Loop)....148
10. Метод обновления (Update Method)....165
IV. Поведенческие шаблоны (Behavioral Patterns)....182
11. Байткод (Bytecode)....183
12. Подкласс песочница (Subclass Sandbox)....213
13. Объект тип (Type Object)....228
V. Шаблоны уменьшения связности (Decoupling Patterns)....248
14. Компонент (Component)....249
15. Очередь событий (Event Queue)....273
16. Поиск службы (Service Locator)....295
VI. Шаблоны оптимизации(Optimization Patterns)....311
17. Локализация данных (Data Locality)....312
18. Грязный флаг (Dirty Flag)....339
19. Пул объектов (Object Pool)....356
20. Пространственное разбиение(Spatial Partition)....372
Хороший код — основа любой игры. Работа игрового программиста состоит из множества задач, среди которых оптимизация игры, повышение производительности и создание надежной архитектуры. Одна из наиболее частых проблем, с которыми сталкиваются программисты, — разрастание кода до неконтролируемых размеров, что нередко обескураживает команду и даже встает на пути выхода игры. Как с этим бороться? У автора книги, программиста Electronic Arts Роберта Нистрема, есть для вас парочка действенных советов.