Содержание


Рецензия... 4
Благодарности... 11
Предисловие для второго издания... 11
Введение... 12
О книге... 12
Краткое содержание книги или чем мы будем заниматься на ее протяжении... 13
Об игровой индустрии... 14
Об игровых движках... 15
Семейство Torque. Предыстория... 18
Сообщество... 21
Почему Torque 2D?... 23
Почему 2D?... 25

Глава 1. Введение в Torque 2D... 26
Начало... 26
Torque 2D изнутри... 28
Жанры 2D игр... 31
Элементы 2D-игр и их представление в Torque 2D... 35
OK, я независимый разработчик, с чего начать?... 37
Инструменты... 39
Арт... 39
Кодинг... 42
Используемая версия движка Torque 2D... 44
Необходимое аппаратное обеспечение... 45
Заключение... 45

Глава 2. Скрипты и код... 47
Torque Script... 48
Выполнение Torque Script... 49
Для чего нужен Torque Script, если есть C++?... 50
Загрузка и установка Torque 2D... 51
Загрузка движка... 51
Построение движка... 55
Основные языковые конструкции Torque Script... 56
Массивы... 58
Комментарии... 59
Условные операторы... 59
Циклы... 63
Специальные языковые конструкции... 65
Строки... 65
Сложные типы данных... 67
Датаблоки... 67
Классы... 68
Объекты... 69
Контейнеры... 71
TAML... 74
Связь с движком — код C++... 77
Общие переменные... 78
Общие функции и методы... 80
Заключение... 87

Глава 3. Эксперименты... 88
Содержимое директории движка Torque 2D версии 3.3... 88
Обзор SandBox... 92
Создание нового проекта... 93
Создание сцен и объектов — заготовка для игр... 97
Заключение... 112

Глава 4. Объекты движка... 113
Игровые объекты... 114
Класс Scene... 114
Класс SceneWindow... 116
Класс SceneObject... 119
Класс SpriteBase... 121
Класс Sprite... 123
SkeletonObject... 123
CompositeSprite... 124
Scroller... 126
ImageFont... 127
TextSprite... 128
ParticlePlayer... 130
Trigger... 131
Ассеты... 132
ImageAsset... 133
AnimationAsset... 134
SkeletonAsset... 135
FontAsset... 136
ParticleAsset и ParticleAssetEmitter... 137
Заключение... 139

Глава 5. Физические свойства и взаимодействия... 140
Обработка физических взаимодействий с помощью Box 2D... 142
Физические типы объектов... 142
Изменение типа объекта... 144
Физические свойства объектов класса SceneObject и его потомков... 144
Координатная система и силы в Box 2D... 145
Преобразование систем координат... 147
Коллизии... 148
Формы столкновения... 148
Управление столкновениями... 151
События столкновений... 152
Сведения о столкновении... 154
Завершение столкновения... 155
Заключение... 156

Глава 6. Разработка аркадной игры Asteroids... 157
Введение... 158
Подготовительный этап... 158
Дизайн документ для игры Asteroids... 158
Создание проекта Asteroids... 159
Кодирование... 160
Константы и глобальные переменные... 163
Фон... 164
Космический корабль... 166
Движения космического корабля... 168
Управление космическим кораблем... 171
Столкновения... 172
Взрывы... 173
Астероиды... 176
Оружие... 181
Пули... 181
Лазерный луч... 185
Реализация стрельбы космического корабля... 185
НЛО... 187
Текстовые надписи... 190
Экран меню... 193
Обработка нажатий на визуальные элементы (кнопки)... 194
Запускаем и отлаживаем игру... 196
Распространение игры... 198
Заключение... 201

Глава 7. Torque 2D и мобильные платформы... 202
OS X... 202
Доработка игры для запуска и работы на мобильных платформах... 206
iOS... 210
Android... 211
Установка Android Studio... 211
Компиляция Asteroids под Android... 215
Windows Phone... 222
ANGLE... 223
Заключение... 224

Глава 8. Менеджер проектов для Torque 2D... 225
Обзор Project Manager: создание проекта... 226
Обзор исходного кода Project Manager... 228
Project Manager для OS X... 247
Visual Studio for Mac... 255
Заключение... 258

Глава 9. Простой физический эксперимент... 259
Соединения... 260
Типы соединений... 262
DistanceJoint... 262
FrictionJoint... 263
WeldJoint... 264
RopeJoint... 264
WheelJoint... 265
PulleyJoint... 266
TargetJoint... 267
PrismaticJoint... 268
MotorJoint... 269
RevoluteJoint... 271
Вывод... 272
Идея... 272
Разработка физического симулятора... 273
Фон... 273
Диск... 274
Крепеж... 276
Камень... 276
Цепь... 277
Гравитация... 282
Заключение... 282

Глава 10. Логическая игра Magic Mancala... 284
Описание манкалы... 285
Дизайн документ для Magic Mancala... 286
Целевая платформа... 288
Арт... 289
Создание проекта: расположение папок и файлов... 289
Разработка логической игры MagicMancala... 289
Начало выполнения игры — инициализация... 289
Фон... 294
Кристаллы... 296
Сокеты... 302
Обработка пользовательского ввода... 305
Модификация движка Torque 2D... 308
Скриптинг геймплея: лунки и сокеты... 312
Различия между скриптовым кодом и кодом движка на C++... 319
Остальные обработчики событий сокетов... 323
Перенос кристаллов... 324
Окно очереди хода... 346
Искусственный интеллект... 351
gameGUI.cs... 356
Магические заклинания... 360
Счетчик манны... 377
Текстовые надписи... 381
Главное меню... 383
Дополнительные окна... 390
Заключение... 400

Глава 11. MagicMancala в Google Play... 402
Подготовка билда: придаем нашей игре товарный вид... 402
Подготовка билда: создание ключа сертификации... 406
Google Play... 411
Внедрение рекламы в MagicMancala... 422
Обновление пакета в Google Play... 431
Заключение... 433

Глава 12. Использование контроллера Leap Motion... 435
Обзор устройства... 436
Программное обеспечение для Leap Motion... 439
Использование Leap Motion в играх... 446
Hidden Objects... 446
Разработка игры с Leap Motion... 447
LeapObjectsGame... 447
Аквариум... 453
FishClass... 457
Cursor... 459
Менеджер управления... 459
Заключение... 467

Итоги... 470
Эпилог. Планы на будущее... 472
Связь с автором... 473
Дополнительный сопроводительный материал... 474