Содержание

Рецензия... 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