Вы находитесь на странице: 1из 450

DAX GAZAWAY

INTRO-
DUCTION
TO GAME
SYSTEMS
DESIGN
ДАКС ГЭЗЕУЭЙ

ВВЕДЕНИЕ
В ДИЗАЙН
ИГРОВЫХ
СИСТЕМ
ПОШАГОВОЕ
РУКОВОДСТВО
ПО СОЗДАНИЮ
СБАЛАНСИРОВАННЫХ ИГР
УДК 004.9
ББК 77.056с.я92
Г98

Introduction to Game Systems Design


Dax Gazaway
Authorized translation from the English language edition,
entitled Introduction to Game Systems Design, 1st Edition
by Dax Gazaway, published by Pearson Education, Inc,
publishing as Addison Wesley Professional
Copyright © 2022 Pearson Education, Inc.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by
any means, electronic or mechanical, including photocopying, recording or by any information
storage retrieval system, without permission from Pearson Education, Inc.
Russian language edition published by Limited company Publishing House EKSMO
Copyright © 2023

Гэзеуэй, Дакс.
Г98 Введение в дизайн игровых систем : пошаговое руководство
по созданию сбалансированных игр / Дакс Гэзеуэй ; [перевод
с английского О. И. Перфильева]. — Москва : Эксмо, 2023. —
448 с. — (Мировой компьютерный бестселлер. Гейм-дизайн).
ISBN 978-5-04-167362-8
Хороший дизайн игровых систем — ключ к успеху любой игры. Систем-
ные дизайнеры закладывают базовые правила игры и ее баланс, задают зна-
чения атрибутов персонажей и оружия, принципы, как будет работать искус-
ственный интеллект и как будет происходить взаимодействие игрока с игрой.
Эта книга научит вас создавать игровые системы с нуля, работать с ос-
новными инструментами для системного дизайна, оценивать и настраивать
игровой баланс и тестировать системы, а также работать с психологией игро-
ков, создавая нужный вам игровой опыт.
УДК 004.9
ББК 77.056с.я92

© Перфильев О.И., перевод на русский язык, 2023


ISBN 978-5-04-167362-8 © Оформление. ООО «Издательство «Эксмо», 2023
Эта книга посвящается моей игровой семье. К ней принадлежат
все, кто воспитывал меня как геймера, кто был со мной
на протяжении всего этого пути и кто взял меня под свое
крыло, когда я осваивал профессию. Спасибо всем.
Краткое содержание

Предисловие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13

Благодарности . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19

Об авторе . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22

Глава 1 Игры и игроки: определения . . . . . . . . . . . . . . . . . . . .23

Глава 2 Роли в игровой индустрии . . . . . . . . . . . . . . . . . . . . .51

Глава 3 Как задавать вопросы . . . . . . . . . . . . . . . . . . . . . . . .63

Глава 4 Инструменты системного дизайна . . . . . . . . . . . . . . . .77

Глава 5 Основы электронных таблиц . . . . . . . . . . . . . . . . . . . .87

Глава 6 Функции электронных таблиц . . . . . . . . . . . . . . . . . . 133

Глава 7 Как на основе реальной жизни создать систему . . . . . . . 155

Глава 8 Разработка новых идей . . . . . . . . . . . . . . . . . . . . . . 167

Глава 9 Атрибуты: как выразить жизнь на языке цифр . . . . . . . . 183

Глава 10 Организация данных в электронных таблицах. . . . . . . . 195

Глава 11 Атрибуты в числах . . . . . . . . . . . . . . . . . . . . . . . . . 211

Глава 12 Основы системного дизайна . . . . . . . . . . . . . . . . . . . 225

Глава 13 Балансировка диапазона, опорные точки данных


и иерархический дизайн . . . . . . . . . . . . . . . . . . . . . 259

Глава 14 Экспоненциальный рост и убывающая отдача . . . . . . . . 285

Глава 15 Анализ игровых данных . . . . . . . . . . . . . . . . . . . . . . 303

Глава 16 Макросистемы и вовлеченность игрока . . . . . . . . . . . . 321

Глава 17 Тонкая настройка баланса, тестирование


и решение проблем . . . . . . . . . . . . . . . . . . . . . . . . . 335

Глава 18 Системная коммуникация и психология . . . . . . . . . . . 363

Глава 19 Вероятность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377

Глава 20 Дальнейшие шаги. . . . . . . . . . . . . . . . . . . . . . . . . . 435

Алфавитный указатель . . . . . . . . . . . . . . . . . . . . . . 439


Оглавление

Предисловие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Для кого эта книга. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Как пользоваться этой книгой . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Какие темы затрагивает эта книга . . . . . . . . . . . . . . . . . . . . . . . . 15
Благодарности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Об авторе. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Глава 1. Игры и игроки: определения . . . . . . . . . . . . . . . . . . . . . . 23


Определение «игры» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Поиск целевой аудитории для игры: характеристики игрока . . . . . . . . 29
Получаемая от игроков отдача (ценность) . . . . . . . . . . . . . . . . . . . . 39
Общий профиль аудитории . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Что делать с профилем целевой аудитории . . . . . . . . . . . . . . . . . . . 49
Дальнейшие шаги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Глава 2. Роли в игровой индустрии. . . . . . . . . . . . . . . . . . . . . . . . 51


Основная команда управления . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Команды специалистов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Производство . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Гейм-дизайн . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Саунд-дизайн . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Обеспечение качества (QA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Нарративный дизайнер . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Дополнительные роли . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Дальнейшие шаги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Глава 3. Как задавать вопросы. . . . . . . . . . . . . . . . . . . . . . . . . . . 63


Как задавать теоретические вопросы . . . . . . . . . . . . . . . . . . . . . . . 64
Как обращаться за помощью в решении проблемы . . . . . . . . . . . . . . 70
Дальнейшие шаги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

Глава 4. Инструменты системного дизайна . . . . . . . . . . . . . . . . . . 77


Что такое данные? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Инструменты игровой индустрии . . . . . . . . . . . . . . . . . . . . . . . . . 79
Дальнейшие шаги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
10 ОГЛАВЛЕНИЕ

Глава 5. Основы электронных таблиц . . . . . . . . . . . . . . . . . . . . . . 87


Почему электронные таблицы?. . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Что такое электронная таблица? . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Ячейки электронных таблиц: строительные кирпичики данных. . . . . . 91
Контейнеры данных в электронных таблицах . . . . . . . . . . . . . . . . . 98
Операции с рабочими листами . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Фильтры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Проверка данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Дальнейшие шаги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

Глава 6. Функции электронных таблиц . . . . . . . . . . . . . . . . . . . . 133


Группировка аргументов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Структура функций . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Более сложные функции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Функции для гейм-дизайнеров . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Как выбрать правильную функцию . . . . . . . . . . . . . . . . . . . . . . . 152
Дальнейшие шаги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

Глава 7. Как на основе реальной жизни создать систему. . . . . . . . . . 155


Абстрактный пример . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Сюжет (история) в играх . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Дальнейшие шаги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

Глава 8. Разработка новых идей . . . . . . . . . . . . . . . . . . . . . . . . . 167


Шведский стол идей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Сессия мозгового штурма . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Методы повышения креативности. . . . . . . . . . . . . . . . . . . . . . . . 175
Дальнейшие шаги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181

Глава 9. Атрибуты: как выразить жизнь на языке цифр . . . . . . . . . . 183


Механики и атрибуты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Составление списка атрибутов . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Определение атрибута . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Группировка атрибутов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Дальнейшие шаги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

Глава 10. Организация данных в электронных таблицах . . . . . . . . . 195


Создание электронной таблицы для чтения другими людьми . . . . . . 196
Старайтесь не вводить числа . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Маркировка данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
ОГЛАВЛЕНИЕ 11

Проверяйте данные . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198


Используйте столбцы для атрибутов и строки для объектов . . . . . . . 199
Цветовое кодирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Не добавляйте ненужные столбцы, строки или пустые ячейки . . . . . . 202
Разделяйте объекты данных с помощью листов . . . . . . . . . . . . . . . 204
Пример электронной таблицы . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Дальнейшие шаги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208

Глава 11. Атрибуты в числах . . . . . . . . . . . . . . . . . . . . . . . . . . . 211


Передаваемые атрибутами ощущения . . . . . . . . . . . . . . . . . . . . . 212
Определение детализации чисел. . . . . . . . . . . . . . . . . . . . . . . . . 212
Поиски правильных чисел. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Дальнейшие шаги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

Глава 12. Основы системного дизайна. . . . . . . . . . . . . . . . . . . . . 225


Вес атрибутов. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
DPS и взаимосвязанные атрибуты . . . . . . . . . . . . . . . . . . . . . . . . 230
Двоичный (бинарный) поиск . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Именование объектов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Имена итераций объектов. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Формула рукопожатий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Дальнейшие шаги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256

Глава 13. Балансировка диапазона, опорные точки данных


и иерархический дизайн . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Балансировка диапазона. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Опорные точки данных. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Иерархический дизайн. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Дальнейшие шаги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282

Глава 14. Экспоненциальный рост и убывающая отдача. . . . . . . . . . 285


Линейный рост. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Экспоненциальный рост . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Дальнейшие шаги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300

Глава 15. Анализ игровых данных . . . . . . . . . . . . . . . . . . . . . . . 303


Обзорный анализ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Глубокий анализ следующего уровня. . . . . . . . . . . . . . . . . . . . . . 313
Анализ данных на практике. . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Сравнительный анализ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
12 ОГЛАВЛЕНИЕ

Канарейки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Дальнейшие шаги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

Глава 16. Макросистемы и вовлеченность игрока. . . . . . . . . . . . . . 321


Настройка сложности макросистем . . . . . . . . . . . . . . . . . . . . . . . 322
Сочетания методов балансировки . . . . . . . . . . . . . . . . . . . . . . . . 333
Дальнейшие шаги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334

Глава 17. Тонкая настройка баланса, тестирование


и решение проблем . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Баланс . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Игровое тестирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
Решение проблем . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Дальнейшие шаги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362

Глава 18. Системная коммуникация и психология . . . . . . . . . . . . . 363


Игры как коммуникация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
Значения слов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
Шум. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
Взаимность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Вознаграждение ожиданий . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Дальнейшие шаги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375

Глава 19. Вероятность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377


Основы теории вероятности . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Профили вероятности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
Измерение удачи в играх . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
Дальнейшие шаги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433

Глава 20. Дальнейшие шаги . . . . . . . . . . . . . . . . . . . . . . . . . . . 435


Практика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
Анализ существующих игр . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
Игра в новые игры. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
Модификация существующих игр . . . . . . . . . . . . . . . . . . . . . . . . 437
Работа над собственной игрой . . . . . . . . . . . . . . . . . . . . . . . . . . 437
Продолжение обучения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438

Алфавитный указатель . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439


ПРЕДИСЛОВИЕ

В этой книге простым языком объясняются основные принципы дизайна


игровых систем. Многочисленные примеры и аналогии помогут вам разо-
браться в темах, которые сначала могут показаться пугающими, но на са-
мом деле вполне доступны. Главное внимание в книге уделяется использо-
ванию электронных таблиц для проектирования систем. В ней излагаются
основы и даются практические рекомендации по использованию электрон-
ных таблиц для более эффективной обработки сложных игровых данных.

Для кого эта книга


Основная аудитория этой книги — начинающие гейм-дизайнеры, новички
в области проектирования систем, которые хотят узнать больше об этом.
Предполагается, что все читатели книги знакомы с основами математики.
Помимо этого, никаких других требований для изучения дизайна игр нет.
Книга создана для того, чтобы подготовить человека с базовым средним
образованием до уровня практикующего гейм-дизайнера.
Ниже перечислены группы людей, которым могут быть полезны мето-
ды, описанные в этой книге.

 Начинающие профессиональные гейм-дизайнеры.


 Гейм-мастера/данжен-мастера.
 Гейм-дизайнеры — любители видеоигр.
 Гейм-дизайнеры бумажных RPG и других аналоговых игр.
 Опытные дизайнеры уровней, которые хотят узнать больше о дизайне
систем.
 Программисты/инженеры, которые будут работать с системными ди-
зайнерами.
 Преподаватели средних школ, которые хотят использовать игры для
обучения математике.
 Продюсеры / ведущие гейм-дизайнеры, которые хотят лучше понимать
системы.
14 ПРЕДИСЛОВИЕ

Как пользоваться этой книгой


Если вы не имеете особых предварительных знаний об игровых системах,
то книгу можно читать последовательно, с начала до конца. Вместе с тем
она представляет собой подобие справочника, из которого смогут почерп-
нуть полезную информацию даже опытные гейм-дизайнеры. Лучший спо-
соб усвоения —  прочитать книгу один раз, работая одновременно с элек-
тронными таблицами, а затем вернуться к ней при создании следующей
игры и  воспользоваться ею как руководством по  сложным задачам, ре-
шить которые будет необходимо для полной реализации вашей игры.
В этой книге обсуждается и упоминается ряд существующих игр, и вам
будет полезно иметь определенное представление о них. Прежде чем про-
должать чтение, ознакомьтесь со следующими играми, хотя бы посмотрев
видеообзоры в  Интернете или найдя бесплатные веб-приложения и  сы-
грав в них несколько раз.

 Сыграйте в  нарды, шахматы и  царскую игру Ура. Обращайте внима-


ние на броски костей в этих играх, на передвижение фишек и механику
взаимодействия каждой игры с игровыми объектами.
 Сыграйте в игру Battle for Wesnoth («Битва за Веснот»), чтобы получить
лучшее представление о пошаговых играх и о том, что представляют
собой RPG (ролевые игры). В этой игре описываются объекты данных,
обусловленные атрибутами, и  игровые механики, иллюстрирующие
многие из рассматриваемых в этой книге концепций. Кроме того, она
поддерживается активным сообществом, хорошо документирована
и регулярно обновляется.
 Сыграйте в PacMan, Galaga и другие классические аркадные игры или
по крайней мере посмотрите их обзоры.

Игры, которые используются в этой книге в качестве примеров, были


специально отобраны благодаря своей доступности.
В этой книге очень подробно описываются многие методы работы с иг-
ровыми системами. Может показаться, что они предлагаются в качестве
единственных рекомендаций, но это не так. Гейм-дизайнеры в своей ра-
боте пользуются бесконечным количеством методов, трюков и приемов,
и все это невозможно описать в одной книге. Эта книга призвана стать от-
правной точкой, показывающей несколько избранных методов, полезных
ПРЕДИСЛОВИЕ 15

для всех гейм-дизайнеров. Я настоятельно советую вам продолжать знако-


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

Какие темы затрагивает эта книга


Вот краткое изложение того, чему посвящена каждая из глав книги.

Глава 1. Игры и игроки: определения


В этой главе дается определение некоторых важных используемых в книге
терминов и проясняются некоторые важные темы.

Глава 2. Роли в игровой индустрии


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

Глава 3. Как задавать вопросы


Гейм-дизайнеры должны уметь задавать правильные вопросы, и эта глава
поможет вам овладеть таким умением.

Глава 4. Инструменты системного дизайна


Игровая индустрия, как и следовало ожидать, изобилует компьютерными
программными инструментами. В этой главе рассматриваются типы ин-
струментов, которыми вы, вероятнее всего, будете пользоваться, и некото-
рые из наиболее популярных инструментов в каждой категории.

Глава 5. Основы электронных таблиц


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

Глава 6. Функции электронных таблиц


В этой главе продолжается обучение возможностям электронных таблиц
с упором на их функции.
16 ПРЕДИСЛОВИЕ

Глава 7. Как на основе реальной жизни создать систему


Если как следует рассмотреть механику любой игры, то можно заметить,
что она отражает какие-то аспекты реальной жизни, пусть и в абстракт-
ном выражении. В  этой главе объясняется, как использовать такие аб-
стракции для создания строительных «кирпичиков» игр.

Глава 8. Разработка новых идей


Эта глава поможет вам развить свои творческие навыки и,  в  частности,
в том, что касается новых идей для игр.

Глава 9. Атрибуты: как выразить жизнь на языке цифр


Одна из наиболее распространенных задач, которые приходится решать
гейм-дизайнерам на начальном этапе, — это создание атрибутов игровых
объектов. В  этой главе рассказывается о  том, что такое атрибуты и  как
приступить к их созданию.

Глава 10. Организация данных в электронных таблицах


При создании атрибутов игровых объектов их нужно каким-то образом
упорядочивать и  анализировать. Лучший инструмент для этого  —  элек-
тронная таблица. В  этой главе рассказывается о  том, как организовать
свои идеи в удобном для использования формате.

Глава 11. Атрибуты в числах


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

Глава 12. Основы системного дизайна


В  этой главе рассматривается вес атрибутов, взаимосвязи между ними,
двоичный поиск нужного числа и методы присвоения имен.

Глава 13. Балансировка диапазона, опорные точки данных и иерархи-


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

Глава 14. Экспоненциальный рост и убывающая отдача


Экспоненциальный рост  —  один из  самых мощных методов баланса со-
временных игр. В этой главе рассказывается, почему мы используем этот
ПРЕДИСЛОВИЕ 17

метод, и описывается формула для быстрого создания практически беско-


нечного числа разновидностей экспоненциального роста в играх.

Глава 15. Анализ игровых данных


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

Глава 16. Макросистемы и вовлеченность игрока


Для настройки уровня сложности, соответствующего потребностям игро-
ка, можно использовать несколько различных методов. В этой главе дает-
ся общий обзор различных приемов достижения нужного баланса в игре
с примерами их использования.

Глава 17. Тонкая настройка баланса, тестирование и решение проблем


Больше всего времени гейм-дизайнер тратит не  на  проектирование,
а на балансировку, тестирование и решение проблем. В этой главе рассма-
триваются методы, позволяющие облегчить эти задачи и повысить их эф-
фективность.

Глава 18. Системная коммуникация и психология


Игры можно преподносить аудитории разными способами. Гейм-дизай-
нер должен учитывать, как конкретная игра дает информацию игрокам
и как она получает информацию от них. Эта глава охватывает многие ас-
пекты общения с игроками.

Глава 19. Вероятность


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

Глава 20. Дальнейшие шаги


Заключительная глава указывает направление для дальнейшего роста
в области дизайна игровых систем.
18 ПРЕДИСЛОВИЕ

Чтобы получить удобный доступ к  обновлениям или исправлени-


ям по мере их появления, зарегистрируйте свой экземпляр «Введе-
ния в дизайн игровых систем» на сайте InformIT. Для этого перейди-
те на сайт по адресу informit.com/register и вой дите в систему или
создайте учетную запись. Введите ISBN продукта 9780137440849
и нажмите кнопку «Отправить». На вкладке «Зарегистрированные
продукты» найдите рядом с этим продуктом ссылку «Доступ к бо-
нусному контенту» и  перейдите по  этой ссылке, чтобы получить
доступ к  любым доступным бонусным материалам. Если вы хоти-
те получать уведомления об эксклюзивных предложениях на новые
издания и обновления, пожалуйста, отметьте галочкой возможность
получения электронных писем от нас.
БЛАГОДАРНОСТИ

Прежде всего я должен поблагодарить свою жену, Мелани Гэзеуэй, ко-


торая поддерживала меня, пока я жил этой книгой, поощряла меня за-
писывать все идеи и помогла мне найти все самые ужасные опечатки,
прежде чем отправлять книгу на рецензию. Следующими я хочу побла-
годарить своих детей, Маззи и  Джека, которым пришлось многое пе-
режить, пока я работал в игровой индустрии, задерживался допоздна
в офисе или отказывался от отпуска. У меня не всегда получалось быть
рядом с ними, когда мне этого хотелось, но они никогда не обижались
на меня за это.
Далее я хочу поблагодарить своих родителей, Армен и Майкла Гэзеуэй,
которые воспитали меня как геймера-«ботаника». Без них я бы точно за-
нимался сейчас совсем другим. Мой отец был и моим первым мастером
подземелий, а также первым в моей жизни человеком, который занимался
разработкой и модификацией игр. Он научил меня основам игрового ди-
зайна еще до того, как большинство детей узнали о существовании этого
явления. Моя мама Армен читала мне на ночь «Властелина колец» и раз-
решила мне прогулять школу, чтобы посмотреть «Звездные войны» в день
премьеры. Даже сейчас мы в своем повседневном общении продолжаем
обсуждать игры, фантастику и фэнтези.
Помимо моих родителей огромное влияние на  меня как на  геймера
оказал друг семьи Рик Херрик. Мои друзья детства, Скотт Стоклин и Джес-
си Уайз, познакомили меня с еще большим количеством игр и стали испы-
туемыми для некоторых из моих самых ранних и неудачных попыток со-
здания собственных игр.
В колледже я попал в настоящий «плавильный котел дизайна» —  мои
друзья по колледжу постоянно создавали игры и играли в них. Именно
тогда я развивался быстрее чем когда-либо, прежде чем стал настоящим
профессионалом. Особенно мне хотелось бы поблагодарить мою игровую
группу, в том числе Дакса Берга, Гуза, Тодда Мейерса, Рона Мертеса, Скипа,
Фоза, Чадов, Пигмена, Сару Лэйсер, Мари, Гленна, Коннора, Эвана и всех
Дэйвов.
20 БЛАГОДАРНОСТИ

Когда я стал специалистом, огромную помощь мне оказал коллектив


3DO. Особенно я хочу поблагодарить его руководителей Джейсона Эппса
и Говарда Скотта Уоршоу (да, того самого Говарда Скотта Уоршоу). Они по-
могли мне пройти путь от новичка до профессионального гейм-дизайнера.
Впервые я  услышал фразу «дизайнер игровых систем» (далее гейм-
дизайнер) в команде Lucas Arts, из уст Криса Росса, и она зацепила меня
на всю жизнь. Кроме того, он и Дэн Коннорс оказали мне большую под-
держку и помогли мне понять, что же действительно стоит за этим новым
неофициальным названием. Нет слов, чтобы выразить мою благодарность
коллективу Gladius. Все сотрудники были прекрасными, и, работая с ними,
я узнал много нового из того, чем делюсь в этой книге. Особенно я благо-
дарю команду системщиков — Алекса Нойза, Дерека Флиппо и  Роберта
Блэкаддера.
Студия Vicarious Visions взяла меня на работу именно потому, что я был
гейм-дизайнером, и именно в этом направлении ее сотрудники и хотели
развиваться. На меня была возложена огромная ответственность, и там
я научился невероятно многому. Друзей в этой студии у меня было больше,
чем я смог бы здесь перечислить, поэтому я скажу отдельное спасибо своей
команде «системщиков»: Дэну Тонгэ, Джонатану Минцу, Алану Кимболлу
(программисту-экстремалу и почетному системщику), Джею Туайнингу,
Джастину Хайслеру, Майку Хрзановски, Брэндону Ван Слайку и Джессике
Лотт. Спасибо Тиму Стеллмаху за то, что познакомил меня с Bad Storming.
Последней профессиональной студией, где я  работал, и,  несомненно,
лучшей была Row Sham Bow. Каждый человек там был потрясающим. Она
установила для меня такую высокую планку, что я буду рассматривать воз-
можность работы только в такой же замечательной студии.
Я хотел бы поблагодарить команду Университета Фулл Сейл. Я люблю
преподавать и делиться своим опытом с увлеченными, мотивированными
студентами, которые только вступают на путь профессионального созда-
ния игр. К написанию этой книги меня, в частности, подтолкнули неко-
торые мои коллеги, предоставившие ценную обратную связь в процессе
работы. Среди них — Зак Хивиллер, Рикардо Агильо, Фернандо де ла Крус,
Кристина Кейдингер, Эндрю О’Коннор, Хейден Винзант, Пол Фикс, Дерек
Маруновски и  Филлип Маруновски. Особую благодарность я  выражаю
также моим стажерам и тем замечательным студентам, которые постоян-
но приходили поиграть в игры.
Наконец, я  хочу поблагодарить всех своих замечательных студентов.
Их увлеченность и энтузиазм заставляют меня вновь почувствоать себя
БЛАГОДАРНОСТИ 21

молодым. Я написал эту книгу специально для них. Более двадцати лет
я накапливал знания, которые теперь излагаю здесь и передаю следующе-
му поколению. Я очень надеюсь, что смогу сделать их путь легче, подобно
тому, как мои наставники сделали мой путь легче своего.
ОБ  АВТОРЕ

Дакс Гэзеуэй вырос в  семье геймеров. Его родители познакомились


в группе игроков в Dungeons & Dragons, и с раннего детства его окружали
игры, в которые играли и которые создавали. Особенно мальчика зачаро-
вывали цифры в играх. Он перелистывал руководства по монстрам и кни-
ги по настольным играм, разбирая правила и стараясь понять, как рабо-
тают системы.
В конце 1990-х Дакс начал работать в индустрии видеоигр. За все время
в индустрии он потрудился как в независимых студиях, так и в ААА-ком-
паниях; он стал пионером в разработке игровых систем и помогал совер-
шенствовать и  определять дальнейшее направление развития этой суб-
дисциплины. В последние годы Дакс ведет курс в Университете Фулл Сейл
(Full Sail) по  концепциям и  инструментам гейм-дизайнера. Он разрабо-
тал новую учебную программу и множество семинаров для студентов, из-
учающих системный дизайн, а также преподает на вводных курсах по си-
стемному дизайну.
Вот лишь некоторые пункты послужного списка Дакса как гейм-дизай-
нера:

 Star Wars: Obi-Wan: гейм-дизайнер и дизайнер уровней;


 Star Wars: Jedi Starfighter: гейм-дизайнер и дизайнер уровней, коорди-
натор контроля качества;
 Star Wars: Bounty Hunter: гейм-дизайнер и дизайнер уровней;
 Gladius: дизайнер систем;
 Франшиза Syphon Filter: ведущий гейм-дизайнер;
 Spider-Man 3: ведущий гейм-дизайнер;
 Marvel Ultimate Alliance 2: ведущий гейм-дизайнер;
 Франшиза Guitar Hero: гейм-дизайнер.

Кроме этого, Дакс был ведущим гейм-дизайнером систем в студии Row


Sham Bow Games и консультантом по гейм-дизайну в нескольких проектах.
ГЛ А В А 1

ИГРЫ И  ИГРОКИ:
ОПРЕДЕЛЕНИЯ

Перед тем как изучать какую-то тему, важно


договориться о терминологии. В этой главе
дается определение ряда терминов общего
словаря, который будет использоваться
на протяжении всей книги. В начале главы
предлагаются рабочие определения «игры»
и «игрока», а затем подробно рассматриваются
их функциональные определения,
помогающие отличить собственно «игру»
от того, что лишь похоже на игру. Кроме того,
мы разберем различные характеристики
игроков на практическом примере, которым
вы сможете воспользоваться для разработки
своих игр.
24 ГЛАВА 1 ИГРЫ И ИГРОКИ: ОПРЕДЕЛЕНИЯ

Определение «игры»
Прежде чем давать определение «гейм-дизайнерам», нужно определить,
что  же такое собственно «игра». Конечно, с  философской точки зрения
можно утверждать, что «Жизнь — это игра» или что «Вся Вселенная и все,
что существует в ней — это большая игра», но в рамках этой книги необхо-
димо сосредоточиться именно на том виде деятельности, который обычно
называют игрой, и рассмотреть, чем эта деятельность отличается от все-
го остального.
Игры —  это созданные людьми объекты и явления, обладающие неко-
торыми специфическими свойствами (атрибутами). Вместо того чтобы по-
пытаться описать все, что может быть игрой, полезнее рассмотреть раз-
личные критерии, которые должны удовлетворяться для утверждения, что
перед нами игра. Таким образом мы как бы создаем контрольный список
особенностей, или признаков, в котором должны быть отмечены все пунк-
ты, чтобы что-то можно было назвать «игрой».

 Игра имеет искусственные, заранее определенные правила.


 Игрок может влиять на исход игры.
 Игрок может отказаться от участия в игре.
 Игровые сессии ограничены по времени.
 Игра предоставляет внутреннее вознаграждение, не  имеющее внеш-
ней ценности.

В следующих разделах мы рассмотрим эти свойства по очереди, чтобы


лучше понять сам термин «игра».

Искусственные, заранее определенные правила


Когда одно животное охотится на другое, это не игра. Цели в таком сцена-
рии — убить или выжить. В охоте существуют правила, но они продиктова-
ны биологией, физикой, химией и многими другими факторами. Конечно,
существуют физические ограничения на то, что можно сделать на охоте,
но для нее нет никаких искусственных ограничений; в охоте не существу-
ет такого понятия, как «жульничество».
Таким образом, охота — это не игра, но в дикой природе можно наблю-
дать, как многие животные играют в игры, похожие на охоту. Медвежа-
та могут бороться, не пытаясь причинить друг другу вред. Волки могут
ОПРЕДЕЛЕНИЕ «ИГРЫ» 25

гоняться друг за другом как за добычей, но не нападая по-настоящему друг


на друга. По сути, это и есть игры. Мы, люди, склонны полагать, будто об-
ладаем монополией на игры, но это не так.
Рассмотрим теперь две формы «противоборства» между людьми: улич-
ную драку и  спортивную борьбу. В  уличной драке нет никаких правил.
Уличные драки запрещены законом, поэтому в  этом виде деятельности
нет даже видимости каких-либо правил. Если один из бойцов явно круп-
нее и опытнее другого, то драка, скорее всего, закончится быстро. Если
один из бойцов может схватить и использовать какое-то оружие, он легко
может победить. В уличной драке может произойти все, что позволяют фи-
зические обстоятельства. Итак, уличная драка —  это действительно дра-
ка; в  какой-то мере ее можно даже считать «состязанием», но это не игра.
На  другом конце спектра человеческого противоборства находится
спортивная борьба. Это тоже очень физическое состязание, которое мо-
жет напоминать драку, но это игра. Чем же она отличается от уличной дра-
ки? Правилами. В спортивной борьбе игрокам не разрешается использо-
вать оружие. Им не разрешается бить кулаками и пинать друг друга, хотя
у них явно есть для этого средства, и почти всегда это наверняка было бы
преимуществом.
Рассмотрим теперь состязание, в котором не происходит реального фи-
зического контакта, не говоря уже о драке, — шашки. Когда два игрока
садятся играть в шашки, цель одного из них —  захватить все шашки со-
перника. Хотя физически ничто не мешает игроку просто протянуть руку
и схватить шашки соперника, правилами это запрещено. Оба игрока зара-
нее условились, что снимать с доски шашки соперника можно только при
определенных обстоятельствах. Победителем один из игроков может быть
объявлен только при соблюдении искусственных правил игры. В шашках
набор обстоятельств, при которых позволяется снять шашку с доски, стро-
го ограничен — то есть любой ход, который не соответствует строго заяв-
ленному правилу, считается противоречащим правилам.
Если бы правила игры не были согласованы, игра бы быстро развали-
лась и перестала функционировать. Если существует установленный на-
бор правил игры и  игрок решает сыграть в  эту игру, то  можно косвен-
но предположить, что он согласился со всеми правилами —  независимо
от того, знает ли он их или понимает.
Хотя важны все указанные выше признаки игры, самый важный сре-
ди них — наличие заранее определенных искусственных правил. Без этих
правил игры не существует.
26 ГЛАВА 1 ИГРЫ И ИГРОКИ: ОПРЕДЕЛЕНИЯ

Игрок влияет на исход игры


Этот признак может показаться в какой-то степени спорным. Кое-кто счи-
тает, что игра может быть игрой, даже если игроки не оказывают на нее
никакого влияния. Однако в этой книге считается, что если игрок не ока-
зывает влияния на игру, то его нельзя назвать игроком, а сама деятель-
ность — не игра. Рассмотрим пару примеров.
В игре Candy Land игроки по очереди вытягивают карты, а затем переме-
щают свою фишку по линейной дорожке к цели. Можно ли назвать это иг-
рой? Согласно указанным нами критериям, игрок должен оказывать влия-
ние на игру, и потому это не «игра». В Candy Land у игрока нет никакого
инструмента влияния на  происходящее. Представьте, что всеми четырь-
мя фишками в  Candy Land будет играть один человек. Сможет  ли он по-
влиять на происходящее так, чтобы победила понравившаяся ему фишка?
Нет. Игра в Candy Land и в таком случае будет проходить точно так же, как
если бы фишки по отдельности передвигали четыре человека. Игра прохо-
дит одинаково, независимо от желания, навыков или намерения игрока.
В шахматах же, напротив, если один игрок станет играть за обе сторо-
ны по очереди, ему будет легко решить, какая сторона выиграет, а какая
проиграет. Большинству людей трудно играть в шахматы против самих
себя, потому что уж слишком легко склонить одну из сторон к победе, даже
не особенно стараясь.

От игры можно отказаться


Итак, мы сформулировали принципы, согласно которым игра имеет опре-
деленные искусственные правила, и вовлеченные в игру люди могут влиять
на нее. Обоим этим требованиям отвечают и законы, но, очевидно, законы — 
это не игры, а законодатели — не разработчики игр. Не зря же у нас есть от-
дельное слово для обозначения законодателей. Но что делает закон чем-то
большим, чем набор игровых правил? Дело в том, что имеющие отношение
к закону люди не могут отказаться от него. Рассмотрим пару примеров.
Допустим, человек идет с баскетбольным мячом в руках, а кто-то окли-
кает его: «Так нельзя. Ты должен вести мяч —  ударять его о пол во время
ходьбы». Человек может ответить: «Я не играю в баскетбол. Я просто иду
с мячом, так что все в порядке». Это совершенно нормально. Люди не обя-
заны играть в игру.
С  другой стороны, если человек переходит дорогу в  неположенном
месте, кто-то может сказать: «Это незаконно. Здесь нельзя переходить
ОПРЕДЕЛЕНИЕ «ИГРЫ» 27

дорогу». Нарушитель не сможет оправдаться, ответив: «Я не играю, так что


все в порядке». Все люди обязаны соблюдать законы того места, где нахо-
дятся, независимо от того, хотят ли они этого, помнят ли об этом и даже
знают ли о законе. В этом заключается ключевое различие между закона-
ми и правилами игры: от исполнения законов нельзя отказаться, но мож-
но отказаться от игры.

Игровые сессии ограничены по времени


Игра должна иметь некое логическое завершение, чтобы участники ино-
гда «играли в игру», но не все время. Массовая многопользовательская он-
лайн-игра (ММО) может продолжаться бесконечно, но отдельные игроки
время от времени выходят из нее и прекращают играть. Правила игры су-
ществуют для тех, кто играет, но не для тех, кто закончил сессию.
В социальном клубе, таком как «бойскауты» или «герлскауты», суще-
ствуют искусственные правила, члены клуба могут влиять на свой статус
и, следовательно, на результат своего членства, а также члены клуба мо-
гут отказаться от участия (выйти из клуба), если захотят. Таким образом,
исходя из этих трех признаков, подобные организации можно считать иг-
рами. Однако они не имеют ограниченных по времени сессий. Когда вы
вступаете в клуб или другую социальную организацию, вы соглашаетесь
следовать правилам группы постоянно, а не только в определенное время.
Это отличает социальные клубы, музыкальные группы, театральные труп-
пы и многие другие организации по интересам от игр.

Внутренние награды
Исходя из уже упомянутых признаков, можно счесть игрой работу. В ней
есть искусственные правила, диктующие, что, когда и где нужно делать.
От  работы можно отказаться, и  она происходит отдельными сессиями.
Еще один аспект, характерный именно для игр, —  это внутренние награ-
ды, то есть награды, имеющие ценность только в игре 1. Например, в игре
в шашки захват шашки противника представляет собой очень большую
ценность. Однако эта захваченная шашка не имеет никакой ценности вне

1
Здесь термин «внутренняя награда» используется в контексте наград внутрииг-
ровой среды. Существует другое понятие внутренней награды —  это ощущение
игрока, что он справился, что его навык вырос по сравнению с предыдущими по-
пытками, и в противовес ей внешней награды, которая представляет собой вну-
триигровые ценности: монетки, элементы экипировки и т. п. —  Прим. науч. ред.
28 ГЛАВА 1 ИГРЫ И ИГРОКИ: ОПРЕДЕЛЕНИЯ

игры. В конце одной игры все шашки возвращаются в коробку и вновь рас-
ставляются на доске перед началом следующей. Вознаграждением за рабо-
ту же обычно служат деньги. Финансовое вознаграждение не теряет своей
ценности за рамками работы, и его можно использовать в более крупной
экономической системе.
Рассмотрим пример посложнее: покер. Обычно покер считают игрой,
хотя некоторые люди воспринимают его как свою профессию. В этой игре
игроки играют на деньги, имеющие внешнюю ценность, но у некоторых
аспектов игры ценность лишь внутренняя. Например, в контексте поке-
ра очень ценным считается расположение карт одной масти по порядку.
Вне покера выпадение пяти карт одной масти по порядку — по-прежнему
очень редкое явление, но ценности у него никакой. Именно внутренние
награды превращают задачу, поручение или работу в игру.

Совокупность всех признаков


Собрав воедино все описанные выше признаки, мы получим уникальное
определение игры. Каждая игра, которую мы рассмотрим, обладает всеми
этими свойствами.
В действительности определить, что можно назвать игрой, а что нет, бы-
вает довольно трудно. Кое-какие признаки игры можно разглядеть и в ра-
боте. Одни игры содержат в себе другие игры. Некоторые виды деятель-
ности можно назвать игрой, но при этом в них не хватает какого-нибудь
важного аспекта (например, в Candy Land нет влияния игрока). Но несмо-
тря на все эти расхождения, у нас теперь хотя бы есть достаточно четкое
представление о признаках, необходимых для того, чтобы назвать что-то
игрой, и мы можем двигаться дальше, опираясь на это определение.

ГОЛОВОЛОМКИ И ИГРУШКИ

Головоломки  —  это большой и  уникальный игровой поджанр.


У головоломки есть конкретный правильный ответ. Каждую голово-
ломку либо решают в соответствии с правилами, либо продолжают
работать над ней, либо сдаются. Головоломка обладает признаками
игры, но  проиграть здесь невозможно; можно только прекратить
играть. При разработке сложной игры, включающей в себя другие
игры и головоломки, важно помнить о следующем различии: если
ПОИСК ЦЕЛЕВОЙ АУДИТОРИИ ДЛЯ ИГРЫ: ХАРАКТЕРИСТИКИ ИГРОКА 29

игрок может потерпеть поражение, то это игра; если же игрок может


продолжать попытки без наказания, пока не решит задачу, то это
головоломка 2.
У игрушек нет правил, поэтому их легко отличить от игр. Игрушки
похожи на  игры, но  с  игрушкой можно делать что угодно в  рам-
ках физических ограничений. Согласно этому определению, мно-
гие компьютерные игры и их модификации —  это скорее игрушки,
а не игры, потому что в них можно менять правила и, следовательно,
исход каждой сессии 3.

Поиск целевой аудитории для игры:


Характеристики игрока
Определившись с признаками игры, следует подумать о том, для кого вы
создаете игру. Кто будет в  нее играть? И,  что важнее, что такое вообще
«игрок»? В каком-то смысле буквально каждый человек в мире либо игра-
ет сейчас, либо бывший игрок; большинство людей любят разные игры
и иногда играют в них.
Для определения целевой аудитории можно полагаться на различные
атрибуты (характеристики) игроков, как далее в этой книге вы будете де-
лать в отношении игровых объектов. К атрибутам игроков относятся раз-
нообразные признаки, от демографических показателей до особенностей
поведения и отношения к чему-либо. В следующих разделах описываются
некоторые из атрибутов игроков, и это лишь примеры из почти бесконеч-
ного числа способов описания игроков. Пользуйтесь этой информацией
как отправной точкой для собственного исследования, а не как шаблоном
для «правильного определения» игрока.

2
Спорное утверждение. Существует множество головоломок, в  которых можно
проиграть. К примеру, в популярной головоломке «Тетрис» со временем увеличи-
вается динамика падения фигур при сокращении объема пространства, где ими
можно манипулировать. Игра всегда заканчивается поражением, но при этом от-
носится к жанру головоломок. — Прим. науч. ред.
3
Правила могут просто давать игроку больше возможностей в  рамках игры.
Minecraft, к  примеру, тоже является игрой, несмотря на  высокую агентивность
и неповторяющийся исход каждой игровой сессии. — Прим. науч. ред.
30 ГЛАВА 1 ИГРЫ И ИГРОКИ: ОПРЕДЕЛЕНИЯ

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

Возраст
По возрасту всех игроков можно распределить по двум основным категори-
ям: взрослые и дети/подростки. У детей когнитивные навыки еще только раз-
виваются, и развиваются они (очень приблизительно) в соответствии с возра-
стом. К играм, ориентированным на растущих детей, предъявляются особые
требования, и действуют законодательные ограничения. Как разработчик вы
должны учитывать степень когнитивного развития детей разного возраста,
если хотите создавать игры для них. Существуют целые отдельные обучаю-
щие или развивающие категории игр, и, если вы собираетесь разрабатывать
детскую игру, вам нужно будет специально ознакомиться с этой сферой.
Взрослых же можно отнести к одной общей категории игроков. Пред-
полагается, что все взрослые умеют читать, пользоваться контроллером
или клавиатурой, имеют представление об основах математики и могут
самостоятельно решать головоломки. Как следствие, распределять взрос-
лых по каким-то более конкретным категориям практически бессмыслен-
но. Да, некоторые культурные отсылки представители разных поколений
могут интерпретировать по-разному, но дальнейшее разделение по возра-
сту мало что дает, поэтому при определении целевой аудитории обычно
достаточно сказать, что аудитория — это «любой взрослый».

Пол
Особенно погружаться в  эту категорию необходимости нет, потому что
пол — это далеко не самый эффективный атрибут при определении целевой
ПОИСК ЦЕЛЕВОЙ АУДИТОРИИ ДЛЯ ИГРЫ: ХАРАКТЕРИСТИКИ ИГРОКА 31

аудитории игры. Да, бывают игры, ориентированные на определенный пол,


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

КАЗУАЛЬНЫЕ И ХАРДКОРНЫЕ ИГРОКИ

Что такое казуальный игрок? И чем он отличается от хардкорного?


Дать точное определение почти невозможно. Взять для примера
Гарри Каспарова, прославленного чемпиона мира по  шахматам.
Казалось бы, сам его титул должен квалифицировать его как «хард-
корного» игрока, но  в  какие игры помимо шахмат вы  бы предло-
жили сыграть ему? Допустим, кто-то из ваших знакомых называет
себя настоящим геймером и даже хвастается татуировками с персо-
нажами игр на руках, но играет только в специфические японские
игры. Можно  ли его назвать «хардкорным игроком»? В  культур-
ном плане да, но, опять же, при создании игры такое определение
не  помогает ориентироваться на  него. А  что насчет игрока, кото-
рый покупает каждую неделю по новой игре, играет в нее несколько
дней, а потом переходит к другой? В каком-то смысле это тоже «хард-
корный игрок», но он совершенно не похож на Каспарова или вашего
друга с татуировками, которых тоже можно считать «хардкорными».
И  что в  таком случае «казуальный игрок»? Может, это человек,
который просто редко играет в игры? Или же играет в игры только
какого-то определенного жанра?
Как видно, при определении целевой аудитории довольно сложно
пользоваться такими понятиями, как «хардкорные» или «казуаль-
ные» игроки. В следующих разделах описаны некоторые более изме-
римые атрибуты, которые можно использовать для определения
целевой аудитории игры.

Готовность к изучению правил


Многие люди ненавидят изучать новые правила. Если вы еще сомнева-
етесь, дайте кому-нибудь толстую книгу правил и попросите его прочи-
тать ее. Многие, пожалуй, воспримут это как ужасное наказание, не так
ли? Такие люди часто решают, что не стоит тратить усилия только ради
32 ГЛАВА 1 ИГРЫ И ИГРОКИ: ОПРЕДЕЛЕНИЯ

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

 Отказывающиеся. Игроки в этой группе напрочь отказываются изу-


чать какие бы то ни было правила. Игра для этой группы почти навер-
няка основана на  какой-то игре реального мира, представляет собой
сиквел уже существующей игры или, по крайней мере, плотно вписы-
вается в рамки какого-то очень специфического жанра. Например, игра
«Боулинг» для Wii смогла привлечь внимание тех, кто совсем не интере-
совался компьютерными играми, но кому уже нравился боулинг. Обыч-
но игры для такой группы разрабатываются редко, и создавать их слож-
нее, чем игры для более открытых к изучению правил групп.
 Неохотно изучающие. Игрокам этой группы не нравится изучать но-
вые правила, но они будут делать это время от времени, чтобы сыграть
во  что-то конкретное. Участники этой группы, как правило, придер-
живаются небольшого разнообразия игр или какого-то узкого жанра
и не стремятся изучать новое, выходящее за рамки того, что они уже
знают. Разрабатывать игры для людей из этой группы легко, если де-
лать для них что-то знакомое, не требующее больших затрат времени.
Однако их практически невозможно привлечь, если делать что-то уни-
кальное или постараться выйти за рамки комфортного им диапазона.
Вспомним для примера игры из жанра «три в ряд», такие как Bejeweled.
Многие играют в игры только этого жанра, потому что их легко освоить
и они доступны на удобном устройстве, например на смартфоне. Если
попробовать привнести в жанр «три в ряд» нечто новое, эта группа, воз-
можно, и даст вашей игре шанс. Но не стоит ожидать, что они охотно
выйдут из узкого круга своих интересов.
ПОИСК ЦЕЛЕВОЙ АУДИТОРИИ ДЛЯ ИГРЫ: ХАРАКТЕРИСТИКИ ИГРОКА 33

 Нейтральные. Представители этой группы не против выучить новые


правила, если это делается с  конкретной целью  —  поиграть в  новую
игру. В эту категорию попадают многие так называемые казуальные лю-
бители настольных и видеоигр. Они вряд ли будут читать или стараться
усвоить все правила, скорее научатся по ходу игры. Их могут заинтере-
совать только те правила, которые необходимы для игры. Нейтральная
категория — большой сегмент рынка. В нее попадает очень много людей,
и, возможно, стоит ориентироваться именно на них, даже если донести
правила бывает и непросто. К этой группе относятся игроки, которые
следят за несколькими конкретными франшизами и покупают каждую
новую часть этих игр. Они также, скорее всего, будут покупать игры кон-
курентов в рамках одного и того же игрового жанра, но вряд ли выйдут
за пределы предпочитаемого, чтобы попробовать что-то совершенно но-
вое. Возьмем для примера игроков, которые покупают каждый выходя-
щий на рынок вариант шутера от первого лица (FPS), но редко выбирают
игры других жанров (или совсем не покупают их). Таких игроков можно
убедить попробовать что-то новое ради игры с друзьями, но без специ-
альных инструкций и предложений они не будут пробовать такой опыт.
 Принимающие правила. В этой группе любят изучать новые игры и но-
вые правила. Они часто изучают больше, чем минимально необходимо.
Иногда они ищут недостатки («эксплойты») в правилах и используют их
в  своих интересах. У  представителей этой группы, скорее всего, тоже
есть жанры, которых они придерживаются, но вместе с тем они готовы
изучать и игры других жанров. Эта категория также представляет собой
значительный сегмент рынка, на который ориентируются многие про-
фессиональные разработчики. Здесь гораздо меньше игроков, чем в трех
категориях, менее охотно воспринимающих правила, но достаточно, что-
бы создавать для них крупнобюджетные игры на консолях и ПК. Имен-
но эта группа является самой целевой и ценной для игровой индустрии,
и принимающие правила буквально затоплены разнообразнейшими иг-
рами. Как следствие, из-за получившегося перенасыщения разработчи-
кам приходится сталкиваться с большой конкуренцией на рынке.
 Энтузиасты. Эти люди обожают изучать новые правила. Они часто пе-
реходят от одной игры к другой, и многие из них бросают играть, как
только полностью разберутся в  правилах. Энтузиастов легко заста-
вить сыграть во что-то новое, но их трудно удержать. Энтузиасты гото-
вы усвоить гораздо больше правил, и у них более высокие пороги для
34 ГЛАВА 1 ИГРЫ И ИГРОКИ: ОПРЕДЕЛЕНИЯ

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

Интерес к испытаниям
Существует много вариантов испытаний и вызовов, но можно упростить
этот атрибут до терпимости к неудачам. В большинстве игр существуют
механики, позволяющие игроку как добиваться успеха, так и терпеть не-
удачи. Можно количественно измерить частоту успеха по сравнению с не-
удачами и использовать этот показатель как измеритель предлагаемого
игрой «вызова». Некоторые игроки совсем или почти нетерпимы к неуда-
чам. Они хотят постоянно получать награды и играют, чтобы поднять на-
строение или просто скоротать время; испытания для них — это неприят-
ный фактор. Другим игрокам, наоборот, нравятся трудности, и они готовы
часто терпеть неудачи. Можно определить приемлемый уровень неудач
как отношение количества неудач к успехам. Рассмотрим два кардиналь-
но разных соотношения.

 15/1. На каждые пятнадцать неудач приходится только один успех. Это


очень трудная игра, и потому она, скорее всего, отпугнет от себя боль-
шинство игроков, но может привлечь небольшую группу преданных
поклонников.
 1/100. На каждую неудачу приходится сто успехов. Эта игра вряд ли
предназначена для того, чтобы расстраивать игроков. Такой уровень
неудач может быть характерным для сюжетных RPG и  простых голо-
воломок. Сложные вызовы в них —  не главное, поэтому разработчики
стараются упростить их.

Помимо описания предполагаемой целевой аудитории, этот атрибут


поможет вам определить успех игры после выхода. Отношение неудач
и успеха —  один из самых простых числовых показателей, который мож-
но получить и проанализировать на основе тестов игры и данных из стати-
стики поведения игроков. Этот атрибут позволяет сравнить ваши ожида-
ния с реальностью. Он также позволяет понять, нужно ли вносить в проект
изменения, чтобы сделать его более или менее сложным, ориентирован-
ным на определенный сегмент рынка.
ПОИСК ЦЕЛЕВОЙ АУДИТОРИИ ДЛЯ ИГРЫ: ХАРАКТЕРИСТИКИ ИГРОКА 35

Предполагаемые затраты времени


Предполагаемые затраты времени на игру можно разделить на две подка-
тегории: время сессии и общее время на прохождение. У некоторых игр,
например шашек, нет общего времени, только время сессии. Но  в  боль-
шинстве есть и то и другое.
Время сессии — это время, которое требуется для отдельной сессии или,
если речь идет о более продолжительных видеоиграх, для того, что игрок
считает «удовлетворительной» сессией. Где-то, например в покере, отдель-
ной сессией может считаться одна раздача; это очень недолго, и потому
большинство игроков в покер считают отдельной сессией турнир или ве-
чер, состоящий из  множества раздач. Очень хорошо поделен на  времен-
ные промежутки и теннис. Эта игра состоит из подач, в которых набира-
ются очки, необходимые для победы в  гейме. Из  геймов складываются
сеты, а из сетов, в свою очередь, матч. Поэтому, даже если сыграть один
гейм всего за несколько минут, он не считается полноценной сессией. Пол-
ноценной сессией считается матч, который может длиться час или боль-
ше. При разработке вы должны определить ее сессию —  тот промежуток
времени, после которого игрок может уйти с  чувством удовлетворения
от игры.
Общее время  —  количество времени, необходимое для «прохожде-
ния», или завершения, игры, бывает очень разным для разных проектов.
Вспомним ММО, «три в  ряд» и  старые аркадные игры. Разные игроки
могут придумывать собственные критерии «прохождения» — напри-
мер, «пройти последний уровень» или «получить все достижения». По-
нятно, что у игры необязательно должен быть четкий «конец». Однако
при разработке важно определить время сессии и общее время прохож-
дения.
Ниже приведены примеры того, как можно количественно оценить
предполагаемые затраты времени для различных игр.

 Шашки: 10-минутная сессия, без общего времени.


 Покер: 3-часовая сессия, без общего времени.
 Skyrim: 2-часовая сессия, 100 часов общего времени.
 Mario Kart: 15-минутная сессия, 50 часов общего времени, чтобы раз-
блокировать все награды.
36 ГЛАВА 1 ИГРЫ И ИГРОКИ: ОПРЕДЕЛЕНИЯ

Предпочитаемый темп
Темп игры трудно определить количественно, но он важен для игроков.
Если попросить человека, которому нравятся пошаговые стратегические
игры, поиграть в очень активный шутер от первого лица, то он вряд ли по-
кажет хорошие результаты, и наоборот. С темпом связано много факторов,
которые приходится учитывать. Например, у «быстрых шахмат» быстрый
темп, но не совсем такой, как у shoot ’em up с видом сверху. Если вы хоти-
те количественно оценить, какой темп предпочитают игроки, на которых
вы ориентируетесь, то нужно уточнить, какой именно тип темпа имеется
в виду. Например, у некоторых игр есть свой присущий им ритм, и темп
в них регулярно меняется. В стелс-играх, например, медленное развитие
событий часто сменяется быстрой активной частью с последующим зату-
ханием.
При описании темпа важны максимальная точность и  конкретика.
Ниже приведены примеры того, как можно количественно оценить темп
различных игр.

 Шахматы: медленный, пошаговый, позволяющий как следует поду-


мать.
 Пинг-понг: очень быстрый, спортивный темп, требующий рефлекторной
реакции.
 Типичная компьютерная RPG: чередование медленного и  среднего
темпа действий с  некоторыми медленными моментами вдумчивого
«крафта».
 Типичный deathmatch («смертельная битва») в шутере от перво-
го лица: быстрый темп, требующий высокой ловкости, почти нет пе-
рерывов.
 Типичная аркадная игра 1980-х: умеренный темп в начале с постепен-
ным переходом к более быстрому, требующему ловкости; темп посте-
пенно повышается до тех пор, пока игрок не перестанет справляться;
после поражения игра начинается сначала.

Предпочитаемый уровень состязательности


Насколько игроки хотят, чтобы их оценивали или сравнивали друг с дру-
гом? Некоторые игры построены именно на  состязательности, а  другие
ПОИСК ЦЕЛЕВОЙ АУДИТОРИИ ДЛЯ ИГРЫ: ХАРАКТЕРИСТИКИ ИГРОКА 37

полностью ее избегают. Например, все гоночные проекты четко распреде-


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

 Несостязательная. В игре нет подсчета очков, отслеживания способ-


ностей и сравнения игроков друг с другом. Она предназначена для того,
чтобы играть было легко и весело. Игра не заставляет игроков пережи-
вать по поводу своих способностей.
 Состязательная. Игра отслеживает несколько ключевых показателей
на основе каждой сессии. В конце игровой сессии игрокам показывает-
ся результат и присваивается рейтинг. Однако каждый сеанс индиви-
дуален, и в конце баллы стираются, что позволяет игрокам почувство-
вать соревновательный дух, но не заботиться об общей оценке.
 Очень состязательная. Каждый возможный аспект игры отслежи-
вается, измеряется и  подробно отображается для игрока. Отдельные
сессии отслеживаются и сравниваются; составляются динамические
глобальные таблицы лидеров. Игроков поощряют постоянно совер-
шенствовать свои навыки и стимулируют к восхождению по таблицам
лидеров различных временных масштабов (например, еженедельные
38 ГЛАВА 1 ИГРЫ И ИГРОКИ: ОПРЕДЕЛЕНИЯ

соревнования, ежедневные вызовы и лучшие результаты за всю исто-


рию игры).

Предпочитаемые платформы
Игры доступны для многих платформ, включая ПК, консоли, мобильные
устройства, настольные игры и  VR-игры. («Платформами» можно даже
считать таблицы или бумажные игры.) Знание особенностей конкретной
аппаратной платформы или нескольких платформ помогает определить-
ся с  аудиторией, хотя и  не  в  очень значительной степени. Сейчас игры
всех типов выходят на любых платформах, и для всех на каждой платфор-
ме имеется своя аудитория. Вам как гейм-дизайнеру полезно будет знать
сильные и слабые стороны оборудования, для которого вы разрабатываете
игры. Поэтому вы всегда должны помнить о платформе, хотя противопо-
ставлять, например, игроков на консолях и игроков на ПК или мобильных
устройствах не так уж и важно.

Уровень навыков
Многие игры требуют определенных навыков или их быстрого развития
в процессе. Как и в случае других атрибутов, требования определенных
навыков привлекают одних игроков и отталкивают других. При разработ-
ке игр для взрослой аудитории можно предположить, что игроки умеют
читать и обладают базовыми моторными навыками. Для конкретной игры
может потребоваться множество других специфических навыков, и непло-
хо перечислить их еще на ранних этапах разработки. Рассмотрим навыки,
требуемые для некоторых игр.

 Теннис: высокая степень зрительно-моторной координации и физиче-


ская выносливость.
 Шахматы: способность продумывать будущие ходы и варианты.
 Шутер от первого лица (FPS): высокая степень зрительно-моторной
координации и быстрые рефлексы.
 «Три в ряд»: распознавание образов.
 Строительная песочница: ориентация в пространстве.
 Покер: расчет вероятности.
ПОЛУЧАЕМАЯ ОТ ИГРОКОВ ОТДАЧА (ЦЕННОСТЬ) 39

ОБ ИНКЛЮЗИВНОСТИ

Не все игроки рождаются с одинаковыми физическими и умствен-


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

Предпочтения по жанру / художественному


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

Получаемая от игроков отдача (ценность)


Еще один важный фактор, который необходимо учитывать при разработ-
ке игры, — это отдача (ценность), которую смогут предложить вам игроки.
В конце концов, вы собираетесь потратить много времени и усилий, чтобы
развлечь свою аудиторию, и, вероятно, вам захочется получить от нее не-
что взамен —  некую форму компенсации в обмен на предлагаемый опыт.
Самое очевидное вознаграждение — деньги, но оно не единственное. Как
говорится в следующих разделах, существует множество вариантов отда-
чи, которую вы можете получить от игроков на разных этапах жизненно-
го цикла игры.
40 ГЛАВА 1 ИГРЫ И ИГРОКИ: ОПРЕДЕЛЕНИЯ

Оплата
Самая простая форма компенсации от  игроков  —  оплата. В  самом про-
стом виде это покупка копии игры со  стороны каждого отдельного иг-
рока. Но современные игры часто прибегают к более сложным методам
оплаты. Каждый из них привлекает одних игроков и отталкивает других.
От того, на какой метод вы будете ориентироваться с самого начала, за-
висит ход разработки игры. Ниже описаны несколько распространенных
типов оплаты, а также перечислены некоторые плюсы и минусы, которые
следует учитывать для каждого типа.

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

Плюсы
 Игроки платят за весь опыт заранее. Часто это более значительная сум-

ма, чем при других видах оплаты.


 В определенный момент игру можно считать «законченной». Многие
современные игры находятся в производстве еще долго после релиза
или даже остаются в постоянной разработке. Это дорого и требует вы-
сокой степени организации. При одноразовой же покупке, как только
игрок получает игру, обязательства разработчика заканчиваются.
 Когда игра закончена, команда разработчиков может полностью сосре-
доточиться на следующем проекте.

Минусы
 После покупки больше не будет возможностей получить дополнитель-

ные деньги.
 Мало стимулов для исправления недостатков, обнаруженных после вы-
хода игры.
 У команды разработчиков нет возможности получать деньги за продол-
жение работы над игрой.
 У игроков нет внешнего стимула возвращаться в игру за новым контен-
том.
ПОЛУЧАЕМАЯ ОТ ИГРОКОВ ОТДАЧА (ЦЕННОСТЬ) 41

Покупка расширений
При покупке расширений игроки сначала покупают основную игру, а затем
могут приобрести расширения, меняющие или дополняющие ее. Обычно
расширения бывают самостоятельными и довольно небольшими по разме-
ру. Например, новый пакет расширений может выходить два раза в год.

Плюсы
 Такой формат потенциально поддерживает у игроков желание возвращать-

ся к игре, что повышает другие виды отдачи от них (перечисленные ниже).


 Появляются возможности для исправления баланса и ошибок. Когда
выходит расширение, особенно для видеоигры, у  разработчика есть
возможность незаметно исправить некоторые ошибки или подправить
недостатки баланса, обнаруженные после запуска.
 Игру можно выпускать быстро и с меньшим бюджетом, так как ожида-
ется, что позже выйдет больше контента.
 Игру можно продавать по более низкой цене, поскольку ожидается, что
за расширение игроки также будут платить.
 Разработчики игры могут заработать больше денег на  игре, которая,
как они уже знают, хорошо продается, вместо того чтобы рисковать
и делать новую игру.
 Возможность для рекламы. Очередное расширение для игры —  хоро-
шая точка для привлечения новичков и  чтобы заставить вернуться
ушедших из игры игроков.

Минусы
 Игроки могут прийти к мысли, что игра дает им ограниченный опыт.

 Вместо того чтобы работать над новыми проектами, часть команды или
вся она работает над расширениями.
 В работе над расширениями приходится сталкиваться с теми же проб-
лемами, что и в работе над основной игрой.
 Аудитория для расширения гораздо меньше, чем для новой игры. Ауди-
тория новинки —  это потенциально каждый игрок, но аудитория рас-
ширения — это лишь часть тех, кто уже купил игру.

Микротранзакции
При модели микротранзакций игроки сначала покупают игру или полу-
чают ее бесплатно. Затем, уже играя, они могут совершать внутриигровые
42 ГЛАВА 1 ИГРЫ И ИГРОКИ: ОПРЕДЕЛЕНИЯ

покупки  —  например, менять оформление или получать новые уровни


и механики.

Плюсы
 Потенциальный постоянный источник дохода от игроков.

 Игры могут изначально продаваться по низкой цене или даже быть бес-
платными, что значительно расширяет потенциальный рынок игроков.
 Игроки могут специально адаптировать покупки под свой вкус.

Минусы
 В состязательной игре покупки могут восприниматься как «читерство»4.

 Игроки могут прийти к мысли, что их считают «дойной коровой».


 Чем больше разработчик добавляет в геймплей пауз, чтобы попытать-
ся продать предметы игрокам, тем больше нарушается течение игры.
 Большая часть разработанного контента не будет использоваться, если
игроки не купят его.
 Базовая игра может показаться неудовлетворительной. И наоборот, ба-
зовая игра может быть настолько хороша, что игроки решат ничего
не покупать, и, следовательно, игра не заработает денег.
 Некоторые игроки и разработчики считают морально неприемлемыми
попытки получить от игроков как можно больше денег благодаря мно-
гочисленным микротранзакциям.
 В  связи с  микротранзакцями существуют некоторые юридические
сложности, в зависимости от того, где была сделана игра и где она вый-
дет, и с этими вопросами нужно ознакомиться заранее.

Показ рекламы
При показе рекламы игроки платят за игру меньшую сумму или вообще
не платят, а разработчик на этом зарабатывает.
Плюсы
 Игра может быть недорогой или бесплатной для игроков, что потенци-
ально увеличивает размер аудитории.
4
Только если покупаемые ценности дают преимущество в  соревновательной ча-
сти игры (более мощное оружие, элементы экипировки, влияющие на характери-
стики, более сильные герои и т. п.). Декоративные украшения (скины) не влияют
на исход соревнования и, соответственно, не воспринимаются игроками как «чи-
терство». — Прим. науч. ред.
ПОЛУЧАЕМАЯ ОТ ИГРОКОВ ОТДАЧА (ЦЕННОСТЬ) 43

 У игры есть постоянный источник дохода.


 Оплата считается «справедливой», потому что игроки, которые смотрят
рекламу, не получают преимущества в игре.

Минусы
 Реклама вырывает игрока из процесса. Часто разработчик почти или
совсем не контролирует показываемую рекламу, которая может проти-
воречить замыслу игры или даже принадлежать конкурентам.
 Доход от рекламы, как правило, довольно низок в пересчете на одного
игрока. Для оплаты команды разработчиков нужно, чтобы рекламу по-
смотрело большое количество игроков.
 С включением рекламы в игру бывают технические трудности, хотя со-
временные игровые движки и платформы значительно уменьшили их.

Другие формы отдачи от игроков


В конечном счете цель профессиональных разработчиков игр — получить
деньги, но не всегда создать игру значит получить большую прибыль. Раз-
работчики могут получить от игроков и другие виды отдачи. При опреде-
лении целевого рынка полезно с самого начала подумать о том, что вы хо-
тите получить от игроков. Тут возникает соблазн захотеть сразу все, что
можно, но лучше избегать этого искушения и сосредоточиться на одном-
двух пунктах. Попытка угнаться сразу за всем, скорее всего, только распы-
лит ваши усилия и уменьшит реальную отдачу от игроков.
Ниже перечислены некоторые способы получить от игроков что-то еще,
кроме денег.

 «Сарафанное радио». Если игрокам нравится игра и они обсуждают ее


со своими друзьями, их друзья, скорее всего, купят игру. Если в игру встрое-
на механика, которая побуждает играть друг с другом, искать людей, с кем
можно поиграть, или просто поговорить об игре, появляется больше воз-
можностей привлечь дополнительную аудиторию. Вам, скорее всего, захо-
чется, чтобы игроки обсуждали вашу игру с теми, кто им доверяет.
 Упоминание в социальных сетях. Упоминание в социальных сетях — 
еще более широкая, но менее «персональная» форма распространения
информации по  сравнению с  «сарафанным радио». По  сути, это ис-
пользование пользователей в роли бесплатных рекламных агентов. Не-
большим играм социальные сети помогают привлечь гораздо большую
44 ГЛАВА 1 ИГРЫ И ИГРОКИ: ОПРЕДЕЛЕНИЯ

аудиторию, но  если игра будет спамить в  соцсетях, то  и  реакция бу-
дет соответствующая. Если игра постоянно просит игроков поделиться
своими результатами и приглашениями, то о ней действительно узнает
больше народа, но пользователей это, скорее всего, будет раздражать.
 Конкурсы популярности. Конкурсы вроде «Игра года» и прочие пулы
с  голосованием в  интернете хорошо известны. Если небольшая игра
с мотивированной аудиторией выиграет или хотя бы займет ведущее
место в одном из таких чартов, то, по сути, она бесплатно получит хо-
рошую рекламу. Но это довольно сложный метод повышения отдачи,
и его трудно спланировать для новой игры. Такой вариант более орга-
ничен для уже представленной на рынке игры.
 Рейтинговые сайты. На  многих сайтах представлены рейтинговые
списки новых игр на основе оценок игроков. Проекты с высокими оцен-
ками, как правило, привлекают больше новичков. Некоторые неболь-
шие игры вырвались вперед и  стали популярными только благодаря
постоянно растущему числу высоких оценок на рейтинговых сайтах.
Может показаться, что попадание в список игр с высоким рейтингом — 
это очевидная цель для каждой игры, но на самом деле это не так. Созда-
ние игры, которая постоянно получает высокие рейтинговые оценки,
часто обходится дороже, чем создание игры, которая получает просто
хорошие оценки. Или, иными словами, чем больше вы вложили усилий
и денег в разработку, тем меньше отдача от рейтинговых оценок.
 Создание контента. Иногда игра может позволять создавать внутри
себя контент, и порой игроки могут сделать нечто гораздо большее, чем
команда разработчиков. Такая модель, как правило, порождает энту-
зиастов и преданных игроков. Конечно, при разработке игры, которую
можно будет модифицировать, бывает много трудностей. Они могут
оказаться сложнее, чем ожидает разработка.
 Взаимодействие игроков. ММО и  другие многопользовательские
игры хороши только тогда, когда в них играют люди. Для адекватного
подбора игроков в некоторых многопользовательских играх требуется
много активных пользователей. Таким образом игрок повышает цен-
ность игры, просто находясь в ней и увеличивая «пул игроков».
 Рыночные показатели. Популярные игры с большим количеством за-
грузок или активных пользователей привлекают повышенное внимание.
Поэтому некоторые команды готовы пойти на финансовые потери, что-
бы привлечь к игре побольше игроков. Один из самых простых способов
добиться успеха при продаже любого продукта — уже быть популярным.
ОБЩИЙ ПРОФИЛЬ АУДИТОРИИ 45

Выбор метода получения отдачи от игроков


Очевидно, что любой разработчик игры хотел  бы получить как можно
больше отдачи от каждого игрока, но указанные выше способы взаимно
исключают друг друга. Направить команду в одном направлении поможет
предварительно составленный план.
Например, если у команды небольшой бюджет и нет устоявшейся ре-
путации, то даже привлечь внимание к себе будет сложно. В этом случае
можно использовать игроков, раздавая игру бесплатно, поддерживая ее
рекламой и  поощряя ссылаться на  нее в  социальных сетях. И  наоборот,
если команда более развита и хочет получить репутацию «дружественной
к игрокам», то она может выбрать вариант одноразовой покупки с пред-
ложением расширений. В то же время она может стремиться к высокому
рейтингу игры и, возможно, захочет предлагать какие-то онлайн-награды,
повышающие ценность отдачи игроков.

Общий профиль аудитории


После того как вы определите, какими признаками (атрибутами) должны об-
ладать игроки, для которых вы разрабатываете игру, вам нужно будет что-то
сделать с этой информацией. Например, создать профиль целевой аудитории.
Ниже приведены варианты профилей целевой аудитории для различных из-
вестных игр. Они созданы на основе уже существующих игр, а это значит, что
составлять профили целевой аудитории можно и после выхода игры, чтобы
посмотреть, на кого у вас получилось сориентироваться в итоге.

Шахматы
Профиль целевой аудитории шахмат.

 Готовность к изучению новых правил. Низкая («неохотно изучаю-


щая» группа). Игроки готовы выучить небольшое количество неизмен-
ных правил, которые остаются одними и теми же в играх с прежними
или новыми соперниками по всему миру.
 Интерес к испытаниям. Различный. Игрок может подобрать подходя-
щий для себя уровень сложности, найдя подходящего противника. Вер-
сии для одиночной игры не существует.
 Затраты времени на игру. Сессии длятся примерно полчаса; общего
времени нет.
46 ГЛАВА 1 ИГРЫ И ИГРОКИ: ОПРЕДЕЛЕНИЯ

 Темп. Очень медленный, позволяющий как следует подумать.


 Состязательность. Очень высокая. Один из  игроков побеждает или
проигрывает в каждую сессию. Стремление победить текущего сопер-
ника — мотивирующий фактор игры.
 Платформа. Аналоговые доска и фигуры.
 Требуемые навыки. Небольшие. Только способность понять основные
правила.
 Жанр / художественное оформление / сеттинг / нарратив. Нет.
 Получаемая от игроков отдача. «Сарафанное радио» и «пул игроков».

Galaga
Профиль целевой аудитории аркадной игры Galaga.

 Готовность к изучению новых правил. Низкая («неохотно изучаю-


щая» группа). Игрок не  заинтересован осваивать сложные системы
контроля и управления и хочет немедленно начать играть, осваивая
механики методом проб и ошибок.
 Интерес к испытаниям. Очень высокий. Неудача гарантирована
в каждой сессии. Игрок готов начать игру, зная, что она в итоге закон-
чится поражением.
 Затраты времени на игру. Низкие. Сессии длятся примерно 5 минут;
общего времени нет.
 Темп. Игрокам нравится начинать с умеренного темпа и увеличивать
его до такой степени, когда они перестают справляться.
 Состязательность. Высокая. Игроки видят свой счет и стараются улуч-
шить его. Отображаемая игровым автоматом таблица лидеров усили-
вает конкуренцию. Игроки стремятся побить собственные рекорды
и оставить свои инициалы в таблице лидеров.
 Платформа. Аркадный автомат.
 Требуемые навыки. Координация зрения и моторики, рефлексы.
 Жанр / художественное оформление / сеттинг / нарратив. Косми-
ческие корабли и инопланетяне.
 Получаемая от игроков отдача. Непосредственная оплата. Монета
в двадцать пять центов позволяет сыграть в одну сессию.
ОБЩИЙ ПРОФИЛЬ АУДИТОРИИ 47

Mario Kart
Профиль целевой аудитории игры Mario Kart.

 Готовность к изучению новых правил. Низкая («неохотно изучаю-


щая» группа). Механики и  управление соответствуют механикам
и управлению других гоночных игр, поэтому пробовавший любые «гон-
ки» пользователь сможет быстро их освоить. Кроме того, любой води-
тель уже представляет себе использованную в игре грубую аналогию.
 Интерес к испытаниям. Высокий. Отношение неудач к  успеху 5/1.
В начале игроки почти всегда проигрывают искусственному интеллек-
ту (ИИ). Когда игроки начинают играть лучше, сложность уровней по-
степенно повышается, поэтому они продолжают часто проигрывать.
Такое соотношение неудач и успеха мотивирует их возвращаться и со-
вершенствовать свои навыки.
 Затраты времени на игру. Низкие. Сессии длятся примерно 15 минут.
На то, чтобы разблокировать все награды, требуется более 100 часов.
 Темп. Очень высокий. При любых действиях нет времени на их обду-
мывание.
 Состязательность. Очень высокая. Игроки занимают определенное
место после каждого заезда, и есть многочисленные таблицы лидеров.
 Платформа. Исключительно приставки Nintendo.
 Требуемые навыки. Базовые навыки любой гоночной игры.
 Жанр / художественное оформление / сеттинг / нарратив. Яркие
цвета, красочное художественное оформление, ориентированное на де-
тей. Некоторых взрослых может отпугнуть «мультяшный» стиль.
 Получаемая от игроков отдача. Основная  —  оплата, второстепен-
ная — взаимодействие игроков.

Battle for Wesnoth


Профиль целевой аудитории игры Battle for Wesnoth.

 Готовность к изучению новых правил. Высокая («принимающая пра-


вила» группа). Игра напоминает многие типичные пошаговые страте-
гии, но обладает многими уникальными механиками. В ней имеются
требующие освоения классы персонажей и предметы, а также широкое
48 ГЛАВА 1 ИГРЫ И ИГРОКИ: ОПРЕДЕЛЕНИЯ

разнообразие их атрибутов. Игрокам нравится как сходство с другими


представителями жанра, так и неожиданные повороты и сюрпризы игры.
 Интерес к испытаниям. Отношение неудач к успеху 1/1. Поначалу иг-
роки, как правило, терпят неудачи на каждом уровне, но при повторном
прохождении чаще достигают успеха. Такое соотношение мотивирует их
на новое прохождение сценария, а также на исследование контента в игре.
 Затраты времени на игру. Высокие. Сессии длятся примерно час;
в игре достаточно контента на сотни часов.
 Темп. Медленный, требующий вдумчивости, пошаговый.
 Состязательность. Низкая. Имеется многопользовательский режим,
но большинство контента ориентировано на одиночную игру. Разных
игроков редко сравнивают между собой.
 Платформа. ПК, мобильные устройства.
 Требуемые навыки. Готовность много читать, умение рассчитывать
вероятность, стратегическое мышление.
 Жанр / художественное оформление / сеттинг / нарратив. Класси-
ческое «высокое фэнтези».
 Получаемая от игроков отдача. «Сарафанное радио», создание кон-
тента, взаимодействие друг с другом.

Bejeweled
В  этом последнем примере я  дал игроку имя и  описание личности, что-
бы проиллюстрировать, как с  помощью таких простых изменений мож-
но «очеловечить» целевую аудиторию и лучше представить себе типично-
го игрока, на которого вы ориентируетесь при разработке своей игры. Вы
и сами можете добавить несколько дополнительных черт для своей ауди-
тории. Это необязательно, но такие детали безусловно помогут визуали-
зировать образ игрока.
Ниже профиль целевой аудитории игры Bejeweled.

 Имя игрока. Крис.


 Готовность к изучению новых правил. Низкая («неохотно изучаю-
щая» группа). Крис нечасто играет в игры, но легко способна усвоить
основы игры типа «три в ряд». Она обладает мотивацией находить но-
вые комбинации и стратегии по мере прохождения игры, но не желает
посещать форумы и активно исследовать новые стратегии.
ЧТО ДЕЛАТЬ С ПРОФИЛЕМ ЦЕЛЕВОЙ АУДИТОРИИ 49

 Интерес к испытаниям. Умеренный. Отношение неудач к успеху 1/10.


Крис хочет, чтобы несколько первых уровней были легкими, прежде
чем сложность игры начнет повышаться. Но даже на сложных уровнях
Крис обычно удается победить и перейти к следующим испытаниям.
 Затраты времени на игру. Низкие. Сессии длятся примерно 15 ми-
нут; общего времени нет. Крис нравится игра, в которую можно легко
включиться и завершить сессию за несколько минут. Крис не хочет-
ся тратить много времени на режимы кампании или на расширения
механик.
 Темп. Крис нравятся медленные и пошаговые бои. Ей не хочется играть
в игру, которая доставляет ей стресс.
 Состязательность. Умеренная. По большей части Крис нравится игра,
позволяющая ей «убить время», но иногда ей также нравится проверять
таблицы лидеров, чтобы посмотреть свое место в сравнении со своими
друзьями.
 Платформа. Различные платформы, потому что Крис нравится играть
на разных устройствах.
 Требуемые навыки. Скорее всего, у  Крис нет цветовой слепоты,
но если бы была, то ей было бы трудно осваивать основные механики.
 Жанр / художественное оформление / сеттинг / нарратив. Крис
нравится в целом абстрактное художественное оформление.
 Получаемая от игрока отдача. Крис купила игру для некоторых
устройств, но на других играет с рекламой. Крис также нравится обсуж-
дать игру с друзьями.

Как вы представляете себе Крис? Может быть, вы знаете такую Крис,


или даже вы и есть она! Если вы сможете представить себе Крис и буде-
те ясно понимать, что ее обрадует или расстроит, вам будет гораздо легче
разрабатывать игру, которую ей захочется купить и продолжать играть.

Что делать с профилем целевой аудитории


На составление профиля целевой аудитории и на описание тех, для кого
вы хотите создать игру, уходит много времени, но этим профилем можно
пользоваться как руководством во всем дальнейшем процессе разработ-
ки игры.
50 ГЛАВА 1 ИГРЫ И ИГРОКИ: ОПРЕДЕЛЕНИЯ

При создании игры следует как можно чаще обращаться к составлен-


ному профилю целевой аудитории. Каждый раз, когда возникает пред-
ложение о разработке новой функции, новой системы или новых данных,
команда разработчиков должна подумать о том, порадует ли это аудито-
рию. Если рассматриваются несколько различных вариантов, то  разра-
ботчики должны подумать о том, какой из них окажется предпочтитель-
нее для целевой аудитории. При постоянной ориентации на цель процесс
разработки становится более стабильным. Вы создаете игру не только для
себя или для каких-то неизвестных людей. Вы делаете ее для какого-то
конкретного человека с какими-то конкретными предпочтениями, делаю-
щими концепции более осмысленными.
Профиль целевой аудитории — это также отличное средство подготов-
ки новых членов команды. Как мы обсудим далее, состав команды разра-
ботчиков игры редко остается неизменным на всем протяжении процесса.
При составлении профиля целевой аудитории команда, скорее всего, еще
малочисленна и находится на предпроизводственной стадии (стадии под-
готовки к производству). Привлекаемые на дальнейших этапах новые спе-
циалисты должны понимать не только принципы создания игры, но и для
кого она делается. Если у вас есть отдельный и четко определенный про-
филь целевой аудитории, то новым членам команды будет гораздо легче
проникнуться общим настроем и включиться в общий процесс.

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

 Проанализируйте несколько простых старых игр и подумайте, соответ-


ствуют ли они предложенному определению «игры», и если да, то каким
образом. Перечислите различные присущие играм специфические ат-
рибуты (признаки).
 Составьте несколько профилей целевой аудитории для ваших собствен-
ных игр и для некоторых популярных игр. Попробуйте объяснить, по-
чему разработчики выбрали именно эти целевые аудитории.
ГЛ А В А 2

РОЛИ В  ИГРОВОЙ
ИНДУСТРИИ

Индустрия видеоигр относительно молода


по сравнению с другими творческими
индустриями. Также довольно широка сфера того,
что считается видеоиграми: к ней могут относить
все от мобильных игр, созданных независимыми
разработчиками, до онлайн-видеоигр AAA-класса,
создаваемых командами из более чем сотни
человек, военных симуляторов и бесконечного
количества других вариаций. В более широком
смысле «игры» охватывают все от настольных
и карточных игр до спортивных и других
разновидностей. Разные игры создаются разными
способами и требуют разных членов команды.
52 ГЛАВА 2 РОЛИ В ИГРОВОЙ ИНДУСТРИИ

Разработчик игры — это любой, кто непосредственно работает над видео-


игрой, будь то инженер-программист, гейм-дизайнер или звукооператор.
В  некоторых компаниях разработчиками называют только программи-
стов, но это отголоски раннего периода развития индустрии, когда все со-
здатели игр были программистами. Согласно общепринятому в наши дни
мнению, разработчиками игр являются не только они.
В большой команде разработчиков, скорее всего, будет несколько отде-
лов, соответствующих различным дисциплинам. В небольших командах,
как правило, одному и тому же человеку приходится выполнять несколько
видов работ. Разработчик-одиночка, разумеется, будет вынужден приме-
рить на себя все роли. Команда, особенно большая, почти никогда не бы-
вает статичной группой, все члены которой работают над игрой от нача-
ла до конца. На протяжении всего проекта по разработке игры в команду
приходят новые члены и покидают старые. В этой главе мы рассмотрим
несколько распространенных в индустрии ролей, причем эти роли будут
обсуждаться примерно в том же порядке, в котором возникает их потреб-
ность в команде разработчиков.

Основная команда управления


В основную команду управления входят идейный вдохновитель, ведущий
инженер-программист, ведущий художник, ведущий гейм-дизайнер, про-
дюсер и ведущий саунд-дизайнер (звукорежиссер). Эта команда, как пра-
вило, остается неизменной с самого начала проекта и до его завершения.

Идейный вдохновитель
В каждой команде разработчиков игр есть человек, который в конечном
счете отвечает за концепцию игры. Это человек, ответственный за замы-
сел игры. Он либо сам придумал ее идею, либо эту идею ему предложи-
ли, либо его назначили ответственным за нее. Этот человек следит за тем,
чтобы игра соответствовала своей основной концепции. Эту роль часто
выполняет владелец компании, генеральный директор, исполнитель-
ный директор, продюсер, креативный директор или директор 5. Идей-
ный вдохновитель разрешает споры о  направлении, в  котором должна
идти разработка, и о том, что именно представляет собой игра. Идейный
5
Также эту роль часто выполняет главный гейм-дизайнер или гейм-директор.  — 
Прим. науч. ред.
ОСНОВНАЯ КОМАНДА УПРАВЛЕНИЯ 53

вдохновитель — это почти всегда главный в команде. И он же может быть


единственным, кто на протяжении нескольких месяцев или даже лет обду-
мывает концепцию игры, прежде чем в команду придут другие.
В больших студиях или командах именно идейный вдохновитель чаще
всего занимается коммуникацией, встречами, поездками и  переговора-
ми; обычно он менее всего вовлечен в ежедневную работу по созданию
каких-то конкретных особенностей игры. Несмотря на  то  что идейный
вдохновитель отвечает за концепцию игры в целом, он мало вникает в де-
тали, и потому, чтобы игра вышла отличной, он должен работать с коман-
дой и доверять ей.
Идейные вдохновители занимают одни из самых высоких должностей
в  индустрии разработки игр. Чтобы подняться по  карьерной лестнице
от штатного разработчика игр до идейного вдохновителя, требуются годы
или даже десятилетия. Такой человек несет ответственность за миллио-
ны вложенных в разработку долларов и за средства к существованию всей
команды разработчиков, а возможно, и всей компании. Такую роль можно
доверить только человеку с огромным опытом работы.

Ведущий инженер-программист
Если речь идет о  видеоиграх, то, скорее всего, вторым специалистом,
присоединившимся к  идейному вдохновителю, будет ведущий инже-
нер-программист. Работа ведущего инженера заключается в  том, что-
бы определить технические параметры игры. Будет  ли она создаваться
на стороннем движке, на движке, который компания уже использовала,
или на совершенно новом? Каков объем работ, необходимых для воплоще-
ния задуманного? Кого из инженеров-программистов привлечь для разра-
ботки этого проекта? Это лишь несколько из тысяч вопросов, с которыми
сталкивается ведущий инженер-программист при создании игры.

Ведущий художник
Когда у игры имеется своя концепция и когда заложены основы для ее тех-
нического воплощения, команде необходимо приступить к созданию внеш-
него вида игры. Именно здесь на помощь приходит ведущий художник.
Этот сотрудник сталкивается с теми же вопросами, что и ведущий инже-
нер, когда речь идет об определении объема работ, привлечении специа-
листов и графика работ над художественной частью проекта. Кроме того,
ведущий художник задает тон всему художественному оформлению игры.
54 ГЛАВА 2 РОЛИ В ИГРОВОЙ ИНДУСТРИИ

Ведущий гейм-дизайнер
Пусть у игры есть своя концепция, пусть предусмотрены основы для ее
технического воплощения и имеется представление о том, как она будет
выглядеть, но это еще не делает ее собственно игрой. Команде необходим
ведущий гейм-дизайнер, отвечающий за привлечение специалистов гейм-
дизайнеров, определение объема их работ и составление графика их работ.
Кроме того, ведущий гейм-дизайнер отвечает за создание правил и разра-
ботку игрового процесса.

Продюсер
Продюсеры —  это координаторы и бизнесмены в творческом мире. Рабо-
та продюсера заключается в том, чтобы убедиться, что игра будет сдела-
на в рамках бюджета, в срок и с нужным персоналом. Продюсеры всегда
работают с ведущими специалистами, начальниками отделов различных
дисциплин и с командой разработчиков в целом; они следят за тем, чтобы
весь коллектив работал как единая команда.

Ведущий саунд-дизайнер
За  все звуковое сопровождение часто отвечает один человек. Если в  не-
большой игре может работать один звукорежиссер, то в крупной может
быть целая команда специалистов по звуку во главе с ведущим звуковым
дизайнером.

Команды специалистов
Специалисты в отдельных командах (отделах) выполняют более конкретные
роли, чем основная группа управления, и занимаются более практической
работой. В большинстве случаев каждый руководитель отдела (ведущий спе-
циалист своей команды) также подчиняется члену основной группы управле-
ния. В следующих разделах вкратце рассматриваются дисциплины, не отно-
сящиеся к собственно дизайну. В конце концов, это книга о дизайне.

Художники
К ним относятся специалисты по анимации, художественному оформле-
нию персонажей, окружения, концепции (2D-оформлению), интерфейса
и технические художники.
КОМАНДЫ СПЕЦИАЛИСТОВ 55

Анимация
Аниматоры приводят игру в движение и оживляют статичные объекты.
Они начинают с создания статической полигональной сетки («меша») пер-
сонажа и  создают на  ее основе анимации. Каждое визуальное действие
персонажа — это результат работы аниматора.

Оформление персонажей
Художники по  персонажам специализируются на  моделях персонажей,
которые в  игровой индустрии называются полигональными моделями,
или «мешами». В больших командах, работающих над крупными играми,
бывают настолько нестандартные художники, что их единственная роль
в проекте — создавать модели персонажей, но работы для них всегда пре-
достаточно.

Окружение
Художники по окружению, как следует из названия, отвечают за внешний
вид окружения игры. Объем их работы зависит от  потребностей игры.
В некоторых командах художники по окружению работают в тесном кон-
такте с  дизайнерами уровней, в  других командах они сами оформляют
уровни, а  где-то создают отдельные блоки, которые дизайнеры уровней
используют для сборки.

Концепция/2D-оформление
Концепт-художники наиболее тесно связаны с традиционными 2D-оформи-
телями. Их работа может начинаться на ранних этапах цикла разработки.
Они работают над визуализацией концептуальных идей как с художника-
ми, так и с гейм-дизайнерами. Их изображения помогают команде опре-
делиться с направлением работы, а гейм-дизайнеру —  выразить общую
идею; также они создают постеры и рекламные материалы для игры.

Интерфейс
Оформители интерфейса специализируются на пользовательском интер-
фейсе, благодаря которому игроки получают более подробную информа-
цию об  игре. Они работают над оформлением HUD (части интерфейса,
отображающейся на игровом экране) и интерфейсом пользователя (UI).

Технические художники
Технические художники не  просто работают на  пересечении сфер ис-
кусства и  программирования; они должны быть экспертами и  в  том
56 ГЛАВА 2 РОЛИ В ИГРОВОЙ ИНДУСТРИИ

и в другом. Поэтому бывает так трудно подобрать хороших специалистов


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

Инженеры-программисты
К инженерам-программистам относятся специалисты по инструментам,
геймплею, скриптам, сетям, графике и аудио.

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

Специалисты по геймплею
Специалисты по  геймплею в  основном следят за  работоспособностью
игры. Они работают в тесном сотрудничестве с системными и другими
гейм-дизайнерами над реализацией функций, необходимых для вопло-
щения игры в жизнь.

Специалисты по скриптам
Специалисты по  скриптам используют внутренний скриптовый язык,
работая над деталями и  особенными чертами игры. Иногда их относят
к команде инженеров-программистов, а иногда —  к команде гейм-дизай-
неров, но в любом случае они выполняют практически одну и ту же работу.

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

Специалисты по графике
Как следует из  названия, специалисты по  графике занимаются про-
граммированием визуальной составляющей игры  —  например, прида-
ют более реалистичный вид воде, создают захватывающие панорамы,
ГЕЙМ-ДИЗАЙН 57

оптимизируют частоту кадров или используют новые шейдеры для созда-


ния интересных эффектов. В любом случае такие программисты отвечают
за базовый код этих эффектов.

Специалисты по аудио
Аудиоинженеры занимаются программированием всего звукового сопро-
вождения в игре.

Производство
Производственные роли немного отличаются от  всего рассмотренного
в этой главе. Под общим термином «производство» подразумеваются са-
мые разные роли, включая ассистента продюсера, заместителя продюсера
и помощников по производству. В производственных коллективах суще-
ствует множество различных должностей с различными обязанностями,
и, словно чтобы еще больше запутать ситуацию, разные студии использу-
ют разные названия. Тем не менее специалисты по производству делятся
на три категории: менеджеры, координаторы и ассистенты.

Менеджеры
Менеджеры отвечают за деньги и часто за персонал.

Координаторы
Координаторы участвуют в повседневной работе команды. Они часто про-
водят собрания, следят за выполнением задач и проверяют игру на ошиб-
ки. Также они поддерживают взаимодействие между членами команды.

Ассистенты
Ассистенты  —  сотрудники самого низкого уровня, они выполняют боль-
шую часть повседневной работы, освобождая сотрудников старшего уровня
для более важных задач. Обычно должность ассистента — самая начальная,
позволяющая получить отличное представление о том, как создаются игры.

Гейм-дизайн
В гейм-дизайне существует множество субдисциплин, такие как: дизайне-
ры уровней, системные гейм-дизайнеры, гейм-дизайнеры-балансировщи-
ки, специалисты по скриптам и технические гейм-дизайнеры.
58 ГЛАВА 2 РОЛИ В ИГРОВОЙ ИНДУСТРИИ

Дизайнеры уровней
Дизайнеры уровней создают виртуальное физическое пространство, по ко-
торому перемещаются игроки. В разных командах они могут либо разра-
батывать общую схему перемещения по уровню, либо компоновать уже
существующие объекты окружающей среды, либо  же набрасывать с  по-
мощью геометрических примитивов грубые очертания мира. Дизайнеры
уровней также часто занимаются разработкой скриптов и  головоломок
для своих уровней. Они могут даже внести свой вклад в отдельные сюжет-
ные элементы. В больших играх с открытым миром дизайнера уровней мо-
гут называть «дизайнером сценария».

Системные гейм-дизайнеры
Игровая система —  это, по сути, набор правил, по которым ведется игра.
Любую игру именно игрой делают ее правила. Системные гейм-дизай-
неры имеют дело как раз с этими правилами 6. В их обязанности входит
разработка правил игры, организация этих правил таким образом, что-
бы все было совместимо друг с другом, и объяснение этих правил игроку.
В простой старой игре, скорее всего, имеется очень простая система, объ-
яснить которую можно примерно на одной странице или около того. Со-
временные игры часто содержат тысячи объектов данных и десятки тысяч
строк компьютерного кода, которые и выполняют функцию правил игры.
Убедиться, что вся эта информация организована логично, и проследить
за тем, чтобы игроки смогли ее понять, и есть основная задача системного
гейм-дизайнера. Он продумывает ИИ (искусственный интеллект), оружие,
транспортные средства и  прочие объекты, которые будут использовать-
ся в игре. Системные гейм-дизайнеры решают, какие атрибуты присвоить
различным объектам и как все системы в игре будут взаимодействовать
друг с другом.

Гейм-дизайнеры данных
Наполняют игровой мир персонажами, предметами, оружием, транспорт-
ными средствами и любыми другими объектами. В то время как систем-
ные гейм-дизайнеры решают, какими атрибутами будет обладать каждый
объект, разработчики данных определяют значение каждого из этих атри-
бутов.

6
В русскоязычном пространстве позиция «гейм-дизайнер» автоматически означа-
ет, что он является дизайнером игровых систем (system designer). —  Прим. науч.
ред.
САУНД-ДИЗАЙН 59

Специалисты по скриптам
Как уже упоминалось ранее в этой главе, специалисты по скриптам исполь-
зуют внутренний язык сценариев, чтобы придать игре внешний лоск и де-
тализацию. Иногда они относятся к команде инженеров-программистов,
иногда — к команде гейм-дизайнеров, но в любом случае они выполняют
практически одну и ту же работу.

Технические гейм-дизайнеры
В настоящее время в игровой индустрии термин технический гейм-дизай-
нер используется в двух смыслах.
Он может быть исполнителем, разрабатывающим скрипты или зани-
мающимся программированием, но при этом не составляющим большую
часть документации и не занимающимся высокоуровневым творческим
дизайном. Возможно, это младший специалист, получающий указания
от старшего гейм-дизайнера.
Технический гейм-дизайнер может быть связующим звеном между
командой инженеров и гейм-дизайнеров, разрабатывающим инструмен-
ты или системы и использующим их для облегчения жизни других. При
этом он почти никогда не будет младшим гейм-дизайнером, для такой ра-
боты необходимы серьезные навыки и большой опыт.

Саунд-дизайн
Команда саунд-дизайнеров, или звукорежиссеров, отвечает за  то, что-
бы игра звучала потрясающе. Несмотря на кажущуюся простоту, работа
эта одна из самых сложных в индустрии. Саунд-дизайнерам часто при-
ходится ждать, пока большая часть проекта будет близка к завершению,
и только тогда они приступают к своим задачам. Им приходится учиты-
вать каждый звуковой бит, на который может обратить внимание игрок,
а это зачастую очень много. Также они часто создают саундтреки и до-
бавляют динамичную музыку, отражающую действия игрока. Специа-
листы в этой области должны обладать очень хорошими техническими
навыками, требующими обучения. Звукорежиссеры должны иметь опыт
работы со звуковыми эффектами и музыкой, и, кроме того, они, как пра-
вило, гораздо более технически подкованы, чем музыканты в привычном
понимании.
60 ГЛАВА 2 РОЛИ В ИГРОВОЙ ИНДУСТРИИ

Обеспечение качества (QA)


Команда обеспечения качества (QA), членов которой также называют «те-
стировщиками», отвечает за качество игры после ее выпуска. Существует
распространенное заблуждение, что в нее входят одни только игровые те-
стировщики («плейтестеры»). Но это не так. Игровые тестировщики — это
добровольцы, играющие так, как играли бы обычные пользователи, и даю-
щие непрофессиональные отзывы о том, какие чувства они испытывали
во время игры, насколько она им понравилась и т. д. А специалисты из от-
дела контроля качества очень часто тоже играют, но делают при этом го-
раздо больше: они занимаются рабочим тестированием. Это значит, что
они, например, сталкиваются с каждой стеной десятки раз и со всех сторон,
убеждаясь в том, что персонаж игрока не сможет проскользнуть между за-
зорами, или по многу часов перелистывают страницы меню, убеждаясь
в том, что графика и код загружаются и выгружаются правильно. Обыч-
ный игрок никогда не  будет заниматься подобными действиями, но  со-
гласно высоким принятым в индустрии стандартам должны быть учтены
все подобные случаи. Среди членов команды QA бывают люди с различ-
ным уровнем образования. Должности в этой команде часто рассматри-
ваются как ступеньки для перехода к другим карьерным направлениям,
в первую очередь к производству и дизайну.

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

Дополнительные роли
В  игровой индустрии еще много других специалистов, от  кадровиков
до сценаристов и сотрудников IT-поддержки, работающих на заднем плане
и обеспечивающих рабочие процессы. Эти сотрудники могут не привле-
кать такого уж большого внимания прессы, и часто они не «светят лицами»
ДАЛЬНЕЙШИЕ ШАГИ 61

на игровых конвенциях, но они ничуть не менее важны, чем те, кого назы-
вают «создателями игры».

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

 Узнайте, какие специалисты были задействованы при создании некото-


рых из ваших любимых игр. Обратите внимание на то, насколько силь-
но влияет масштаб игры на количество разработчиков и разнообразие
ролей в команде.
 Изучите сайты нескольких небольших независимых игровых студий
и обратите внимание на то, какие разработчики были задействованы
при создании проектов.
ГЛ А В А 3

КАК ЗАДАВАТЬ ВОПРОСЫ

Умение задавать вопросы кажется интуитивным.


В конце концов, люди постоянно задают вопросы, так
разве надо учиться этому специально для разработки
игр? Но разработчикам приходится задавать
уникальные вопросы уникальными способами
и интерпретировать ответы на них — тоже особым
обрразом. В этой главе мы рассмотрим, как составлять
теоретические вопросы, которые позволят получить
важные ответы. Например, вопрос «Веселая ли это
игра?» не поддается количественной оценке или
ответу, потому что каждый человек интерпретирует
понятие «веселье» по-своему. В этой главе также
рассказывается о том, как составлять технические
вопросы, ориентированные на решение проблем.
Например, вместо того чтобы спрашивать ведущего
инженера: «Почему игровой движок вылетает, когда
я загружаю этот ассет?», нужно сформулировать более
точный вопрос и получить подробную информацию,
чтобы добраться до сути проблемы.
64 ГЛАВА 3 КАК ЗАДАВАТЬ ВОПРОСЫ

Как задавать теоретические вопросы


Гейм-дизайнерам часто приходится задавать вопросы об играх. В част-
ности, они задают вопросы о том, какие ощущения возникают от игры,
насколько игра сбалансирована и как новые объекты данных вписыва-
ются в существующую систему. Главная цель всех этих вопросов —  по-
лучить количественную оценку ощущений. Для этого важно придер-
живаться в  какой-то мере научного подхода и  пользоваться научным
методом.

Этапы научного метода


Научный метод применительно к разработке игр состоит из следующих
этапов.

1. Формулировка вопросов для игрового тестирования.


2. Сбор информации и ресурсов.
3. Формулировка объясняющей факты гипотезы.
4. Проверка гипотезы путем проведения эксперимента и  получения
данных воспроизводимым способом.
5. Анализ полученных данных.
6. Интерпретация данных и формулировка выводов в качестве отправ-
ной точки для новых гипотез.
7. Публикация результатов.
8. Повторное тестирование.

Шаг 1. Сформулировать вопрос для игрового тестирования


Какие вопросы нужно задать тестировщикам, если вы хотите узнать, по-
нравилась ли им игра? Можно просто провести опрос и спросить игро-
ков, но  насколько полезными будут для вас их ответы? Исследования
показали, что когда люди соглашаются заполнить анкету, они заранее
настроены отвечать положительно. В конце концов, добровольные тести-
ровщики уже достаточно заинтересовались проектом, чтобы согласить-
ся пройти опрос. Такая предрасположенность называется предвзято-
стью согласия. Поэтому с помощью простого опроса вы вряд ли получите
объективные результаты. Другая проблема такого подхода заключается
КАК ЗАДАВАТЬ ТЕОРЕТИЧЕСКИЕ ВОПРОСЫ 65

в том, что разные люди по-разному определяют понятие «понравилось»,


и часто их определения полностью противоречат друг другу. Например,
один человек может считать, что скримеры (неожиданные пугающие мо-
менты) в игре —  это весело и интересно, в то время как другой может
считать, что скримеры —  это стресс и совсем не весело. Таким образом,
если спросить каждого из этих игроков, насколько им понравилась хор-
рор-игра, то они дадут противоположные ответы. Чтобы получить значи-
мые результаты, нужно понять, как определить чувства, которые вы хо-
тите вызвать у игроков. Затем нужно понять, как измерить эти чувства
в количественных показателях.
При этом важно избегать неясных вопросов. Задавая вопросы вро-
де «Вся ли игра веселая?», «Вся ли игра сбалансирована?» или «Не слиш-
ком ли игра легкая?», вы не получите значимых результатов. Некоторые
части игры могут быть увлекательными, а  другие  —  скучными или ра-
зочаровывающими. Задавая слишком общие вопросы, вы оставляете мно-
го возможностей для интерпретации. Всегда подумайте о том, насколько
конкретным можно сделать вопрос, например: «Не  слишком  ли этот от-
дельный персонаж сложен для игрока нашей целевой аудитории?»
После того как вы сузили свой вопрос до наименьшей практической
единицы, нужно рассмотреть его с количественной точки зрения, чтобы
получить измеримый ответ. Сначала может показаться, что для множе-
ства вопросов не существует никаких конкретных количественных фор-
мулировок. Такие эмоции, как веселье, волнение, страх и  удовлетворе-
ние не поддаются прямому измерению. Но можно попытаться подобрать
кое-какие количественные показатели, отталкиваясь от этих эмоций. На-
пример, какие количественные показатели могли бы поведать о том, что
игрок заинтересован, а не скучает? Хорошим показателем может быть вре-
мя игры. Игроки, получающие от игры удовольствие, играют в нее дольше
или проходят больше контента за одну сессию; они чаще переигрывают ее
фрагменты или в целом задерживаются в игре. Возможно, верным будет
и все вышеперечисленное вместе. Некоторым игрокам не нравятся неуда-
чи, поэтому можно также проследить за соотношением неудач и успеха.
Например, можно предположить, что игра «разочаровывает», если игрок
терпит неудачу в 70% случаев. А это уже вполне измеримый количествен-
ный показатель.
В следующих разделах показаны два примера того, как слишком раз-
мытые и общие вопросы превращаются в полезные и измеримые.
66 ГЛАВА 3 КАК ЗАДАВАТЬ ВОПРОСЫ

Пример 1
Изначальный вопрос: «Достаточно ли увлекателен третий уровень?»

Перевод вопроса в количественную форму. Вы хотите, чтобы уровень


проходился быстро, и  гейм-дизайнер утверждает, что его продолжи-
тельность составляет около 1 минуты 45 секунд. Если игроки задержи-
ваются на уровне дольше 2 минут, они, скорее всего, что-то упускают,
и,  следовательно, вскоре могут заскучать или расстроиться. Вместе
с тем вам не хочется, чтобы игрок проходил уровень слишком быстро,
потому что тогда он не испытает восторга и волнения. И вы хотите убе-
диться в  том, что игроки проваливают уровень и  перезапускают его
как минимум дважды, прежде чем получат необходимые навыки для
его прохождения. Понятно, что невозможно определить, достаточно ли
третий уровень интересен для всех игроков. Одним людям будет слож-
нее проходить его, чем другим, но  все  же вы хотите как-то измерить
этот показатель. Можно ориентироваться на  значительное большин-
ство; например, предположить, что 80% случаев успеха будет показа-
телем достижения цели.

Переформулированный вопрос: «Могут  ли 80% игроков пройти тре-


тий уровень менее чем за 2 минуты, перезапустив его при этом минимум
дваж ды, но не более пяти раз?»

Вопрос теперь переформулирован с  количественной точки зрения.


На  первый взгляд может показаться, что он не  даст ответа о  том, доста-
точно ли увлекательна игра, но с помощью тестирования вы определяе-
те, что да, увлекательна. В ходе тестирования можно также понять, что
ваше определение увлекательности неверно. В таком случае можно пере-
смотреть количественное определение.

Пример 2
Изначальный вопрос: «Достаточно ли трудна битва с этим боссом?»

Перевод вопроса в количественную форму. Это бой с боссом ближе


к  концу игры, поэтому вероятность успеха при первом столкновении
должна быть небольшой —  около 15%. Чтобы победить, игрок должен
воспользоваться большей частью приобретенного оружия: допустим,
во  время боя нужно хотя  бы один раз задействовать 70% вариантов
КАК ЗАДАВАТЬ ТЕОРЕТИЧЕСКИЕ ВОПРОСЫ 67

оружия. Битва должна занять некоторое время; например, вам хочется,


чтобы игроки провели в битве не менее 5 минут, прежде чем босс будет
побежден. Помните, что все эти цифры можно скорректировать позже,
если вы поймете, что они не  соответствуют предполагаемым ощуще-
ниям.

Переформулированный вопрос: «Закончился ли первый бой с боссом не-


удачей по крайней мере для 85% игроков? В случае победы воспользова-
лись ли они как минимум 70% доступных видов оружия и занял ли бой
по меньшей мере 5 минут?»

Как выбрать числа для количественного вопроса


Откуда брать числа для количественной оценки вопроса? Иногда кое-какие
показатели приходят в голову еще до начала работы. Например, по вашему
мнению, «легкая» задача не должна заканчиваться неудачей в 50% случаев.
В других случаях непонятно, на что ориентироваться. Если у вас уже име-
ется пригодная для тестирования игра, то можно понаблюдать за тести-
ровщиками и посмотреть, какие показатели коррелируют с их ощущения-
ми. Например, если видно, что тестировщику наскучил уровень, то можно
отметить время, когда ему стало скучно. Можно выбрать любой другой по-
казатель, соотносящийся с наблюдаемым отношением. Если ориентиро-
ваться не на что, то придется сделать несколько предположений и коррек-
тировать цифры по мере тестирования.
Учтите, что в небольших масштабах или при индивидуальном игровом
тестировании еще можно задавать тестировщикам некоторые субъектив-
ные вопросы, вроде «Насколько интересна эта игра?» Но такие вопросы
используют, чтобы начать обсуждение и в конечном счете перейти к сбору
менее субъективных данных.

Шаг 2. Сбор информации и ресурсов


После формулирования количественно измеримых вопросов следующим
шагом будет наблюдение за игроками и сбор информации. Как и в любой
другой области, есть несколько способов сделать это правильно, и  есть
очень много способов сделать это неправильно. Неправильная организа-
ция теста может привести к неоднозначным или, что еще хуже, вводящим
в  заблуждение результатам. (Подробнее о  проведении тестов для сбора
данных вы узнаете в главе 17 «Тонкая настройка баланса, тестирование
и решение проблем»).
68 ГЛАВА 3 КАК ЗАДАВАТЬ ВОПРОСЫ

Шаг 3. Формулировка объясняющей факты гипотезы


На  этом этапе нужно приступить к  соотнесению зафиксированных
количественных показателей с  наблюдаемыми ощущениями и  пове-
дением тестировщиков. Собранные данные помогут получить более
четкое представление о том, что означают такие характеристики, как
«сложная», «скучная» и «веселая» по отношению к вашей конкретной
игре.

Шаг 4. Проверка гипотезы экспериментом


Как только вы почувствуете, что понимаете, как можно количественно
определить предполагаемые эмоции игроков, на следующем этапе нуж-
но попытаться целенаправленно манипулировать этими эмоциями. До-
пустим, вы решили, что если соотношение неудач будет превышать 70%,
то  игроки будут расстраиваться. Нужно это протестировать. Начните
с проведения контрольного теста с текущими данными —  так вы полу-
чите базовую реакцию. Затем настройте игру так, чтобы тестировщики
терпели неудачи более чем в 70% случаев, после чего спросите, расстрои-
лись ли они (или понаблюдайте за их поведением). В следующем тесте
уменьшите сложность, чтобы убедиться в  том, что она действительно
коррелирует с исследуемой эмоцией. С помощью таких экспериментов
можно добиться тонкой настройки не только для цифр, но и для ощуще-
ний.

Шаг 5. Анализ полученных данных


Этот этап, который должен происходить регулярно на протяжении всего
тестирования, следует выполнять с помощью базы данных или электрон-
ной таблицы. Подробно этот процесс рассматривается в главе 15 «Анализ
игровых данных».

Шаги 6 и 7. Интерпретация данных, формулировка выводов


и публикация результатов
После того как вы провели тесты, настроили игру и  проанализировали
данные, наступает время все это записать. В идеале нужно вести записи
на протяжении всего процесса. Придя к  каким-то выводам и поняв, как
что-то работает, очень важно записать руководство, объясняющее вашим
товарищам по команде (и будущему себе), в чем именно заключаются эти
выводы.
КАК ЗАДАВАТЬ ТЕОРЕТИЧЕСКИЕ ВОПРОСЫ 69

Шаг 8. Повторное тестирование


Тестирование игр не прекращается никогда. Часто игры остаются на ста-
дии тестирования и балансировки еще долго после того, как проект будет
закончен и выдан игрокам.

Формулировка вопроса для анализа данных


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

Пример 1
Если в игре в нарды на обеих костях выпадает одинаковое количество оч-
ков, то ходы игрока удваиваются. Допустим, вы хотите узнать вероятность
удвоения ходов игрока. Для количественной оценки такого исхода можно
воспользоваться вопросом: «Какова процентная вероятность выпадения
одинаковых очков на двух шестигранных костях?»

Пример 2
Допустим, в  вашей игре есть оружие, стреляющее лазерным лучом
на 100 метров и не теряющее способности наносить урон на всем этом рас-
стоянии. Кроме этого, есть еще одно оружие, стреляющее пулями на рас-
стояние до 60 метров. Пули наносят больше урона, чем лазер, но их урон
уменьшается с каждым метром. Чтобы получить количественные резуль-
таты, можно задать вопрос: «Каким оружием лучше воспользоваться для
нанесения максимального урона на расстоянии 40 метров?» Опять же, от-
вет на него не потребует игрового тестирования, и найти его можно будет
непосредственно в электронной таблице.
70 ГЛАВА 3 КАК ЗАДАВАТЬ ВОПРОСЫ

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

Как обращаться за помощью в решении


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

Почему важна формулировка вопроса


В игровой индустрии как нельзя остро стоит проблема сроков и, как пра-
вило, работы всегда бывает больше, чем людей и времени на ее выполне-
ние. Чем больше у  человека ответственности, тем больше ему не  хвата-
ет времени. У  руководителей, продюсеров, менеджеров и  других людей
на топовых должностях часто бывают очень жесткие графики. К сожале-
нию, именно у них чаще всего и бывают ответы на возникающие у вас во-
просы. Что еще сильнее усложняет ситуацию, в игровой индустрии пол-
ным-полно людей, настроенных на жесткий дедлайн и плотный график.
Такие качества делают из них отличных работников, но не всегда самых
терпеливых и дружелюбных сотрудников. Очень занятой, напряженный
человек может воспринять плохо сформулированный вопрос как пустую
трату времени и рассердиться. Почти каждый гейм-дизайнер в индустрии
КАК ОБРАЩАТЬСЯ ЗА ПОМОЩЬЮ В РЕШЕНИИ ПРОБЛЕМЫ 71

сможет поведать вам историю о том, как ведущий инженер нагрубил ему
в ответ на, казалось бы, безобидный вопрос.
Органичные и хорошо написанные вопросы с большей вероятностью
обратят на себя внимание нужного человека, который предоставит вам
нужные ответы. Плохо сформулированные вопросы снижают вероятность
получения ответа, как и вероятность того, что их воспримут всерьез; ско-
рее всего, вас с ними развернут или не дадут конструктивного ответа. Это
не значит, что вы должны держать вопросы при себе. Спрашивать, когда
вам нужна помощь, крайне важно. Когда вам понадобится помощь, удели-
те время на составление грамотного вопроса, и тогда у вас будет больше
шансов получить необходимую информацию.

Поэтапное написание хорошего вопроса


Сформулировать и задать в письменном виде хороший вопрос позволяют
следующие шаги.

1. Хорошенько подумайте о том, с какой проблемой вы столкнулись. Напи-


шите о ней. Напишите свой вопрос. Постарайтесь сами как следует по-
размыслить над возможным ответом в течение десяти минут. Поищите
ответ в Интернете, почитайте руководства, изучите похожие примеры
и попробуйте найти ответ самостоятельно. Сообщите тому, у кого буде-
те просить совета, какими источниками вы уже воспользовались.
2. Перечислите поэтапно все, что вы делали перед появлением пробле-
мы, и как именно она возникла.

подсказка
Никогда не называйте то, что пошло не так, «все» или «что-то».

3. Напишите о том, что вы сделали в попытках исправить проблему. Че-


ловек, к которому вы обращаетесь, не знает, что вы делали или не де-
лали, поэтому перечислите все свои действия.
4. Добавьте к своей просьбе слова благодарности.
5. Перед тем как отправить просьбу, перечитайте ее, представив, что вы
ничего не знаете об этой проблеме. Смогли бы вы понять ее по опи-
санию? Содержатся ли в просьбе все необходимые сведения? Если
да, то отправляйте.
72 ГЛАВА 3 КАК ЗАДАВАТЬ ВОПРОСЫ

6. Получив ответ, настройтесь на то, что он правильный, даже если ка-


жется вам странным.
7. Точно следуйте всем указанным инструкциям.
8. Если инструкции не сработали, повторите все шаги снова и в точно-
сти выполните то, было написано в ответе. Это необходимо для того,
чтобы ответивший не пришел к ложному выводу о том, что проблема
была решена благодаря потенциально неправильному ответу.

Выполняя эти действия, следуйте дополнительным советам.

 Не отвлекайтесь от сути вопроса. Просто так пообщаться можно


в другое время. Если вам нужно получить ответ, переходите к делу сра-
зу, без лишних слов.
 Возможно, вы будете расстроены или даже рассержены из-за пробле-
мы, но не забывайте о том, что вы просите кого-то помочь. Постарай-
тесь быть вежливым. Не ведите себя так, будто адресат вашей просьбы
что-то вам должен или что он обязан ответить вам, даже если формаль-
но это так. Такой настрой может привести к напряжению в общении,
и это не приблизит вас к решению.
 Расскажите, что вы пытаетесь сделать, и опишите проблему во всех
подробностях, а  не  просто укажите симптомы. Например, вы пыта-
етесь рассчитать среднее время, которое требуется игроку для прохож-
дения игрового уровня, но  каждый раз, когда вы вводите формулу
в Excel, вся рабочая книга вылетает. Спрашивать: «Вы не знаете, поче-
му у меня вылетает Excel?» практически бесполезно; гораздо лучше со-
общить: «Я пытаюсь рассчитать среднее время игрока в моем уровне,
но при вводе формулы в Excel программа отключается. Во вложении — 
копия файла и формула…» Читателю важно знать, что именно вы пы-
таетесь проделать. В данном примере ответ может заключаться в том,
что не стоит пользоваться Excel, так как это неподходящий инструмент
для этой задачи. Но такой ответ можно получить лишь на вопрос, в ко-
тором описана реальная проблема, а не только ее симптомы.
 Будьте предельно конкретны, упоминайте подробности. Учтите сле-
дующие советы.
 При формулировке технического или другого сложного вопроса
старайтесь избегать местоимений и  не  допускать двусмысленно-
сти. Например, если вы напишете: «Герой встречается со злодеем,
КАК ОБРАЩАТЬСЯ ЗА ПОМОЩЬЮ В РЕШЕНИИ ПРОБЛЕМЫ 73

они дерутся, а потом он вдруг умирает», то как читатель узнает, кто


из  них умер? Вместо этого переформулируйте предложение так:
«Герой встречается со  злодеем, они дерутся, а  потом герой вдруг
умирает». Так ни у кого не будет сомнений в том, что происходит.
 Не рекомендуется использовать такие слова и выражения, как «эта
штуковина», «всякое», «все остальное», «разное», «разные вещи»
и «непонятно, что именно».
 «Игровой персонаж» и «игрок» —  это не одно и то же. Такое разли-
чие уникально для игровой индустрии, но оно очень важно. Игрок
сидит в кресле или на стуле и нажимает клавиши или кнопки. Иг-
ровой персонаж —  это персонаж, которым управляет игрок в игре.
Например, «персонаж не видит цели» —  это совсем другая пробле-
ма, нежели «игрок не видит цели».
 Не делайте вид, что вы знаете то, что на  самом деле не  знаете. Воз-
можно, вам будет неловко задавать вопрос, когда предполагается, что
какая-то часть информации вам уже должна быть известна. Пришло
время признаться. Признайте свою неосведомленность и просто спро-
сите. Конечно, это не очень весело, но это гораздо лучше, чем не полу-
чить нужную информацию.
 Используйте жирный шрифт с умом. С его помощью можно подчерк-
нуть наиболее важные части вопроса, чтобы читатель уделил им повы-
шенное внимание. Но не переусердствуйте, иначе вопрос будет выгля-
деть слишком «шумным», и у читателя возникнет впечатление, будто
вы кричите. Никому не нравится, когда на него кричат. Постарайтесь
никогда не набирать весь текст заглавными буквами, что обычно тоже
выглядит как крик. (Просмотрите этот список с  самого начала и  от-
метьте, какие слова в  нем выделены жирным шрифтом. С  помощью
этих слов можно быстро понять, о чем идет речь.)
 Бывает полезно сообщить человеку, почему вы спрашиваете именно
его. Предваряя вопрос словами: «Я знаю, что у вас многолетний опыт
работы с C#, поэтому я решил спросить вас, как заставить этот скрипт
работать», вы даете получателю сообщения больше информации о том,
что надеетесь получить. Но если причина очевидна, объяснять ее не-
обязательно.
74 ГЛАВА 3 КАК ЗАДАВАТЬ ВОПРОСЫ

Пример хорошего вопроса


Рассмотрим следующий пример электронного письма, в котором учтены
перечисленные выше советы по формулировке хорошего технического во-
проса.

Тема: Проблема с добавлением новой строки в файл Excel «Журнал


учета рабочего времени»

Здравствуйте, [имя разработчика]!

У нас с командой не получается заставить правильно работать


файл электронной таблицы «Журнал учета рабочего времени» при
попытке ввода нового показания времени в часах.

Возникновение ошибки, по шагам.


1. Откройте электронную таблицу в Excel 2010 на MacBook Pro под
управлением OS X версии 10.7.5, выберите строку 56 на вкладке 1.
2. Щелкните правой кнопкой мыши выбранную строку и попро-
буйте выбрать пункт «Вставить новую строку».
Проблема: вариант «Вставить новую строку» отображается серым
цветом, и я не могу его выбрать.

Я попробовал найти подсказку в разделе справки Excel «Вставка но-


вой строки», и я поискал в Интернете советы по запросу «Excel вста-
вить новую строку выделено серым». Я прочитал первые пять ре-
зультатов, но ни один из них не показал решения моей конкретной
проблемы. Я попробовал создать пустую рабочую книгу, и в ней
можно воспользоваться вариантом «Вставить новую строку».
Есть ли какой-то способ вставить новую строку 56 в мою рабочую
книгу или есть другое обходное решение?

Спасибо,
[Имя]
[Должность, название команды/отдела]
[Контактные данные]
КАК ОБРАЩАТЬСЯ ЗА ПОМОЩЬЮ В РЕШЕНИИ ПРОБЛЕМЫ 75

Пример плохого вопроса


Ниже приведены примеры плохих вопросов.

 «На моем уровне все сломано. Вы можете починить его?»


В этом вопросе не указано никакой информации, и его автор сообщает
только о своей беспомощности. Такие вопросы заставляют пустить ску-
пую слезу даже опытных ведущих инженеров-программистов.
 «С моим файлом .png что-то не так, но я не знаю, что именно. Что мне
делать?»
В этом вопросе слишком мало подробностей. Нужно сообщить получа-
телю, что именно не так с файлом. Он не открывается в Photoshop CS6?
Выходит ли он из строя при попытке открыть его с помощью Microsoft
Paint? Содержимое файла не соответствует вашим ожиданиям? Может
быть, дело в чем-то другом?
 «Я сделал то, что вы сказали, но теперь все изменилось. Как мне все вер-
нуть?»
Налицо несколько проблем. Вопрос выглядит так, как будто вы пытае-
тесь переложить вину на человека, который на него должен ответить.
Это невежливо и неконструктивно. Также вопросу не хватает конкре-
тики. Что именно изменилось? Отличаются  ли изменения в  плохую
сторону? Как именно?
Есть способ задать этот вопрос получше.

Тема: классовый проект «Уровень 10» вылетает при загрузке.

Как вы, наверное, знаете, мы с командой работаем в Unity над создани-


ем уровня. Вчера вечером, после добавления нового статического меша,
наш уровень стал вылетать.
Вот что я делал.

1. Открыть Unity и загрузить наш уровень на 64-разрядной машине


Windows 10.
2. Выбрать опцию «Играть в мою игру».

Проблема: происходит аварийное завершение работы Unity без выво-


да окна отладки или предупреждения. Программа закрывается полно-
стью и сразу. Я пробовал удалять добавленный прошлым вечером ста-
тичный меш. Я  пробовал закрывать и  снова открывать Unity. Теперь
76 ГЛАВА 3 КАК ЗАДАВАТЬ ВОПРОСЫ

я не знаю, что делать. Могли бы вы предложить какие-либо шаги для


отладки этой проблемы?

Спасибо,
[Имя]
[Должность, название команды/отдела]
[Контактные данные]

Если вы получили полезный ответ или смогли решить проблему, сооб-


щите об этом и поблагодарите человека лично или по электронной почте
(достаточно одного вежливого «Спасибо»). Адресату нужно знать, сработа-
ли ли его предложения, как и нужно знать, если они не сработали. Закры-
вая «цикл обращения», вы показываете, что вам как коллеге можно дове-
рять в поиске и в решении проблем.

Дальнейшие шаги
После завершения этой главы рекомендуется некоторое время попракти-
коваться на реальных примерах и попробовать использовать рассмотрен-
ные здесь концепции. Постарайтесь сформулировать несколько вопросов.

 Запишите несколько вопросов, касающихся данных простой игры, ко-


торую сделали вы сами или в которую играли, а затем ответьте на них.
Как ни удивительно, но для развития такого навыка требуется немало
упражняться. Сосредоточьтесь на том, что другие люди могут что-то
понять неправильно. Можно даже попытаться придумать все способы,
какими ваши слова могут истолковать неверно.
 Попробуйте рассмотреть некоторые из вопросов, которые возникают
у вас в повседневной жизни, как вопросы, которые задает гейм-дизай-
нер. Одно из преимуществ реальной жизни состоит в том, что в ней все-
гда найдутся возможности для практики. Задавать различные вопросы
на технических форумах — отличный способ получить обратную связь
от незнакомцев и проверить, понятно ли вы излагаете свои мысли.
 Просмотрите форумы в  поисках примеров плохих вопросов. Это до-
вольно легко, потому что на публичных форумах такого полным-полно.
Выберите темы, в которых вы разбираетесь, и ответьте на некоторые
вопросы по  этим темам. Так вы не  только неплохо попрактикуетесь
в написании вопросов, но и поможете другим.
ГЛ А В А 4

ИНСТРУМЕНТЫ
СИСТЕМНОГО ДИЗАЙНА

В игровой индустрии, как и следовало ожидать,


используют самые разные компьютерные
программные инструменты. У каждой
команды и у каждого отдела, проекта и игры
свои потребности, и для удовлетворения
этих потребностей существует множество
инструментов. Некоторыми инструментами
пользуются чаще, чем другими. В этой
главе описываются некоторые из наиболее
распространенных используемых в игровой
индустрии категорий инструментов,
но для начала мы рассмотрим, что именно
подразумевается под термином «данные».
78 ГЛАВА 4 ИНСТРУМЕНТЫ СИСТЕМНОГО ДИЗАЙНА

Что такое данные?


В этом и последующих разделах часто будут упоминаться инструменты
и концепции, связанные с данными. Но что такое данные? В рамках этой
книги «данные» — числа или текст, используемые для описания чего-либо.
Важно отметить, что с данными можно действовать, но сами по себе они
этого не делают. Рассмотрим несколько примеров.
Допустим, у героя есть атрибут «здоровье», с которым связаны некото-
рые правила. Правила боя определяют количество здоровья, которое теря-
ется при атаке или восстанавливается при исцелении. В настоящее время
показатель здоровья героя равен 100. В данном случае 100 —  это данные.
Это число, соотнесенное с атрибутом здоровья, и с ним можно что-то сде-
лать согласно правилам.
В таблице 4.1 приведено еще несколько примеров данных, относящих-
ся к различным атрибутам и правилам.

Таблица 4.1. Примеры данных, относящихся к атрибутам и правилам

Правило/атрибут Данные
Здоровье 100
Оружие Меч
Сила 50
Объем топлива 20
Тип двигателя Бензиновый
Живой Истина
Цвет глаз Зеленый
Количество бросков кости 2

Обратите внимание на  то, что некоторые данные в  таблице 4.1 чис-
ловые, другие бинарные (двоичные), а третьи —  текстовые. Независимо
от своего типа все данные из этой таблицы каким-то образом используют-
ся согласно правилам игры. Но сами по себе данные не содержат никаких
правил.
ИНСТРУМЕНТЫ ИГРОВОЙ ИНДУСТРИИ 79

Инструменты игровой индустрии


Инструменты игровой индустрии охватывают несколько типов программ-
ного обеспечения и приложений, включая инструменты документирова-
ния, инструменты редактирования изображений, инструменты 3D-моде-
лирования, инструменты построения блок-схем, базы данных, программы
отслеживания ошибок, игровые движки и  электронные таблицы. В  сле-
дующих разделах подробно рассматривается каждый тип инструментов.

Инструменты документации
Текстовые процессоры —  одни из самых старых и наиболее используемых
компьютерных инструментов; разработчики игр пользуются ими постоян-
но, в основном для создания и поддерживания документации. Как правило,
для каждой особенности, концепции, каждого уровня или игрового персо-
нажа, каждой системы делается заявка. После того как ее предлагают, она
обсуждается, уточняется и документируется. Такое обсуждение и наброс-
ки дизайна можно быстро сделать в текстовом процессоре, не боясь внести
в игру какие-то ошибки. Все концепции или большинство их разработчи-
ки описывают в «гейм-дизайн-документации игры» (Game Design Document,
GDD (ГДД)). Это может быть как простой документ с перечислением ключе-
вых идей, так и огромнейший монстр на сотни страниц. В некоторых круп-
ных командах есть даже специальный разработчик, единственная обязан-
ность которого — составлять и поддерживать гейм-дизайн-документ игры.
Примеры популярных программ для документации: Microsoft Word,
Google Docs (иллюстрация 4.1) и Apache OpenOffice Writer.

Иллюстрация 4.1. Google Docs


Скриншот Google Docs © 2021 Google
80 ГЛАВА 4 ИНСТРУМЕНТЫ СИСТЕМНОГО ДИЗАЙНА

Инструменты редактирования изображений


Все, что раньше рисовали карандашами или писали красками, теперь со-
здается или изменяется с помощью инструментов редактирования изобра-
жений. Эти инструменты могут импортировать необработанные изобра-
жения с камеры или сканера, либо их можно использовать для создания
совершенно новых изображений. Современные инструменты редактиро-
вания изображений обладают огромной мощью и  позволяют художни-
кам быстро создавать и  редактировать 2D-изображения ими. Разработ-
чики игр используют инструменты редактирования изображений для
множества задач, включая создание пользовательского интерфейса, со-
здание текстур для 3D-объектов, создание скинов для моделей персона-
жей, концепт-арт и многое другое. Несмотря на то что инструменты ре-
дактирования изображений —  это в первую очередь сфера деятельности
художников, его основы полезно изучить всем разработчикам, включая
гейм-дизайнеров.
Примеры популярных для этого инструментов: Adobe Photoshop (иллю-
страция 4.2) и GIMP.

Иллюстрация 4.2. Adobe Photoshop


Скриншот Adobe Photoshop © 2021 Adobe
ИНСТРУМЕНТЫ ИГРОВОЙ ИНДУСТРИИ 81

Инструменты 3D-моделирования
В трехмерной видеоигре пользователь видит трехмерные объекты и взаи-
модействует с ними. Для создания таких объектов художники и дизайне-
ры используют инструменты 3D-моделирования. Их интерфейс позволяет
создавать трехмерные объекты и  манипулировать ими в  смоделирован-
ном 3D-пространстве. Обычно у инструмента есть несколько видов каме-
ры, позволяющих рассматривать объект с  нескольких точек зрения од-
новременно. Эти инструменты также имеют элементы управления для
редактирования 3D-объектов: растягивания, вырезания, скручивания,
изменения размера, разделения и  присоединения 3D-фигур. Большин-
ство этих функций имеют очень специфические названия в инструментах
3D-моделирования, поэтому гейм-дизайнерам пригодится знание жарго-
на этих инструментов.

Иллюстрация 4.3. 3D Studio Max


Скриншот 3D Studio Max © 2021 Autodesk Inc.
82 ГЛАВА 4 ИНСТРУМЕНТЫ СИСТЕМНОГО ДИЗАЙНА

После создания 3D-объектов в  большинстве инструментов можно


наложить на  объекты текстуру. Под текстурой в  играх понимают не  со-
всем то же самое, что в реальном мире. В реальном мире текстуру можно
ощутить физически. В игровом мире текстура моделируется с помощью
изображения. В  инструмент 3D-моделирования можно импортировать
изображение, созданное в  инструменте редактирования изображений,
и наложить его на поверхность трехмерного объекта, создавая иллюзию
текстурированной поверхности.
Во  многих инструментах 3D-моделирования можно также анимиро-
вать 3D-объекты. Разработчики игр используют анимацию для создания
предварительных кинематографических сцен (кат-сцен) или экспортиру-
ют анимацию в виде инструкций для игрового движка в реальном времени.
Последняя задача инструмента 3D-моделирования —  экспортировать
объект в формат файла, понятный игровому движку.
Примеры популярных инструментов 3D-моделирования: 3D Studio Max
(иллюстрация 4.3), Maya и Blender.

Инструменты создания блок-схем

Вариант Вариант

Узел
блок-схемы
Вариант
Вариант

Вариант

Иллюстрация 4.4. Блок-схема

Блок-схемы (схемы работы), вроде показанной на  иллюстрации 4.4,


используются для организации идей и  показа последовательности дей-
ствий в системе. В отличие от письменного текста или линейного списка,
в блок-схеме можно графически отображать разветвления, циклы, точки
ИНСТРУМЕНТЫ ИГРОВОЙ ИНДУСТРИИ 83

принятия решений и условия завершения. Очень часто дизайнеры уров-


ней используют блок-схемы, чтобы набросать концепцию уровня, прежде
чем тратить время на создание карты или 3D-модели уровня. Гейм-дизай-
неры и инженеры часто используют блок-схемы, чтобы показать работу си-
стемы в процессе и быстро набросать концепцию, прежде чем закладывать
время на ее создание в игровом движке.
Примеры популярных инструментов создания блок-схемы: Google
Drawings, Visio и OmniGraffle.

Базы данных
База данных хранит большие объемы данных, которые можно извлечь
и  использовать в  дальнейшем. Простой игре, возможно, база данных
и не нужна, но для очень большого проекта количество хранимых данных
бывает огромным, и хранить их в движке или в скрипте бывает тяжело.
Гейм-дизайнеры должны уметь пользоваться базами данных, поскольку
именно они часто управляют данными игры. Они обычно используют-
ся для хранения данных об оружии, броне, транспортных средствах, бо-
нусах используемых игроком предметов, персонажах ИИ и других типах
врагов. База данных объектов служит центральным хранилищем игровых
объектов, и благодаря им поддерживается согласованность во всей игре.
Представьте, как трудно было бы разбирать все сценарии, написанные для
MMO, в поисках отдельных предметов и персонажей. Хорошая аналогия
базы данных — картотека. Можно открыть картотеку, найти нужный объ-
ект, а затем либо сослаться на него для использования в игре, либо внести
в «карточку» изменения, которые повлияют на всю игру.
Система управления предоставляет инструменты для фактического до-
ступа ко  всем данным в  базе данных. Чтобы понять разницу между ба-
зой данных и системой управления базами данных, представьте, как хра-
нится ваша музыкальная коллекция. У вас на жестком диске могут быть
сотни или тысячи песен различных групп и жанров. В данном случае ваш
жесткий диск похож на  базу данных, где хранится вся музыкальная ин-
формация, включая сами песни. Для того чтобы найти какую-то инфор-
мацию, можно просто просматривать папки файлов Windows, но это будет
очень медленно и неэффективно, и, скорее всего, часть важной информа-
ции вы пропустите. Вместо этого можно воспользоваться приложением
для воспроизведения музыки, которое, по сути, является специализиро-
ванной системой управления базой данных. В таком приложении музыку
84 ГЛАВА 4 ИНСТРУМЕНТЫ СИСТЕМНОГО ДИЗАЙНА

можно отфильтровать по жанру, можно найти каждую песню конкретной


группы, найти содержимое одного альбома или как-то еще получить до-
ступ к данным. В мире разработки игр системы управления базами дан-
ных выполняют работу, аналогичную вашему приложению для воспроиз-
ведения музыки. При разработке большой ролевой игры всегда возникает
необходимость найти, допустим, все мечи, или только щиты, или только
предметы 22-го уровня, которые используются рыцарями. В базе данных
хранятся данные обо всех видах оружия, доспехов и классах персонажей,
а  система управления базой данных позволяет получить доступ только
к той информации, которая вам нужна.
Но разве электронные таблицы не могут решать те же задачи, что и сис-
тема управления базой данных? Да, могут, и во многих небольших играх
так и есть. Но электронные таблицы загружают всю хранящуюся в них ин-
формацию при каждом использовании. Если обратиться к очень большо-
му объему данных, работа электронных таблиц замедлится. Кроме того,
если загружать только те элементы, которые нужно отредактировать, бу-
дет меньше шансов наделать ошибок в других объектах.
Пример популярной базы данных — Microsoft Access, а примеры систем
управления данными — MySQL и Microsoft SQL Server.

Программное обеспечение для отслеживания ошибок


Программное обеспечение для отслеживания ошибок —  особый тип систе-
мы управления базами данных. В этой базе данных хранится информация
об ошибках в игре. Система управления настроена специально для работы
с информацией и задачами, которые необходимо решать при работе с ошиб-
ками. В отличие от общей системы управления базой данных, программное
обеспечение для отслеживания ошибок не требует ручной настройки. Его
можно использовать для записи информации о новых ошибках, поиска похо-
жих или дублирующих ошибок, назначения ошибки другому владельцу, от-
слеживания процесса исправления, а также фильтрации уже исправленного.
Популярные инструменты отслеживания ошибок  —  Jira, Bugzilla,
Plutora и Backlog.

Игровые движки
Игровой движок —  это то, на чем собирается вся игра. При создании лю-
бой игры часто возникают проблемы, одинаковые независимо от конкрет-
ного проекта. Например, везде нужно делать рендеринг графики на экране,
ДАЛЬНЕЙШИЕ ШАГИ 85

определять столкновения объектов друг с другом и извлекать из памяти


художественные ассеты (объекты). Для таких задач не имеет смысла про-
граммировать их с  нуля каждый раз. Поэтому команды разработчиков,
студии и специализированные компании собирают в один пакет все об-
щие функции, необходимые для создания большинства частей игры, со-
здавая программу, которая называется «игровой движок».
Помимо управления основными функциями игры движок организу-
ет интерфейс для разработки. Например, многие движки имеют трехмер-
ный вид, и разработчики могут перемещаться в трехмерном пространстве,
видеть, где в игре расположены объекты уровня, настраивать их или до-
бавлять их. В  игровых движках также обычно есть встроенная система
управления файлами, чтобы художники, гейм-дизайнеры и  программи-
сты могли работать друг с другом, оживляя объекты в игре.
В настоящее время некоторые компании выпускают «промежуточные»
движки, не предназначенные для какой-то конкретной игры или коман-
ды, а  разработанные для использования всеми, кому понадобится про-
стое решение для разработки игр. Преимущество промежуточного про-
граммного обеспечения заключается в том, что оно предназначается для
огромного числа команд разработчиков, и потому отличается гибкостью.
Недостаток же в том, что в нем всегда будут отсутствовать ключевые ком-
поненты, делающие каждую игру уникальной.
Примеры популярных игровых движков  —  Unity 3D, Unreal Engine,
CryEngine и Cocos.

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

 Наберите в поисковой строке в Интернете «Игровые движки для начи-


нающих». Так вы найдете статьи о  множестве современных игровых
движков и ознакомительные видеоролики о большинстве популярных.
Уделите некоторое время просмотру и сравните возможности различ-
ных игровых движков, чтобы лучше понять, в каком направлении раз-
вивается игровая индустрия.
86 ГЛАВА 4 ИНСТРУМЕНТЫ СИСТЕМНОГО ДИЗАЙНА

 Попрактикуйтесь в использовании инструментов документации, у ко-


торых гораздо больше возможностей, чем вы можете себе представить.
Гейм-дизайнеры должны уверенно пользоваться этими инструмента-
ми, не только для того, чтобы набирать слова, но и для того, чтобы пра-
вильно форматировать и  организовывать документы. Два самых по-
пулярных инструмента для работы с документацией — Microsoft Word
и Google Docs.
 Составьте блок-схему для игры — либо той, что вы хотите создать, либо
уже существующей простой игры. Используйте блок-схему, чтобы пока-
зать ход игры с самого начала и различные выборы игрока. Чтобы полу-
чить некоторое представление о блок-схемах и о том, что они долж ны
включать в себя, поищите в Интернете по фразе «Как составлять блок-
схемы для гейм-дизайнеров»; потратьте некоторое время на просмотр
и чтение руководств по блок-схемам для разработки игр.
ГЛ А В А 5

ОСНОВЫ ЭЛЕКТРОННЫХ
ТАБЛИЦ

В главе 4 рассматривались инструменты, обычно


используемые для создания игр разработчиками
на различных ролях, но основной инструмент
именно игровых систем и данных — это, прежде
всего, электронные таблицы. Поскольку, скорее
всего, в своей работе вы будете чаще всего
пользоваться именно ими, эта и следующая глава
подробно для вас. Показанные в этой книге примеры
из электронных таблиц составлены в Google Sheets
(см. иллюстрацию 5.1) — бесплатной и очень мощной
программе электронных таблиц. Имеются и другие
хорошие и мощные программы электронных
таблиц. Почти все, о чем рассказывается в этой
главе, применимо к большинству других программ
для работы с электронными таблицами, хотя их
интерфейсы могут выглядеть несколько иначе.
88 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ

Иллюстрация 5.1. Google Sheets


Скриншот Google Sheet © 2021 Google

Почему электронные таблицы?


Представьте, что по своей работе вы должны постоянно перемещать тяже-
лые вещи на протяжении всего дня. Это ужасная, утомительная и медлен-
ная работа. Затем вы узнаете, что есть великан, который любит двигать
вещи и может перемещать очень тяжелые предметы целый день без всяких
жалоб. Казалось бы, ваша работа должна тут же стать очень легкой. Но ве-
ликан не говорит на вашем языке и использует собственный великанский
язык, а вы его не знаете. Если вы научитесь говорить на его языке, он с ра-
достью сделает все, что вы захотите, и сделает при этом гораздо больше,
чем любой человек. Когда вы научитесь говорить на великанском языке,
вам нужно будет только сказать ему, что делать, а потом можно будет спо-
койно прохлаждаться в тенечке и наблюдать за тем, как он с удовольстви-
ем работает.
В этой аналогии великан — электронная таблица, язык — функции элек-
тронной таблицы, а  тяжелые вещи  —  математика. Если вы научитесь го-
ворить на языке электронных таблиц, вы сможете легко выполнять задачи,
которые либо невозможны, либо совершенно непрактичны для человека. Ра-
бота гейм-дизайнера часто связана с вычислением огромных объемов дан-
ных с помощью сложных формул, но вручную это сделать просто невозможно.
Электронная таблица — идеальный инструмент для гейм-дизайнера.
ПОЧЕМУ ЭЛЕКТРОННЫЕ ТАБЛИЦЫ? 89

Кроме того, навыки работы с электронными таблицами —  одни из са-


мых распространенных и полезных навыков в индустрии. Все остальные
инструменты, рассмотренные в этой книге, постоянно меняются. На рын-
ке регулярно появляются новые игровые движки, художественные про-
дукты и  командные инструменты. Кроме того, в  процессе постоянного
развития находятся многие очень старые продукты. Даже старый добрый
Photoshop за последнее время подвергся столь радикальному переосмыс-
лению, что стал практически неузнаваемым, если сравнивать его нынеш-
ний вариант с первоначальной формой. Поэтому даже если вы и изучали
какие-то старые инструменты много лет назад, но не пользовались ими
в последнее время, то теперь, если захотите к ним вернуться, придется
учиться заново.
В то время как все инструменты в отрасли развиваются и растут, элек-
тронные таблицы остаются на удивление такими же. Стабильный и прак-
тичный дизайн электронных таблиц появился очень рано и с тех пор оста-
ется неизменным. Например, на  иллюстрации 5.2 показана программа
VisiCalc, которая считается самой первой полностью функционирующей
пользовательской программой электронных таблиц.

Иллюстрация 5.2. VisiCalc


Скриншот VisiCalc © Copyright 1999–2018 by Daniel Bricklin

Несмотря на то что VisiCalc была выпущена в 1979 году, в ней легко за-
метить все основные компоненты, присутствующие в современных элек-
тронных таблицах. Со  временем в  программы электронных таблиц до-
бавили много новых функций, но даже у созданной в конце 1990-х годов
90 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ

программы будет подавляющее большинство функций, доступных в  со-


временном софте. По мере развития электронных таблиц скорость изме-
нений по сути замедлилась, в то время как скорость изменений во многих
других инструментах только увеличилась. Обучение работе с  электрон-
ными таблицами —  это, пожалуй, одна из самых долгосрочных инвести-
ций в  игровые инструменты, какие только можно сделать. Популярные
инструменты для работы с  электронными таблицами  —  Microsoft Excel,
Google Sheets и OpenOffice.org Calc.
В  то  время как игровые движки, инструменты 3D-моделирования
и многие другие средства разработки игр, как правило, довольно уникаль-
ны и требуют от пользователя специальных навыков, современные про-
граммы электронных таблиц очень похожи по  использованию и  по  сво-
ему функционалу. Если освоить одну из них, будет легко освоить и любой
другой инструмент для работы с электронными таблицами. Также мож-
но довольно легко конвертировать файлы данных из  одной программы
в другую — это еще одно уникальное преимущество электронных таблиц.
Большинство других инструментов для разработки игр имеют специфиче-
ские форматы файлов, которые трудно или невозможно переносить из ин-
струмента в инструмент.

Что такое электронная таблица?


Электронная таблица  —  это, по  сути, группа контейнеров данных, ко-
торые могут взаимодействовать друг с  другом. Электронные таблицы
используют для сбора и хранения данных. Также их используют для ор-
ганизации, редактирования и  расчета данных, что позволяет находить
значимую информацию. С практической точки зрения это означает, что
мы берем целую кучу необработанных данных, которые трудно или невоз-
можно понять и проанализировать, и позволяем электронной таблице вы-
полнить тяжелую работу по очистке данных, чтобы она помогла нам отве-
тить на вопросы по поводу этих данных. Затем мы можем воспользоваться
инструментом для индивидуального или массового редактирования этих
данных, изменяя их так, как нам понадобится.
ЯЧЕЙКИ ЭЛЕКТРОННЫХ ТАБЛИЦ: СТРОИТЕЛЬНЫЕ КИРПИЧИКИ ДАННЫХ 91

Ячейки электронных таблиц:


строительные кирпичики данных
В этом разделе рассматриваются общие элементы всех инструментов элек-
тронных таблиц. В каждом инструменте могут иметься дополнительные
функции, уникальные для конкретной программы, но если вы знаете об-
щие элементы, то вам будет довольно легко освоить уникальные. При чте-
нии следующих разделов очень полезно открыть новую электронную таб-
лицу и работать в ней, повторяя приведенные примеры. Если у вас еще нет
программы для работы с электронными таблицами, вы можете воспользо-
ваться бесплатной программой Google Sheets, доступной через любой со-
временный веб-браузер.

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

Ячейки
Наименьшая единица хранения данных (контейнер данных) в электрон-
ной таблице называется ячейкой. Когда вы впервые открываете электрон-
ную таблицу и смотрите на сетку, вы видите серию ячеек. Ячейка —  это
основа, на  которой построены все электронные таблицы. Ячейки могут
хранить данные, извлекать данные, вычислять данные или выполнять бо-
лее сложные функции. Они также могут взаимодействовать друг с другом
для выполнения еще более сложных задач. Каждая отдельная ячейка мо-
жет содержать множество различных типов информации. В  следующих
разделах рассматриваются наиболее распространенные характеристики
и свойства ячеек.

Адрес ячейки
В  электронных таблицах для организации ячеек и  для обращения к  от-
дельным из них применяются адреса ячеек. Каждая ячейка, даже пустая,
имеет адрес, который нельзя удалить или изменить. Адрес ячейки основан
92 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ

на пересечении столбца и строки, в которых находится ячейка; он состо-


ит из буквы (для столбца) и числа (для строки). И числа, и буквы начина-
ются в левом верхнем углу листа и увеличиваются на единицу для каж-
дого последующего ряда или переходят к следующей букве для столбцов.
Например, адрес ячейки, расположенной в левом верхнем углу, —  A1. Ад-
рес ячейки, расположенной непосредственно справа от нее, — B1, а адрес
ячейки, расположенной непосредственно ниже ячейки A1, — A2. На иллю-
страции 5.3 выделена ячейка B2.

Иллюстрация 5.3. Ячейка B2

Зная адрес ячейки, вы можете получить доступ к ее содержимому. Это


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

Значение ячейки
Если выделить любую ячейку в электронной таблице, то в ней появится
мигающий курсор. Когда в  ячейке мигает курсор, можно вводить в  нее
практически все, что угодно. В ней можно хранить текст, числа и многие
другие формы данных. Например, если ввести в ячейку слово HELLO, а за-
тем нажать Enter, ее значение станет HELLO. Можно, например, хранить
список элементов, вводя в каждую из нескольких ячеек разные элементы
для создания списка.
Значением могут быть данные любого типа; конкретно же это то, что
отображается в ячейке после нажатия клавиши Enter. Важно иметь в виду,
что то, что вводится в ячейку, и то, что отображается в ней, может быть
разным. То, что отображается в ячейке, всегда называется значением.
ЯЧЕЙКИ ЭЛЕКТРОННЫХ ТАБЛИЦ: СТРОИТЕЛЬНЫЕ КИРПИЧИКИ ДАННЫХ 93

Формула ячейки
Если значение ячейки можно рассматривать как существительное, то фор-
мула ячейки больше похожа на глагол. Формула ячейки — это формула рас-
чета, которую вводят в электронную таблицу, когда хотят, чтобы электрон-
ная таблица вычислила ответ (который она отобразит в виде значения).

Строка формул
Непосредственно над сеткой столбцов и строк электронной таблицы нахо-
дится строка формул. Ее можно узнать по характерному символу ƒx, назы-
ваемым символом функции (иллюстрация 5.4). Строка формул показыва-
ет, что происходит внутри ячейки, независимо от того, что отображается
в ячейке. Вводить информацию можно как непосредственно в ячейку, так
и в строку формул.

Иллюстрация 5.4. Строка формул

Символы в электронных таблицах


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

Знак равенства
Электронные таблицы могут выполнять в  ячейках как простые, так
и сложные вычисления. Чтобы сообщить электронной таблице, что вы со-
бираетесь ввести формулу, а  не  просто ввести значение данных, нужен
специальный код. В данном случае кодовым символом является = (знак
равенства). В электронной таблице знак равенства означает не то, что он
означает в  обычной математике, где используется для записи формулы.
В  электронной таблице это специальный символ, означающий «сделать
что-то». Используя знак равенства в электронной таблице, вы как будто
говорите: «Я хочу, чтобы значение этой ячейки было равно результату фор-
мулы, которую я сейчас введу».
94 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ

В отличие от математики, где знак равенства находится между частями


операции (например, 1 + 1 = 2), знак равенства в ячейке электронной таб-
лицы, содержащей формулу, функцию или ссылку, ставится первым. Знак
равенства — это самый важный из используемых в электронных таблицах
символов, поскольку он приводит в действие все остальные символы. Без
знака равенства в  начале ячейки электронная таблица не  может выпол-
нять вычисления.
Например, если ввести в ячейку «=1+1», в ней отобразится значение «2».
Если же ввести просто «1+1», то в ячейке отобразится значение «1+1». Об-
ратите внимание, что на иллюстрации 5.5 ячейка A1 выделена, и содержи-
мое этой ячейки отображается в строке формул. Также обратите внимание,
что отображение «=1+1» в строке формул не совпадает с тем, что отобра-
жается в ячейке A1 электронной таблицы: «2». Технически оба варианта
верны; помните, что в строке формул всегда отображается то, что вы вве-
ли, тогда как в ячейке (по умолчанию) отображается значение —  резуль-
тат ввода.

Иллюстрация 5.5. Строка формул с формулой


и ячейка A1 с результатом формулы

Формулы могут быть очень сложными и мощными. Например, можно


использовать знак равенства в сочетании с адресом ячейки, чтобы дать
электронной таблице доступ к содержимому указанной ячейки. На иллю-
страции 5.6, например, ячейка B1 ссылается на ячейку A1.

Иллюстрация 5.6. Ячейка B1 ссылается на ячейку A1

Вычисленное значение для ячейки B1 в этом случае будет таким же, как


и вычисленное значение для A1 (иллюстрация 5.7).
ЯЧЕЙКИ ЭЛЕКТРОННЫХ ТАБЛИЦ: СТРОИТЕЛЬНЫЕ КИРПИЧИКИ ДАННЫХ 95

Иллюстрация 5.7. Значение ячейки B1 то же, что и значение ячейки A1

Ссылки в  электронных таблицах используются для выполнения про-


стых и сложных вычислений. Например, на иллюстрации 5.8 ячейка B1
прибавляет 5 к значению ячейки A1.

Иллюстрация 5.8. Ссылка в составе формулы

примечание
Иногда в одну ячейку можно включить несколько формул или функ-
ций, но знак равенства необходим только в качестве первого символа
в ней. Не нужно вводить знак равенства перед несколькими формулами
и функциями в одной ячейке. Начало ячейки со знаком = —  это как
щелчок выключателя, дающий электронной таблице понять, что она
должна выполнять активную задачу, а не хранить пассивные данные.

Скобки
Скобки в электронных таблицах действуют примерно так же, как в мате-
матической нотации, но здесь у них больше возможностей. В самом про-
стом смысле скобки указывают на порядок действий. Любые вычисления
внутри отдельных открытых и закрытых скобок выполняются до того, как
будут выполнены вне скобок. На  иллюстрации 5.9 показаны формулы
в ячейках A1 и B1, которые одинаковы, за исключением того, что форму-
ла в B1 включает в себя круглые скобки. Эти круглые скобки заставляют
96 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ

ячейку возвращать совершенно разные значения: ячейка A1 возвращает


«10,75», а B1 — «2,75».

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

Иллюстрация 5.9. Формула со скобками и формула без скобок

Скобки можно использовать вместе со ссылками на ячейки, как показа-


но на иллюстрации 5.10. Значение ячейки A1 — число 10, это статическое
значение, на которое указана ссылка в формуле ячейки B1.

Иллюстрация 5.10. Совместное использование


скобок с ссылками на ячейки

Помимо обозначения порядка операций, круглые скобки служат кон-


тейнерами для функций, о чем будет рассказано далее в этой главе.

Кавычки
Кавычки в электронной таблице, как и во многих языках программирова-
ния, обозначают текст. Все, что находится внутри кавычек, электронная
таблица воспринимает как нефункциональное и нечисловое. Например,
на иллюстрации 5.11 ячейка начинается со знака равенства, как и поло-
жено, но вычисление заключено в кавычки, поэтому электронная табли-
ца возвращает значение в виде текста (то есть «1+1») вместо вычисленного
значения (то есть «2»).
ЯЧЕЙКИ ЭЛЕКТРОННЫХ ТАБЛИЦ: СТРОИТЕЛЬНЫЕ КИРПИЧИКИ ДАННЫХ 97

Иллюстрация 5.11. Кавычки преображают числа в текст

Другие математические символы


В электронных таблицах применяются стандартные математические сим-
волы:

 +: сложение;
 *: умножение;
 /: деление;
 -: вычитание;
^: возведение в степень.


Любой из  этих символов можно использовать в  составе формулы


и со ссылками. Например, на иллюстрации 5.12 в ячейке B1 складывают-
ся значения ячеек A1 и A2, а затем результат умножается на 5.

Иллюстрация 5.12. Формула с несколькими ссылками в ячейке B1

Амперсанд
Амперсанд (символ &) представляет собой операцию под названием «кон-
катенация», то есть, по сути, «склеивание» текста. С помощью конкатена-
ции и кавычек электронная таблица может объединить несколько различ-
ных фрагментов текста и чисел и создать из них целую фразу. Например,
98 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ

на иллюстрации 5.13 ячейка B2 ссылается на информацию, хранящуюся


в столбце A, и объединяет ее, формируя более крупный фрагмент текста.

Иллюстрация 5.13. Конкатенация в ячейке B1

Из-за ссылки на ячейку формула в ячейке B2 считается динамической,


и это означает, что одна и та же формула будет давать разные результаты при
изменении данных, на которые она ссылается. На иллюстрации 5.14, напри-
мер, слово «пицца» было заменено на слово «суши», а цена увеличилась.

Иллюстрация 5.14. Динамически обновляемая ячейка

Благодаря сложным формулам, которые динамически обновляются


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

Контейнеры данных в электронных


таблицах
Электронные таблицы состоят из наборов ячеек в столбцах и строках. В бо-
лее крупном масштабе столбцы и строки образуют сетку, которая и явля-
ется собственно «электронной таблицей». В  современных программах
КОНТЕЙНЕРЫ ДАННЫХ В ЭЛЕКТРОННЫХ ТАБЛИЦАХ 99

пользователи могут создавать несколько электронных таблиц, связанных


друг с другом и открытых в памяти одновременно. Такой набор таблиц на-
зывается «рабочей книгой» и содержит все листы в виде вкладок, отобра-
жаемых под текущим листом.

Столбцы и строки
Строки и столбцы — это следующий уровень группировки в электронной
таблице после ячеек. Строка содержит ряд ячеек, расположенных горизон-
тально по всему листу, а столбец —  ряд ячеек, расположенных по листу
вертикально. И столбцы, и строки используются для организации данных.
Можно получить доступ к отдельным ячейкам в столбце или строке и от-
редактировать их, а можно выбрать весь столбец или строку и выполнить
групповое редактирование. В примере, показанном на иллюстрации 5.15,
пользователь щелкнул на  заголовке строки с  меткой 2 и  тем самым вы-
брал сразу всю строку 2. Строки всегда обозначаются числами, начиная
с  1, и  располагаются горизонтально. Столбцы всегда помечаются буква-
ми, начиная с буквы A, и располагаются вертикально. Чтобы запомнить
это, можно представить себе вертикальные «столбы» и  строчки текста,
как в книге. (По-английски они называются columns, то есть «колонны»,
и rows, то есть ряды).

Иллюстрация 5.15. Заголовок строки 2 выделен

Листы
Следующая по величине группировка после столбцов и строк —  это лист
(называемый также «рабочим листом»). Он содержит ряд строк и  столб-
цов в виде сетки. Когда говорят о работе в электронной таблице, обычно
имеется в виду именно лист. Однако бывает полезно использовать сразу
несколько листов. При создании все листы одинаковы; каждый всегда со-
держит один и тот же ряд пронумерованных столбцов и пронумерованных
строк. Как говорилось в предыдущем разделе, можно выделить сразу весь
100 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ

столбец или сразу всю строку, щелкнув мышью по заголовку этого столбца
или этой строки. Чтобы выделить сразу все ячейки на всем листе, можно
воспользоваться кнопкой «Выделить все», которая находится в верхнем ле-
вом углу, между заголовком столбца А и заголовком строки 1 (иллюстра-
ция 5.16). Нажав кнопку «Выделить все», вы выделите все ячейки листа
и сможете выполнять операции со всеми ячейками одновременно.

Иллюстрация 5.16. Кнопка «Выделить все»

Рабочие книги
Когда вы открываете программу электронных таблиц и загружаете то, что
большинство людей называют «электронной таблицей», на самом деле вы
открываете «рабочую книгу». Под рабочей книгой также подразумевает-
ся отдельный файл электронной таблицы, находящийся на  вашем жест-
ком диске или в облаке (например, в Google Sheets, то есть в «Таблицах
Google»). Это напоминание о тех временах, когда люди вручную записы-
вали цифры на листах бумаги и скрепляли их в тетрадь или книгу. И это
хорошая аналогия для того, чтобы понять принцип работы в электронных
таблицах. Конечно, можно создать несколько разных файлов по отдельно-
му листу в каждом, но у объединения листов в рабочую книгу есть два пре-
имущества.

 Организация электронных таблиц. Сгруппированные в одну рабочую


книгу помогают упорядочить игровые данные. Например, если вы знае-
те, что в проекте будут персонажи, оружие, броня, добыча и монстры,
то можно сделать лист для каждого из этих типов данных, но держать
их все вместе в одной рабочей книге для игры в целом. Это поможет от-
личить персонажей одной игры от персонажей в другой.
 Связи между электронными таблицами. Когда в рабочей книге содер-
жится несколько листов, все они загружаются в память при каждом от-
крытии рабочей книги. Благодаря этому любой лист получает полный
КОНТЕЙНЕРЫ ДАННЫХ В ЭЛЕКТРОННЫХ ТАБЛИЦАХ 101

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


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

Чтобы создать новый лист в  рабочей книге, нужно обратить внима-


ние на нижнюю часть сетки ячеек, где расположена серая панель с одной
вкладкой (по умолчанию). Эта вкладка и есть лист, над которым вы рабо-
таете. В Google Sheets эта вкладка по умолчанию называется Sheet1, то есть
«Лист1» (иллюстрация 5.17).

Иллюстрация 5.17. Вкладка листа

Слева от  всех листов находится кнопка, на  которой изображено не-
сколько горизонтальных линий. Это список всех листов. В очень больших
рабочих книгах этот символ удобен, потому что иногда бывает так, что ли-
стов больше, чем программа может отобразить за один раз, а по нажатию
этой кнопки можно получить быстрый доступ ко всем листам без необхо-
димости их пролистывания.
Далее слева от  нижней вкладки находится кнопка +, при нажатии
на которую добавляется новый лист. Когда вы нажмете на нее, откроется
новый рабочий лист, и на его вкладке отобразится его имя по умолчанию;
на иллюстрации 5.18 показано, что был добавлен новый лист под названи-
ем Sheet2 («Лист2»). Теперь можно выбирать нужный из листов щелчком
мыши по соответствующей вкладке.

примечание
Учтите, что, когда открыта рабочая книга, все данные на  каждом
листе рабочей книги тоже открыты и находятся в памяти.
102 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ

Иллюстрация 5.18. Новая вкладка листа

При создании нового листа рекомендуется переименовать его в соот-


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

Иллюстрация 5.19. Переименованные листы («Персонажи» и «Монстры»)

Вкладки листа можно перемещать влево или вправо, удалять, дубли-


ровать, а в некоторых программах и перемещать в другую рабочую книгу.
Можно также скрыть вкладку или защитить ее, о чем более подробно бу-
дет рассказано далее в этой главе.

Операции с рабочими листами


Этот раздел посвящен задачам, которые можно выполнять с листами, та-
ким как указание ссылок и скрытие данных, закрепление части листа, ис-
пользование комментариев и заметок, заполнение форм и использование
фильтров.
ОПЕРАЦИИ С РАБОЧИМИ ЛИСТАМИ 103

Ссылка на отдельный лист


Когда рабочая книга содержит несколько листов, необходимо иметь воз-
можность ссылаться на данные из одного листа в другом листе. На иллю-
страции 5.20 показана таблица с листом для персонажей и листом для мон-
стров. На листе «Монстры» видно, что сила (Strength) огра (Ogre) равна 10.

Иллюстрация 5.20. Организация названий листов

Допустим, на листе «Персонажи» вы хотите сравнить силу персонажа


«Солдат» с  силой монстра «Огр», которую собираетесь указать в  ячейке
C2. На листе «Монстры» мы видим, что данные для силы огра находятся
в ячейке B2 этого листа (иллюстрация 5.21).

Иллюстрация 5.21. Ячейка для сравнения


104 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ

Но нельзя просто составить формулу, указывающую на ячейку B2, по-


тому что в ячейке B2 на листе «Персонажи» указана сила солдата, а не огра.
В данном случае для доступа к другому листу нужно использовать специ-
альный символ  —  оператор «!» Чтобы получить доступ к  данным на  от-
дельном листе, электронная таблица должна понимать, откуда вы хотите
получить данные. И для этого нужно использовать имя листа. Но так как
листу можно дать любое имя, электронная таблица не знает, что именно
вы каждый раз вводите в ячейку — имя листа, функцию, переменную или
просто текст. Символ «!» как раз указывает на то, что вы даете имя листа
в понятном для электронной таблицы формате. Символ «!» в конце имени
говорит о том, что это ссылка на лист. Например, чтобы сослаться на лист
Monsters («Монстры»), в начале формулы нужно напечатать следующее:

= Monsters!

После символа «!» можно напечатать остальную часть выражения, как


если бы вы работали на указанном листе. Если бы в данном примере у вас
был открыт лист «Монстры» и вы хотели бы сделать ссылку на силу огра,
то можно было бы просто напечатать «=B2». Но вы хотите получить доступ
к той же ячейке из другого листа, поэтому в начале выражения нужно вста-
вить имя нужного листа, добавить к нему символ «!», и только после этого
добавлять ссылку. В этом примере окончательное выражение будет выгля-
деть так, как показано на иллюстрации 5.22.

Иллюстрация 5.22. Ссылка на конкретный лист


ОПЕРАЦИИ С РАБОЧИМИ ЛИСТАМИ 105

Теперь, когда сделана ссылка на  ячейку Monsters!B2, содержащиеся


в ней данные можно использовать так, как если бы они находились на те-
кущем рабочем листе.

Скрытие данных
Часто возникает ситуация, при которой на листе или в рабочей книге нуж-
но хранить какую-то информацию, которая не должна отображаться для
пользователей. Например, согласно распространенной практике, некото-
рые промежуточные формулы сложных операций указываются в отдель-
ных ячейках. Эти промежуточные шаги важны, но  они необязательно
должны все время быть на виду. В таких случаях можно воспользоваться
встроенной функцией скрытия данных. Скрывать можно строки, столб-
цы или целые листы. Чтобы скрыть строку или столбец, выделите щелч-
ком левой клавиши мыши заголовок нужного столбца или нужной строки,
а затем щелкните правой кнопкой и выберите пункт «Скрыть». Когда стол-
бец или строка скрыты, они больше не отображаются на листе, но к ним
по-прежнему можно получить доступ с  помощью формул или функций.
В примере на иллюстрации 5.23 сила монстров была скрыта, но выделен-
ная ячейка ссылается на скрытую и показывает результат.

Иллюстрация 5.23. Ячейка с ссылкой

Обратите внимание, что, когда столбец скрыт, буква его заголовка


не видна. Все скрытые столбцы сворачиваются и заменяются одним набо-
ром стрелок. Чтобы сделать скрытую информацию снова видимой, можно
106 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ

щелкнуть по  свернутым стрелкам, и  все скрытые столбцы откроются.


Аналогичным образом можно скрыть целые листы. Для этого щелкните
правой кнопкой мыши вкладку листа и  выберите пункт «Скрыть лист».
Опять же, вся информация в них остается загруженной в память, но она
будет не видна. Лист можно скрыть, например, если он содержит множе-
ство данных, загромождающих рабочую книгу и  не  предоставляющих
пользователю важной и полезной информации.

Закрепление части листа


Листы часто содержат больше данных, чем может поместиться на одной ото-
бражаемой на экране странице. Хотя электронная таблица может без про-
блем обрабатывать дополнительную информацию, человеку трудно читать
такую таблицу, потому что для просмотра данных приходится прокручи-
вать страницу. На иллюстрации 5.24, например, представлен большой на-
бор данных, но видна только та часть, что расположена в конце листа.

Иллюстрация 5.24. Видимая часть таблицы с данными

К чему относятся показанные здесь значения? Ответить на этот вопрос


невозможно, потому что заголовки столбцов находятся в верхней части
листа, над той частью, которая отображена на экране. На очень простых
листах таких проблем не возникает, но по мере усложнения данных все
насущнее становится необходимость постоянно видеть заголовки данных
вместе с самими данными. Для этого можно закрепить некоторые столбцы
ОПЕРАЦИИ С РАБОЧИМИ ЛИСТАМИ 107

или строки. Это означает, что столбец или строка остаются видимыми не-
зависимо от того, какие другие части листа видны. Например, чтобы за-
крепить строку, нужно выделить ее, выбрать на  панели инструментов
вкладку «Вид», выбрать пункт меню «Закрепить», а затем выбрать «1 стро-
ку». В меню «Закрепить» есть несколько опций: можно закрепить верхнюю
строку, первый столбец и многое другое. В нашем примере видно, что за-
крепленная верхняя строка с заголовками столбцов делает данные более
читаемыми (иллюстрация 5.25).

Иллюстрация 5.25. Закрепленная строка

Теперь заголовки каждого столбца видны всегда, даже если прокручи-


вать лист вниз.

Комментарии и примечания
Ячейки, содержащие данные, формулы или функции, сами по себе малоин-
формативны. Именно поэтому часто требуется дополнительно добавлять
заголовки для строк или столбцов, объясняющие, какие данные к чему от-
носятся. В некоторых случаях даже возникает потребность указать боль-
ше информации, чем можно разместить в заголовках столбцов или строк.
Иногда информацию можно добавить в соседнюю ячейку, но часто это бы-
вает невозможно, или же в ячейке появляется больше информации, чем
108 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ

она может отобразить. Кроме того, если вы не совсем уверены в том, как
работают ссылки, текст, добавленный в ячейки общей электронной табли-
цы, может нарушить функции и формулы. Для решения всех этих проблем
современные электронные таблицы предлагают две полезные опции: ком-
ментарии и заметки. Они работают схожим образом, но имеют несколь-
ко отличий, позволяющих выбирать лучший вариант в зависимости от об-
стоятельств.

примечание
И в комментариях, и в заметках введенная информация недоступна
другим ячейкам в формулах или функциях. Она добавляется «поверх»
электронной таблицы, а не как активное содержимое внутри листа.

Комментарии
Комментарий —  это временный «призыв к действию» в электронной таб-
лице. Чтобы добавить комментарий, выберите ячейку, которую вы хотите
прокомментировать, щелкните правой кнопкой мыши и выберите пункт
«Комментарий» (находящийся в нижней части контекстного меню). Рядом
с  указанной ячейкой появится диалоговое окно с  именем пользователя,
добавляющего комментарий, маленькой иконкой пользователя, взятой
из его профиля, текстовым полем для добавления комментария, а также
кнопками «Добавить» (Comment) и «Отмена» (Cancel) (иллюстрация 5.26).

Иллюстрация 5.26. Диалоговое окно комментария


ОПЕРАЦИИ С РАБОЧИМИ ЛИСТАМИ 109

Как правило, чтобы добавить комментарий, нужно вой ти в  аккаунт.


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

«Эта формула ссылается на неправильные данные».


«Возможно, нам придется обновить это значение, когда мы получим от-
вет от команды программистов».
«Что должна делать эта формула?»
«Можно ли удалить этот лист?»

Иллюстрация 5.27. Значки комментария

После того как комментарий будет введен, нужно нажать кнопку «Доба-
вить» (Comment в английской версии), чтобы зафиксировать его на листе.
После этого на листе появятся несколько индикаторов. Например, обратите
внимание, что ячейка A2 с комментарием на иллюстрации 5.27 теперь име-
ет маленький оранжевый треугольник в правом верхнем углу. Это указа-
ние на то, что к этой ячейке добавлен комментарий, который пользователь
110 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ

может увидеть, наведя указатель мыши на ячейку. Также обратите внима-


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

Иллюстрация 5.28. Комментарий

Пользователь может прочитать комментарий и  закрыть его, нажав


на галочку в правом верхнем углу. Google Sheets отправляет электронное
письмо создателю комментария, чтобы сообщить, что комментарий был
прочитан.
Кроме того, пользователи могут ответить и начать обсуждение. В Google
Sheets при этом отправляет электронное письмо предыдущему участнику
обсуждения.

Примечания
Если комментарии —  это временный призыв к действию, то примечания
предназначены для предоставления дополнительной информации на дол-
гий срок. В отличие от комментариев, примечания не указывают, кто их
добавил, не  отсылают пользователям электронные письма и  не  позво-
ляют вести диалог. Они также не отмечаются уведомлениями на вклад-
ках листа. Примечания работают подобно текстовым файлам блокнота
(Notepad), которые вставляются в ячейки. Примечание отображается чер-
ным треугольничком в правом верхнем углу ячейки (иллюстрация 5.29).
Обычно с  помощью примечаний поясняют содержимое ячейки, чтобы
не загромож дать при этом лист.
На иллюстрации 5.29 в отдельной ячейке стоит цифра 7, и нет никаких
намеков, что она значит. Это может сбить с толку любого, кто откроет этот
ОПЕРАЦИИ С РАБОЧИМИ ЛИСТАМИ 111

рабочий лист, включая через некоторое время даже того, кто его создавал.
И это отличный пример, зачем нужны примечания: в нем можно объяс-
нить, откуда взялась эта семерка и что она означает.

Иллюстрация 5.29. Примечание

В примере на иллюстрации 5.29 примечание объясняет, для чего нуж-


на цифра 7 в ячейке, а также рассказывает немного истории о том, почему
это число там находится. Примечания отлично подходят для обоих этих
случаев. Кроме того, с помощью примечаний удобно добавлять такие виды
информации:

 максимальные и минимальные ожидаемые значения для ячейки;


 игровые правила, объясняющие формулу в ячейке;
 владелец данных в ячейке;
 источник данных или формулы;
 примечания по использованию определенных функций или формул;
 даты истечения срока действия для данных, которые, возможно, уже
не представляют ценности;
 любые другие небольшие фрагменты полезной информации.

Используйте примечания и комментарии как можно чаще. Коммента-


рии к ячейкам позволят вам и другим пользователям лучше понять, для
чего нужны данные. В противном случае цель и смысл данных могут пока-
заться непонятными.
112 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ

Автозаполнение ячеек формулой


Одно из основных преимуществ использования электронной таблицы — 
возможность распределения данных по многим ячейкам. Помимо данных
распределять по разным ячейкам можно и формулы. Допустим, несколь-
ко игроков сыграли в игру по три раза. Каждый раз, заканчивая игру, они
вводили свои результаты в таблицу, показанную на иллюстрации 5.30.

Иллюстрация 5.30. Таблица с результатами игроков

Иллюстрация 5.31. Выбранная ячейка для автозаполнения


ОПЕРАЦИИ С РАБОЧИМИ ЛИСТАМИ 113

Допустим, вы хотите получить общее количество очков каждого игро-


ка. Для этого потребуется простая формула (хотя это можно сделать и с по-
мощью функции, о чем будет рассказано далее в этой главе). В ячейке E2
вы пишете формулу =B2+C2+D2, чтобы получить общее количество очков
Адама, которое равно 144. Далее нужно то же самое проделать для каждо-
го дополнительного игрока. Переписывать одну и ту же формулу еще семь
раз было бы медленно и чревато ошибками. Вместо этого можно восполь-
зоваться функцией автозаполнения электронной таблицы, которая сделает
всю работу за вас. Для этого сперва нужно записать формулу в одной ячей-
ке, лучше в верхней, хотя начинать с нее необязательно. Далее нужно выде-
лить ячейку, формулу которой вы хотите скопировать (иллюстрация 5.31).

Иллюстрация 5.32. Виджет автозаполнения

При увеличении масштаба можно увидеть, что граница вокруг ячей-


ки изменилась: она стала толще, а цвет изменился на синий (иллюстра-
ция  5.32). Кроме того, в  правом нижнем углу выделения появился ма-
ленький синий квадратик. Это виджет автозаполнения. При наведении
курсора мыши на виджет курсор превращается из стрелки по умолчанию
в перекрестие, и это значит, что теперь можно воспользоваться виджетом.
Для этого щелкните левой кнопкой мыши на виджете и проведите мышью
вниз по странице в столбце, пока не дойдете до последней ячейки из тех,
в которые нужно скопировать формулу, а затем отпустите. Так вы дади-
те электронной таблице команду скопировать и вставить формулу из пер-
вой ячейки во все остальные выделенные ячейки, причем эта формула бу-
дет автоматически обновляться для каждой строки. Помимо этого можно
дваж ды щелкнуть виджет автозаполнения, чтобы дать команду электрон-
ной таблице копировать текущую ячейку вниз до тех пор, пока она не най-
дет пустую ячейку в  столбце слева. Поначалу эта функция может пока-
заться не  совсем очевидной, но,  испробовав ее пару раз на  конкретных
примерах, вы быстро поймете, как она работает.
114 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ

На иллюстрации 5.33 показан результат использования автозаполне-


ния. Обратите внимание, что электронная таблица поняла, что при пере-
ходе к  новой строке нужно обновить ссылки формулы на  соответствую-
щие ячейки в этой строке. Такие ссылки называются относительными;
они позволяют записать формулу один раз, а затем скопировать ее вверх
или вниз для выполнения такого же вычисления с другими данными. Это
довольно мощный инструмент электронных таблиц, но у него есть свои
ограничения и недостатки.

Иллюстрация 5.33. Результат автозаполнения

Самый большой недостаток относительных ссылок — это то, что не все-


гда бывает нужно обновлять каждую ссылку на ячейку. Чтобы лучше пока-
зать это, рассмотрим другой пример (иллюстрация 5.34).

Иллюстрация 5.34. Статическое число, на которое нужно сделать ссылку


ОПЕРАЦИИ С РАБОЧИМИ ЛИСТАМИ 115

Предположим, что теперь вы хотите сравнить реальный результат каж-


дого игрока с предполагаемым результатом в трех попытках. Допустим, он
равен 130, но, возможно, вам захочется поменять его в будущем.

примечание
Переменные типа «ожидаемый результат» не рекомендуется поме-
щать на тот же лист, что и данные, но в данном примере это сделано
для удобства отображения.

В столбце F будем указывать значение «реальный результат минус ожи-


даемый», то есть вычитать ожидаемый результат из общего количества,
указанного для каждого игрока в столбце E. Первую формулу в ячейке F2
нужно записать так, чтобы при автозаполнении она оказывалась правиль-
ной. Если просто вставить в нее ссылки, как в формуле в ячейке E2, то она
будет выглядеть так, как показано на иллюстрации 5.35.

Иллюстрация 5.35. Выбранная ячейка

Но что произойдет при автозаполнении? Каждая ссылка в формуле об-


новится и будет указывать уже на новую строку (иллюстрация 5.36).
116 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ

Иллюстрация 5.36. Ячейка с обновленными ссылками

Обратите внимание, что на  иллюстрации 5.36, начиная с  ячейки F3,


ожидаемый результат 130 больше не  вычитается. В  строке формул вид-
но, что обновленная формула правильно ссылается на результат Боба 146
в ячейке E2, но вместо ячейки B12 со значением ожидаемого результата
она теперь ссылается на B11. Интуитивно понятно, что адреса ячеек с ре-
зультатами каждого игрока должны обновляться, но адрес ячеек с ожидае-
мым результатом обновляться не должен. Автоматически этого не произо-
шло, поэтому электронной таблице нужно специально указать, что одни
ссылки на ячейки должны обновляться и изменяться по мере автозапол-
нения, а другие нет. Для этого есть два варианта.

 Использование относительной ссылки. В формуле для автозаполне-


ния можно указать относительную ссылку на любую ячейку, адрес ко-
торой должен меняться при автозаполнении. Это состояние по умолча-
нию для любой ссылки, и для этого не нужно менять ссылки в исходной
ячейке.
 Использование абсолютной ссылки. В формуле для автозаполнения
можно указать абсолютную ссылку, чтобы адрес ее сохранялся незави-
симо от автозаполнения. Для этого понадобится вставить в адрес спе-
циальный символ доллара ($), означающий, что ссылка является аб-
солютной и не подлежит изменению. Важно иметь в виду, что ссылки
на столбцы и строки независимы друг от друга. Поэтому, если вам нуж-
но указать абсолютную ссылку на какую-то ячейку, то нужно поставить
ОПЕРАЦИИ С РАБОЧИМИ ЛИСТАМИ 117

знак $ как перед адресом строки, так и перед адресом столбца. В дан-
ном примере адрес B11 в формуле обновляться не должен, поэтому ука-
жем в формуле ссылку на эту ячейку как $B$11. На иллюстрации 5.37
показана формула с правильным использованием относительных и аб-
солютных ссылок.

Иллюстрация 5.37. Обновленная формула с абсолютными


и относительными ссылками

Иллюстрация 5.38. Во всех ячейках показаны соответствующие формулы

Формула, показанная в строке формул, теперь готова к копированию.


Поскольку итог для каждого игрока всегда находится в столбце E, ссыл-
ка на ячейку была изменена на абсолютную для столбца E. Но поскольку
118 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ

ссылка на строку должна соответствовать каждой очередной строке, она


осталась относительной. Также ссылка на ячейку B11 не должна менять-
ся никогда, так что адреса столбца и строки для нее указаны абсолютные.
При автозаполнении получаем нужный результат. Для большей ясности
на иллюстрации 5.38 показан тот же лист с видимыми формулами.
Относительные и абсолютные ссылки — одни из менее интуитивно по-
нятных особенностей электронных таблиц. Чтобы понять, когда исполь-
зовать тот или иной вид ссылок, требуется некоторое время и практика.

Фильтры
Помимо имеющихся столбцов, строк, листов и рабочих книг, электронные
таблицы позволяют создавать свои подборки ячеек с помощью фильтров.
Чтобы воспользоваться фильтром, сначала нужно ввести какие-то данные,
как обсуждалось ранее в этой главе. Продолжим рассматривать пример
с результатами трех игр для нескольких игроков (иллюстрация 5.39).

Иллюстрация 5.39. Данные для фильтрации


ФИЛЬТРЫ 119

Чтобы воспользоваться фильтром, выберите все данные, включая заго-


ловок, а затем щелкните на кнопку «Создать фильтр» (со значком воронки)
с правого края панели инструментов (иллюстрация 5.40).

Иллюстрация 5.40. Кнопка «Создать фильтр»

При нажатии этой кнопки электронная таблица применит фильтры


ко всему выбранному диапазону данных, и это открывает целый набор но-
вых возможностей. Отображение данных также заметно изменится: в пер-
вой строке появляются новые треугольные кнопки (иллюстрация 5.41).

Иллюстрация 5.41. Таблица с примененными фильтрами

При нажатии на треугольную кнопку фильтра в ячейке A1 открывает-


ся новое диалоговое окно фильтра, которое выглядит так, как показано
на иллюстрации 5.42.
120 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ

Иллюстрация 5.42. Диалоговое окно фильтра

Большинство опций в  этом диалоговом окне достаточно понятны.


Можно отсортировать весь набор данных по алфавиту или по цвету для
выбранного столбца, или  же применить фильтр на  основе нескольких
различных условий. Параметры фильтрации в этом диалоговом окне сле-
дующие.

 Фильтр по цвету: показывает только ячейки с указанным цветом фона.


 Фильтр по условию: позволяет фильтровать числа ниже или выше
нужного вам числа или в каком-то диапазоне.
 Фильтр по значениям: показывает список всех значений, перечис-
ленных в данном столбце. В данном примере это имена игроков. Такой
список формируется электронной таблицей динамически для каждого
столбца и отображает все текущие значения. Здесь можно отметить га-
лочкой или снять галочку с каждого значения по отдельности, а также
выбрать все или очистить все значения.

Выбирая нужные фильтры, можно хранить много данных на одном ли-


сте, но отображать только те строки, которые вы хотите видеть в конкрет-
ный момент. Предположим, что вам нужно просмотреть данные только
Адама и Боба, как показано на иллюстрации 5.43.
ПРОВЕРКА ДАННЫХ 121

Иллюстрация 5.43. Отфильтрованные данные

Когда применяются фильтры, видны только те строки, которые вы хо-


тите увидеть, но все остальные данные остаются в электронной таблице.
Понять, что помимо отображенных данных имеются еще какие-то, мож-
но, посмотрев на заголовки строк. Обратите внимание, как на иллюстра-
ции 5.43 после строки 3 идет сразу строка 10. Строки с 4 по 9 в настоящее
время скрыты фильтром.
Еще одна важная особенность: в  столбцах, к  которым применен
фильтр, в ячейке заголовка (в данном случае в ячейке A1) треугольник
заменяется значком воронки. Если вы когда-нибудь откроете электрон-
ную таблицу и  обнаружите, что большая часть ожидаемых данных от-
сутствует, вам нужно будет проверить, не применяются ли какие-либо
фильтры. Найдите в строке заголовка значки воронки, которые указыва-
ют на то, что столбцы фильтруются. Чтобы отменить фильтрацию, щелк-
ните правой кнопкой мыши по значку воронки и отмените все фильтры,
выбрав их или пункт «Выбрать все» в контекстном меню. Также можно
удалить все фильтры, выделив все ячейки и нажав кнопку фильтра на па-
нели инструментов.

Проверка данных
По умолчанию пользователи могут вводить в любую ячейку электронной
таблицы любые данные. Это удобно при создании новых рабочих книг
с огромным количеством вариантов, но как только рабочая книга уже со-
здана и вы имеете представление о том, какие данные вам понадобятся
в конкретной ячейке, возможность вводить что угодно может стать поме-
хой. Если в листе есть формулы или функции, которые должны выполнять
математические уравнения со значениями в ячейках, на которые ссылают-
ся, то крайне важно, чтобы ячейки содержали правильную информацию.
Например, вы хотите узнать общее количество братьев и сестер у какой-то
122 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ

группы людей и просите каждого ввести эту информацию в ячейку элек-


тронной таблицы. Ниже приведены примеры того, какие ответы вы може-
те получить.

2
Три
Брат
Единственный ребенок
Салли и Дейв
Мои родители собираются еще завести детей
2, но есть приемный брат

Если ввести их в ячейки, то получим результат, показанный на иллю-


страции 5.44.

Иллюстрация 5.44. Пример плохо введенных данных

Эта электронная таблица вычисляет итог 2, хотя понятно, что такой


ответ неверен. К сожалению, из приведенной информации не получится
вычислить настоящий результат. Строка 6 вообще не дает представления
о  каком-то числе. Список заполнен данными в  недопустимом формате,
или некорректными данными. Получение таких некорректных данных — 
почти универсальная проблема при сборе и  анализе данных. Чтобы ре-
шить эту проблему, необходимо ограничить возможности пользователей
и разрешить им вводить данные только в определенном формате. Для это-
го используется проверка данных. Проверка данных позволяет точно ука-
зать, что может ввести пользователь. Для начала выберите ячейку, фор-
мат данных в которой вы хотите ограничить. Пример со списком братьев
ПРОВЕРКА ДАННЫХ 123

и сестер можно переделать так, чтобы представить данные в более удоб-


ной для восприятия форме, как это показано на иллюстрации 5.45.

Иллюстрация 5.45. Организованный список для ввода

Теперь лист отформатирован таким образом, чтобы дать некоторые


подсказки о том, что вводить, с помощью цветового кодирования и над-
лежащей маркировки столбца ввода, включая инструкцию. Чтобы пойти
далее и разрешить ввод только числовых значений, нужно выбрать диапа-
зон ячеек, для которых будут действовать ограничения — в данном случае
это диапазон с B2 по B8. Чтобы выделить диапазон в электронной табли-
це, сначала щелкните на одном его конце (в данном случае это ячейка B2),
удерживая нажатой клавишу Shift, и выберите другой (в данном случае
ячейку B8). Когда вы это сделаете, весь диапазон будет выбран и окружен
той же рамкой, которая показывала выделение ячеек во всех остальных
операциях (иллюстрация 5.46).

Иллюстрация 5.46. Выбранный диапазон ячеек


124 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ

Диалоговое окно проверки данных


После того как выбран диапазон, данные в котором предполагается огра-
ничить, щелкните правой кнопкой мыши внутри этого диапазона. Найди-
те в меню пункт «Настроить проверку данных» / Data Validation (в нижней
части списка), и щелкните по нему. Откроется диалоговое окно «Проверка
данных», показанное на иллюстрации 5.47.

Иллюстрация 5.47. Диалоговое окно «Проверка данных»

В диалоговом окне «Проверка данных» имеется несколько опций для


ограничения выбора.

 Диапазон ячеек (Cell range). Это список ячеек, которые вы хотите огра-
ничить. Обратите внимание, что на иллюстрации 5.47 диапазон ячеек
указан как Siblings!B2:B8. Это ссылка на диапазон ячеек. В ней не пере-
числяется каждая ячейка по отдельности, а использовано двоеточие (:),
показывающее, что в список включен целый диапазон ячеек между пер-
вой указанной ячейкой B2 и последней B8. Такой метод определения
диапазона доступен для всех операций в электронных таблицах.
 Правила (Criteria). По умолчанию для параметра «Правила» установ-
лено значение «Значение из диапазона» (List from a range), как показа-
но на иллюстрации 5.47. В данном случае нам нужны числа, поэтому
нужно изменить этот параметр. Чтобы изменить способ ограниче-
ния ячейки, нажмите «Правила» и выберите метод, который вы хоти-
те использовать, например «Число» (Number). Как показано на иллю-
страции  5.48, при выборе метода «Число» появляется больше опций.
ПРОВЕРКА ДАННЫХ 125

В данном примере нам потребуется любое число между минимальным


и максимальным возможным числом братьев и сестер. Поскольку труд-
но сказать, каким в данном случае будет наибольшее возможное коли-
чество, то следует указать число, которое, по вашему мнению, заведомо
больше ожидаемого. Если вам нужны очень конкретные минимальное
и максимальное значения, то используйте эти числа.
 Для неверных данных (On invalid data). Эта опция позволяет либо
предупредить пользователя о  том, что он вводит сомнительные дан-
ные, но при этом разрешит ему их ввести (Show warning), либо запре-
щает вводить такие данные (Reject input). В нашем примере ввод некор-
ректных данных запрещен.
 Оформление (Appearance). Эта последняя опция позволяет написать
полезную заметку для пользователей.

Иллюстрация 5.48. Правила проверки данных

После настройки всех параметров диалоговое окно проверки данных


должно отображаться так, как показано на иллюстрации 5.49. Когда все
будет выглядеть так, как вы хотите, нажмите кнопку «Сохранить».

Иллюстрация 5.49. Диалог проверки данных с установленными правилами

Благодаря этим правилам пользователи не смогут вводить некоррект-


ные данные.
126 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ

Проверка времени
Проверка данных работает не только для чисел, но и для многих других
форм информации. В  частности, иногда проблемы возникают с  датами.
Формат времени остается проблематичным еще с тех пор, как использо-
вать даты пытались первые компьютеры. Привычные нам обозначения
времени не совпадают с тем, как его вычисляют компьютеры. Кроме того,
в разных регионах и организациях используется много разных форматов
дат и времени. Например, полночь 1 января 2000 года можно записать лю-
бым из следующих способов (а всего их больше):

2000/1/1 12am
00/01/01 midnight
1,1,2000 12
1-2000-1 0:00

Все эти форматы приводят к хаосу при попытке выполнить вычисления.


Чтобы предотвратить эту проблему, в электронных таблицах для вычисле-
ний используется единый формат даты и времени:

Месяц/День/Год Час: Минута: Секунда


Для полуночи 1 января 2000 года этот формат выглядит так:
1/1/2000 0:00:00

Любопытно, что если ввести эту дату в ячейку, а затем переформатиро-


вать ячейку для отображения в виде числа, то получится следующее зна-
чение: 36 526,000. Хотя это число может показаться странным, никакой
ошибки здесь нет. Это значение, которое компьютер использует для хране-
ния указанной даты. Поскольку компьютеры не могут производить вычис-
ления в реальном календарном времени, они преобразуют каждое обозна-
чение времени в одно число —  количество дней, прошедших с 30.12.1899
0:00:00. Часы и  минуты преобразуются в  неполные дни в  виде десятич-
ных значений. Так, полночь 1  января 2000  года наступила ровно через
36 526 дней после начала «компьютерного времени». Мы редко или вооб-
ще никогда не смотрим на даты в таком формате, но знать это полезно, что-
бы понимать, что происходит «за кулисами».
ПРОВЕРКА ДАННЫХ 127

Проверка списком
Проверка списком —  это отличный инструмент для ограничения пользо-
вательского ввода, а также для ускорения работы гейм-дизайнера данных.
При такой проверке в ячейке создается выпадающий список, который за-
полняется любыми элементами. Можно ввести список элементов вручную
или сослаться на диапазон данных.

Именованные диапазоны
Именованный диапазон — это набор ячеек, имеющий заданное пользовате-
лем имя ссылки. Именованные диапазоны не требуются для настройки ли-
ста, но это мощный инструмент, облегчающий доступ к сохраненным дан-
ным или значениям. Именованный диапазон может быть как просто одной
ячейкой, так и включать несколько ячеек или строк, или и то и другое. Име-
нованным диапазоном можно сделать выделение любого размера на листе.
Технически они необязательны, но помогают упростить ссылки на су-
ществующие данные. Это можно увидеть на  примере списка монстров
из предыдущей части этой главы. Если бы вы захотели использовать про-
верку данных с помощью выпадающего списка, заполненного всеми воз-
можными монстрами, то  можно было  бы выбрать пункт «Данные», «На-
строить именованные диапазоны», а  потом открыть диалоговое окно
проверки данных и выбрать диапазон, как показано на иллюстрации 5.50.

Иллюстрация 5.50. Проверка списком

Сделав выбор, показанный на  иллюстрации 5.50, получим выпадаю-


щий список в ячейке D8. Однако, просматривая диалоговое окно проверки
128 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ

данных, нужно помнить, к чему относится некоторая информация (напри-


мер, столбец A:A на иллюстрации 5.50). Иногда это будет очевидно, напри-
мер когда информация находится на той же странице и полностью видна.
Но если данные на другом листе или скрыты, может потребоваться неко-
торое время, чтобы выяснить, что означает A:A. Поскольку такой диапазон
есть на каждом рабочем листе, встроенной подсказки о том, что в нем хра-
нится, нет. Чтобы предотвратить подобную путаницу, можно дать диапа-
зону более узнаваемое и понятное для человека имя (например, в данном
случае MonsterNames, то есть «НазванияМонстров»). Взглянув на имя этого
диапазона, вы поймете, какие данные подразумевает ссылка.
Чтобы указать имя диапазона, выберите ячейки, которые хотите вклю-
чить в именованный диапазон. Затем перейдите в раздел «Данные», «На-
строить именованные диапазоны» —  так откроется диалоговое окно, по-
казанное на иллюстрации 5.51.

Иллюстрация 5.51. Диалоговое окно «Именованные диапазоны»

Иллюстрация 5.52. Переименованный диапазон

Поскольку вы выбрали данные, которые хотите включить, электронная


таблица заполнит выбранный диапазон автоматически. Обратите внима-
ние, что в этом интерфейсе можно изменить диапазон или даже выбрать
ПРОВЕРКА ДАННЫХ 129

совершенно другой диапазон с  помощью выделения мышью. Здесь  же


можно выбрать диапазоны и на других листах. Над выделением указыва-
ется текущее имя диапазона. По умолчанию Google Sheets использует име-
на типа «ИменованныйДиапазон» с номером. Неплохо будет заменить его
на что-то более осмысленное, поскольку сам смысл именованных диапазо-
нов заключается как раз в том, чтобы сделать выбор областей более интуи-
тивным. В данном примере лучше подходит название типа MonsterNames
(«НазванияМонстров», иллюстрация 5.52).

примечание
После того как имя диапазона и сам диапазон определены, можно
нажать кнопку «Готово» (Done) и создать его. После этого в любой
момент можно вернуться и  переименовать или переопределить
диапазон, обратившись к  интерфейсу диапазона с  тем  же именем
из пункта меню «Данные».

После того как диапазону присвоено имя, можно использовать имя диа-
пазона везде, где нужно будет получить доступ к данным в этом диапазоне.
Так, в примере с использованием проверки данных для создания списка
из названий монстров вместо ссылки Monsters!A:A можно просто указать
именованный диапазон MonsterNames (иллюстрация 5.53).

Иллюстрация 5.53. Проверка данных с помощью именованного диапазона


130 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ

Именованные диапазоны также можно использовать в формулах или


в качестве переменных в функциях. Именованные диапазоны особенно
эффективны, когда речь идет о  хранении сложных или длинных чисел.
Например, если у вас в игре есть грузовой фургон, вмещающий 1480 фун-
тов, запомнить это число или выполнять с ним математические действия
будет непросто. Кроме того, как быть, если в процессе тестирования вы
обнаружите, что грузоподъемность нужно изменить? Если бы вы запоми-
нали число 1480 и вводили бы его вручную везде, где оно требуется, вам
пришлось бы искать его в многочисленных формулах и функциях. Вместо
этого гораздо проще выделить ячейку на справочном рабочем листе, вве-
сти в нее значение 1480 и дать ей имя, как показано на иллюстрации 5.54.
С  этого момента вместо числа можно использовать имя CargoWeight
(«Вес груза»). Его легче запомнить, чем число, и значительно проще обнов-
лять. В формуле это будет выглядеть как на иллюстрации 5.55.

Иллюстрация 5.54. Ячейка именованного диапазона

Иллюстрация 5.55. Именованный диапазон в формуле

Помните о следующих особенностях именованных диапазонов.

 Именованные диапазоны можно использовать из любого места рабочей


книги (поэтому они являются глобальными), и к ним можно получить
ДАЛЬНЕЙШИЕ ШАГИ 131

доступ с любого листа, не указывая ссылку на сам лист. Например, мож-


но получить доступ к MonsterNames и CargoWeight только с помощью
этих имен в любом рабочем листе.
 Именованные диапазоны динамические. Если поменяется содержимое
ячеек диапазона, то изменится все, что ссылается на диапазон. К име-
нованным диапазонам применимо то  же исключение для проверки
с помощью выпадающего списка: элементы раскрывающегося списка
меняются, но изменение данных в списке не приводит к обновлению
данных в других местах.
 Именованный диапазон должен иметь уникальное название. Посколь-
ку доступ к нему глобален, в электронной таблице каждый именован-
ный диапазон должен называться по-своему.
 Название именованного диапазона не может содержать пробел. В элек-
тронных таблицах пробел обозначает новый термин, например новую
переменную или новое имя листа. Вместо пробела в названии имено-
ванного диапазона можно использовать знак подчеркивания или ис-
пользовать так называемый верблюжий стиль (например, Monster_
Names или MonsterNames).
 Именованные диапазоны не  чувствительны к  регистру, поэтому
CargoWeight, Cargoweight и  cargoweight воспринимаются как одно
и то же название.

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

 Лучший способ научиться пользоваться электронными таблицами — 


это пользоваться ими как можно чаще! Начните размышлять о том, как
они могут вам пригодиться. Один из самых популярных вариантов — 
составление бюджета, но есть и множество других. Например, можно
использовать электронную таблицу для инвентаризации различных
вещей дома или в офисе. Или для отслеживания физических упражне-
ний, изменения веса с течением времени или других данных, связан-
ных со здоровьем. Электронные таблицы отлично подходят для органи-
зации каталогов музыки, фильмов и игр.
132 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ

 Электронные таблицы можно и  нужно использовать для разработки


игр. Чтобы понять, насколько они полезны, найдите данные по игре,
которая вам нравится. У  большинства популярных игр есть фан-сай-
ты или даже официальные сайты, где в той или иной форме представ-
лены данные, которые можно скопировать и вставить в электронную
таблицу, а затем работать с ними. Практикуясь с данными, созданны-
ми другими людьми, вы сможете освоить методы работы с электронны-
ми таблицами в действии и, возможно, избежать некоторых подводных
камней, когда начнете создавать электронные таблицы с собственной
информацией.
ГЛ А В А 6

ФУНКЦИИ ЭЛЕКТРОННЫХ
ТАБЛИЦ

Электронные таблицы позволяют не только


вычислять простые формулы; в них также
используются функции, представляющие собой
заранее написанные фрагменты программного
кода, каждый из которых выполняет определенную
задачу. Конечные пользователи, включая гейм-
дизайнеров, используют функции для быстрого
выполнения сложных задач без необходимости
точно знать, что делает основной код. У каждой
функции есть собственное название и параметры.
Функция — это то, что должно произойти,
а параметры принимают биты данных, называемые
аргументами, и указывают функции, какие данные
использовать при ее выполнении.
134 ГЛАВА 6 ФУНКЦИИ ЭЛЕКТРОННЫХ ТАБЛИЦ

Группировка аргументов
В  отличие от  людей, компьютерные программы не  знают английский
на интуитивном уровне, поэтому писать функции и вводить данные нуж-
но в формате, который компьютер сможет понять без всяких двусмыслен-
ностей. Например, рассмотрим фразу на  английском языке Pesto butter
toast. Означает ли эта фраза «песто, масло и тост»? Или она означает «масло
песто» и тост? Или это означает «песто и тост с маслом»? Или она означает
тост, который был покрыт масляной смесью, настоянной на песто? Носи-
тели английского языка могут догадаться по контексту и по порядку слов,
но компьютеры так не умеют. Человек может многое понять по интонации
или по визуальным подсказкам, видя что-то перед собой. Для компьюте-
ра необходимо подробно описать, что имеется в виду. При вводе данных
в функцию каждый фрагмент данных называется аргументом, а для разде-
ления нескольких аргументов используются запятые. Группировка аргу-
ментов имеет очень важное значение для компьютера. Например, можно
написать pesto butter toast несколькими разными способами, чтобы пере-
дать именно то, что вы хотите задать электронной таблице. Вот несколько
способов разбивки этих слов для компьютера с соответствующими интер-
претациями:

 (pesto butter toast): один объект — тост с маслом из песто на нем;


 (pesto, butter toast): два объекта — один песто и тост с маслом;
 (pesto butter, toast): два объекта — одна смесь песто с маслом и один тост;
 (pesto, butter, toast): три объекта — каждый ингредиент по-отдельности.

Структура функций
Функции по своему поведению очень похожи на приборы и механизмы
в реальном мире. В некий прибор поступают какие-то объекты, прибор
выполняет заданную операцию над объектами, а затем прибор возвраща-
ет объекты в измененном виде. Чтобы лучше понять, как работают функ-
ции, воспользуемся аналогией с приборами в реальном мире.
Рассмотрим, например, блендер, который представляет собой при-
бор для смешивания продуктов. Вы как пользователь можете поместить
в  блендер самые разнообразные продукты, после чего блендер сделает
свою работу и вернет вам новый продукт. Представьте, что блендер — это
СТРУКТУРА ФУНКЦИЙ 135

функция электронной таблицы. Как и блендеру, функции для выполнения


своей работы нужны прибор, контейнер и ингредиенты. Для электронной
таблицы «прибор» — это имя функции, «контейнер» — набор круглых ско-
бок, а «ингредиенты» — данные в виде разделенных запятыми аргументов.
Как видно на  иллюстрации 6.1, блендер обозначает собой название
функции. За ним следует контейнер, наполненный ингредиентами. В дан-
ном случае в контейнер можно поместить несколько ингредиентов («лю-
бой объект»).

Иллюстрация 6.1. Блендер как функция

Иллюстрация 6.2. Блендер с ингредиентами

На  иллюстрации 6.2 показаны помидор, базилик и  чеснок, представ-


ляющие собой «данные». При включении блендер смешивает эти объекты
и выдает результат — в данном случае томатный соус. На иллюстрации 6.3
показана та же функция с другими ингредиентами.

Иллюстрация 6.3. Блендер с другими ингредиентами


136 ГЛАВА 6 ФУНКЦИИ ЭЛЕКТРОННЫХ ТАБЛИЦ

Опять  же, блендер выполняет свою работу и  смешивает лед, ананас


и алкогольный напиток, выдавая новый результат — в данном случае кок-
тейль. Результат работы этой же функции получился совсем другим, пото-
му что были введены другие данные.
Работу функции электронной таблицы можно рассмотреть примерно
так же, как мы только что рассмотрели блендер, в который кладут разные
объекты. Рассмотрим функцию SUM. Как и следует из названия, SUM — 
это функция, которая суммирует любые данные, помещенные в контейнер
функции. Вот несколько примеров:

=SUM(1,1) возвращает значение «2»;


=SUM(1, 1+1, 5, 2) возвращает значение «10».

Функции позволяют использовать в  своих аргументах формулы или


даже другие функции. Например, во втором примере функция SUM снача-
ла добавит в аргумент результат вычисления 1+1, а затем сложит осталь-
ные аргументы, чтобы получить 10. В примере на иллюстрации 6.4 SUM
складывает содержимое двух ячеек, и в ее аргументах указаны адреса этих
ячеек.

Иллюстрация 6.4. Сумма значений ячеек, для которых указаны адреса

В примере на иллюстрации 6.5 SUM складывает значения ячеек в диа-


пазоне от A1 до A6. Двоеточие (:) указывает электронной таблице, что в ар-
гумент должна быть включена каждая ячейка диапазона. Обратите вни-
мание, что в этом примере использовано другое количество аргументов.
Некоторые функции позволяют пользователю вводить разное количество
аргументов, и SUM — одна из них.
СТРУКТУРА ФУНКЦИЙ 137

Иллюстрация 6.5. Сумма диапазона

При первой работе с любой функцией полезно заглянуть в ее справоч-


ный файл, чтобы узнать, какие в ней аргументы бывают и какие должны
быть обязательно. В файле справки для функции SUM приведен синтаксис,
показанный на иллюстрации 6.6.

Иллюстрация 6.6. Синтаксис функции

Каждый из этих элементов означает что-то важное в контексте функ-


ции.

 Сделать: каждая функция должна начинаться со знака =, чтобы элек-


тронная таблица понимала, что ячейка активна.
 Имя: чтобы использовать функцию, необходимо сослаться на  нее
по имени. В данном примере имя функции — SUM.
138 ГЛАВА 6 ФУНКЦИИ ЭЛЕКТРОННЫХ ТАБЛИЦ

 Круглые скобки: это «контейнеры» данных, в которых хранятся все ар-


гументы данных.
 Аргумент 1: в этой функции есть только один обязательный аргумент.
 Запятая: отделяет один аргумент от другого.
 Квадратные скобки: в синтаксисе функции квадратные скобки указы-
вают на дополнительные, необязательные аргументы. Например, функ-
цию SUM можно использовать для сложения любого количества чисел.
 Многоточие: многоточие указывает на то, что необязательных аргумен-
тов может быть несколько. Для функции SUM разрешается добавлять
сколько угодно аргументов, и функция просто сложит их все вместе7.

Более сложные функции


Как и приборы в реальном мире, некоторые функции сложнее остальных.
Они требуют, чтобы определенные аргументы представляли собой только
определенные типы данных. Если использовать неправильное количество
аргументов или неправильный тип данных, то функция работать не будет.
В качестве аналогии можно взять автомобиль. В упрощенном понимании
у автомобиля есть три контейнера: один для бензина, один для охлаждаю-
щей жидкости и один для багажника. Если бы это была функция, то она
выглядела бы так, как показано на иллюстрации 6.7.

Иллюстрация 6.7. Автомобиль как функция

Обратите внимание, что аргументы из абстрактных («любой объект»)


превратились в конкретные предметы. Кроме того, багажник необязате-
лен (об этом говорит то, что он заключен в квадратные скобки), потому
что необязательно, чтобы в нем что-то находилось. На иллюстрации 6.8

7
В русском варианте Google Sheets используются английские названия функций,
но в качестве разделителя аргументов вместо запятой используется точка с запя-
той. В программе Microsoft Excel в русской локализации используются также рус-
ские названия функций, например «СУММ» вместо SUM или «СЧЁТЕСЛИ» вместо
COUNTIF. — Прим. пер.
БОЛЕЕ СЛОЖНЫЕ ФУНКЦИИ 139

показан автомобиль с правильными аргументами, работающий так, как


он должен работать.

Иллюстрация 6.8. Материалы на нужных местах

В этом примере бензин находится в топливном баке, вода в бачке для


охлаждающей жидкости, а в багажнике ничего не находится. Это правиль-
ные типы данных, и они помещены на правильные места для аргументов,
поэтому все работает так, как нужно. В  багажник можно положить что
угодно, но в данном случае он пуст.
На  иллюстрации 6.9  типы данных поменялись местами. Что теперь
происходит с автомобилем?

Иллюстрация 6.9. Корректные материалы на неправильных местах

Если охлаждающая жидкость находится в топливном баке, а бензин — 


в резервуаре с охлаждающей жидкостью, автомобиль работать не будет.
Многие функции электронных таблиц работают точно так же: они требу-
ют не только ввода данных в аргументы, но и ввода определенных типов
данных. Например, функция COUNTIF имеет следующий синтаксис:

COUNTIF (диапазон, критерий)

Эта функция «возвращает результат условного подсчета по  диапазо-


ну». Это означает, что нужно сначала указать диапазон, а затем условие,
по которому вы ищете в этом диапазоне. Например, у вас есть список лю-
дей, которые записываются в волонтеры, и вы хотите, чтобы они набирали
140 ГЛАВА 6 ФУНКЦИИ ЭЛЕКТРОННЫХ ТАБЛИЦ

«Здесь», когда будут на месте. В таком случае вы получите список, похожий


на тот, что показан на иллюстрации 6.10.

Иллюстрация 6.10. Список людей

Теперь, когда у вас есть этот список, нужно написать функцию, которая
будет просматривать список и подсчитывать ячейки, в которых люди отме-
тились, записав в них «Здесь». Диапазон функции — все ячейки в столбце
B, начиная с B2 и заканчивая B10. В этом диапазоне функция должна най-
ти слово «Здесь» и подсчитать, сколько раз оно встречается. После выпол-
нения функции электронная таблица выглядит так, как показано на ил-
люстрации 6.11.
Важно отметить, что в функции COUNTIF порядок аргументов должен
быть точным, а аргументы должны содержать правильную информацию.
Аргумент 1 должен содержать диапазон, а аргумент 2 —  условие провер-
ки. Если порядок аргументов будет обратным, функция не будет работать.
Если в аргументе 1 содержится что-либо, кроме диапазона, функция тоже
не будет работать.
Файлы справки неоценимы при изучении новых функций. В современ-
ных электронных таблицах есть как небольшой файл справки с кратким
описанием, так и более подробный ее файл для каждой функции. Обратив-
шись к нему, вы сможете узнать, какие аргументы и в каком порядке не-
обходимы для функции, а также узнать, какие типы данных допускаются
в каждой функции.
ФУНКЦИИ ДЛЯ ГЕЙМ-ДИЗАЙНЕРОВ 141

Иллюстрация 6.11. Использование функции COUNTIF

Функции для гейм-дизайнеров


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

примечание
Для получения общей информации о том, как работают эти функции,
обратитесь к файлам справки используемой вами программы элек-
тронных таблиц. В дальнейших разделах эти функции описываются
с точки зрения дизайна игровых систем.
142 ГЛАВА 6 ФУНКЦИИ ЭЛЕКТРОННЫХ ТАБЛИЦ

SUM (СУММ)
SUM — одна из самых простых и полезных функций для разработчика ди-
зайна систем. Как уже упоминалось ранее в этой главе, она складывает все,
что ей предоставляют в качестве аргументов: числа, диапазон содержащих
числа ячеек или и то и другое. На иллюстрации 6.12 показано, как функ-
ция SUM используется для подсчета суммы показателей атрибута STR (со-
кращение от Strength, то есть «сила») в списке монстров.

Иллюстрация 6.12. Использование функции SUM

AVERAGE (СРЗНАЧ)

Иллюстрация 6.13. Использование функции AVERAGE


ФУНКЦИИ ДЛЯ ГЕЙМ-ДИЗАЙНЕРОВ 143

Функция AVERAGE находит среднее значение из списка значений. Разра-


ботчики игровых систем постоянно используют эту функцию при анализе
данных. На иллюстрации 6.13 показано использование функции AVERAGE
для того же диапазона, что и на иллюстрации 6.12; на этот раз подсчиты-
вается среднее значение аргумента STR, то есть «силы».

MEDIAN (МЕДИАНА)
Функция MEDIAN служит хорошим дополнением к  функции AVERAGE
и средством проверки ее результатов. Медиана — это число, находящееся
в середине некоего набора данных. В зависимости от распределения дан-
ных она может принимать то же значение, что и среднее. Но если в наборе
данных имеются экстремальные выбросы, среднее значение будет замет-
но отличаться от медианы. Увидев разницу, следует изучить данные по-
дробнее. Например, на иллюстрации 6.14 медиана оказалась ниже сред-
него значения. Как видно, MEDIAN можно использовать в тех же местах,
что и AVERAGE, для одних и тех же данных для получения более глубокого
представления о них.

Иллюстрация 6.14. Использование функции MEDIAN

MODE (МОДА)
Функция MODE бывает как полезной, так и  бесполезной в  зависимости
от набора данных. «Мода» — это просто наиболее часто встречающееся
значение в  некоем наборе данных. Если данные очень детализированы
и имеют большой разброс, никакой особо полезной информации функция
144 ГЛАВА 6 ФУНКЦИИ ЭЛЕКТРОННЫХ ТАБЛИЦ

MODE не  предоставит. Однако если в  наборе данных есть много повто-
рений, с  ее помощью можно выявить тенденции. Пример на  иллюстра-
ции 6.15 мультимодален, то есть «кандидатов» на моду несколько, и элек-
тронная таблица возвращает самого первого кандидата.

Иллюстрация 6.15. Использование функции MODE

MAX и MIN (МАКС и МИН)


Функция MAX возвращает наибольшее число в диапазоне чисел. Функция
MIN возвращает наименьшее число в диапазоне. На иллюстрации 6.16 видно,
что наибольшее значение STR равно 7, а наименьшее значение STR равно 3.

Иллюстрация 6.16. Использование функций MAX и MIN


ФУНКЦИИ ДЛЯ ГЕЙМ-ДИЗАЙНЕРОВ 145

RANK (РАНГ)
Функция RANK показывает порядок элементов в наборе данных, то есть
присваивает им порядковый номер. На иллюстрации 6.17, например, вид-
но, что вместе с этим она показывает одинаковый ранг для одинаковых
значений, но пропускает порядковые номера каждого элемента после пер-
вого с этим рангом. Например, видно, что второе место по силе заняли
сразу два персонажа, но третий ранг не присвоен никому. По умолчанию
функция RANK распределяет элементы от больших к меньшим, но ее мож-
но обратить для поиска элементов от меньших к большим.

Иллюстрация 6.17. Использование функции RANK

COUNT, COUNTA и COUNTUNIQUE (СЧЁТ, СЧЁТЗ


и УНИК — для последних версий Excel)
COUNT, COUNTA и COUNTUNIQUE — это немного разные версии функции,
которая подсчитывает записи в диапазоне:

 COUNT считает только количество тех записей в диапазоне, которые


представляют собой числа;
 COUNTA считает общее количество записей;
 COUNTUNIQUE подсчитывает количество только уникальных записей.

В примере на иллюстрации 6.18 диапазон A:A содержит смесь слов и чи-


сел, некоторые из которых продублированы. В этом примере COUNT находит
любое число, COUNTA считает все незаполненные ячейки, а COUNTUNIQUE
считает только те ячейки диапазона, в которых есть уникальные записи.
146 ГЛАВА 6 ФУНКЦИИ ЭЛЕКТРОННЫХ ТАБЛИЦ

Иллюстрация 6.18. Использование функций COUNT

LEN (ДЛСТР)
Функция LEN подсчитывает количество символов в  ячейке. Может по-
казаться, что эта функция редко используется разработчиками систем,
но  на  самом деле она применяется довольно часто. При разработке игр
надписи пользовательского интерфейса для игрока, диалог для персона-
жей, инструкции и прочие фрагменты текста должны помещаться в опре-
деленном пространстве. Чтобы убедиться, что написанный текст поме-
стится, и  при этом не  проверять каждую строчку игры по  отдельности,
разработчики часто заносят его весь в электронную таблицу. Затем с по-
мощью функции LEN они проводят быструю первоначальную проверку
и убеждаются в том, что текст не слишком длинный. В примере, показан-
ном на иллюстрации 6.19, проверяется на длину историческая цитата, ко-
торую должен произнести один из персонажей игры.

Иллюстрация 6.19. Использование функции LEN

IF (ЕСЛИ)
IF — очень мощная и хорошо адаптируемая функция. Она оценивает логи-
ческое выражение, которое, по сути, представляет собой некое утверждение,
ФУНКЦИИ ДЛЯ ГЕЙМ-ДИЗАЙНЕРОВ 147

и определяет, является ли это выражение истинным или ложным. На ос-


новании этого определения функция возвращает один из двух различных
результатов. Разработчики систем постоянно используют IF для выполне-
ния разнообразных условных проверок. В примере на иллюстрации 6.20
выражение с ЕСЛИ проверяет, не превышает ли длина цитаты из игры, по-
казанная на иллюстрации 6.19, некоего значения (350 —  это максималь-
ная длина текста).

Иллюстрация 6.20. Использование функции IF

COUNTIF (СЧЁТЕСЛИ)
Функция COUNTIF, как следует из ее названия, сочетает в себе возможно-
сти функций IF и COUNT, с которыми вы уже познакомились. С помощью
COUNTIF можно применить условие к счетчику и посмотреть, сколько эле-
ментов в  списке соответствует этому условию. В  примере на  иллюстра-
ции 6.21 функция COUNTIF используется для того, чтобы узнать, сколько
персонажей в списке имеют значение STR больше 3.

Иллюстрация 6.21. Использование формулы COUNTIF


148 ГЛАВА 6 ФУНКЦИИ ЭЛЕКТРОННЫХ ТАБЛИЦ

VLOOKUP (ВПР)
VLOOKUP — несколько более сложная функция, чем те, которые были пред-
ставлены до  сих пор. VLOOKUP осуществляет динамический поиск дан-
ных в таблице и извлекает из нее элементы для использования. Обычно эту
функцию применяют, когда в очень большой электронной таблице много
данных, но сейчас нужно сосредоточиться только на небольшой их части.
В примере на иллюстрации 6.22 электронная таблица ищет в списке персо-
нажа Barbarian («Варвар») и возвращает найденное значение в столбце STR.
В VLOOKUP первым аргументом служит объект для поиска — это может
быть текст (в кавычках) или ссылка. Второй аргумент —  это таблица (диа-
пазон), содержащая все, что вы хотите найти, и все, что вы хотите вернуть.
Третий аргумент —  номер столбца выбранного диапазона. В примере на ил-
люстрации 6.22 цель — вернуть значение не первого столбца с именами, а вто-
рого —  с показателями силы STR. Последний аргумент необязателен и ука-
зывает, хотите ли вы, чтобы электронная таблица находила приблизительное
значение, ближайшее к поисковому условию, или использовала только точное
совпадение. В данном случае нужно найти только точное совпадение, поэто-
му аргумент имеет значение FALSE, что означает «не искать приблизительно».

Иллюстрация 6.22. Использование функции VLOOKUP

FIND (НАЙТИ)
Функция FIND используется для поиска определенного текста в  боль-
шом фрагменте текста в ячейке. Она позволяет вычленять ключевую ин-
формацию из больших фрагментов текста. По умолчанию функция FIND
возвращает позицию символа, с  которого начинается указанный текст.
ФУНКЦИИ ДЛЯ ГЕЙМ-ДИЗАЙНЕРОВ 149

На иллюстрации 6.23, например, электронная таблица находит позицию


слова spoken в большом фрагменте текста.

Иллюстрация 6.23. Использование функции FIND

MID (ПСТР)
Функция MID — своего рода противоположность конкатенации. Как было
сказано в главе 5 «Основы работы с электронными таблицами», с помощью
символа & можно объединить небольшие фрагменты данных для создания
более крупного фрагмента текста. Функция MID же извлекает небольшие
фрагменты данных из  большого. В  примере на  иллюстрации  6.24 функ-
ция MID извлекает все символы до слова spoken, а затем останавливается
за символ до первой буквы в слове spoken. (А еще иллюстрация 6.24 — хо-
роший пример составной функции, в  которой в  качестве аргумента ис-
пользуется другая функция, в данном случае FIND.)

Иллюстрация 6.24. Использование функции MID

NOW (ТДАТА)
NOW —  немного странная функция, сама по себе не очень полезная. Если
ввести в ячейку электронной таблицы «=now()», она вернет текущее время.
Каждый раз при обновлении ячейки функция снова определяет текущее вре-
мя и отображает новое значение. По сути, она работает как часы, которые об-
новляются только при обновлении листа. Но в компьютере уже есть часы, так
какой же толк от функции NOW? Функция NOW становится гораздо полез-
нее в сочетании со статическим временем. С помощью проверки данных или
150 ГЛАВА 6 ФУНКЦИИ ЭЛЕКТРОННЫХ ТАБЛИЦ

вставки только из ячейки с функцией NOW можно получить статичное время.


Если в электронной таблице указано какое-то статичное (неизменное) время,
функцию NOW можно сравнить с ним, чтобы узнать, сколько времени про-
шло с предыдущего момента или сколько времени пройдет до момента в бу-
дущем. В примере на иллюстрации 6.25 в ячейке A1 используется функция
NOW, ячейка A2 содержит статичное значение времени, а ячейка A3 измеряет,
сколько времени прошло между этими двумя моментами.

примечание
Чтобы время в  электронной таблице легче читалось человеком,
важно выбрать нужный формат времени (как обсуждалось в главе 5);
моменты должны быть отформатированы как время, а расстояние
между моментами — как длительность.

Иллюстрация 6.25. Использование функции NOW

RAND (СЛЧИС)
Функция RAND выдает случайное число от  0 до  1 с  очень большим чис-
лом знаков после запятой. Это еще одна странная функция, поскольку она
обновляется каждый раз, когда обновляется электронная таблица, в том
числе при изменении любой ячейки. Как и функция NOW, функция RAND
более полезна, когда результат функции копируется, а  затем вставляет-
ся в виде только значения —  случайно сгенерированного числа, исполь-
зуемого в дальнейших расчетах. RAND выдает длинное десятичное число,
не очень удобное для случайных чисел в играх, которые, как правило, бы-
вают небольшими, без десятичных знаков. Но функцией RAND можно вос-
пользоваться в формулах для преобразования исходного случайного числа
в нечто более полезное — например, в случайные числа от 1 до 100. На ил-
люстрации 6.26 показан необработанный результат функции RAND. Обра-
тите внимание, что сам по себе он не дает много информации.
ФУНКЦИИ ДЛЯ ГЕЙМ-ДИЗАЙНЕРОВ 151

Иллюстрация 6.26. Использование функции RAND

ROUND (ОКРУГЛ)
Функция ROUND округляет любое заданное число до определенного коли-
чества знаков после запятой. Этой функцией гейм-дизайнерам приходит-
ся пользоваться довольно часто, чтобы сделать длинные десятичные числа
более удобными для игроков или даже для самой команды разработчиков.
На иллюстрации 6.27 показано использование функции ROUND в сочета-
нии с функцией RAND в простой формуле для генерации полезного слу-
чайного числа от 1 до 100.

Иллюстрация 6.27. Использование функции ROUND

примечание
Названия (имена) функций в  электронных таблицах не  чувстви-
тельны к  регистру. Таблица поймет их в  любом случае, будут они
написаны прописными или строчными буквами, либо и теми и дру-
гими. При обновлении таблицы буквы в названиях функций станут
прописными.

RANDBETWEEN (СЛУЧМЕЖДУ)
Во  многих случаях использовать случайное число между 0 и  1 бывает
очень неудобно, даже если его умножают на  какое-то другое число, а ре-
зультат округляют, потому что уже известно, что некие случайные чис-
ла должны располагаться в  каком-то диапазоне. В таких случаях можно
152 ГЛАВА 6 ФУНКЦИИ ЭЛЕКТРОННЫХ ТАБЛИЦ

воспользоваться функцией RANDBETWEEN; в качестве ее аргументов ука-


зываются минимальное и максимальное значения, и она случайным об-
разом генерирует числа в указанном диапазоне. В примере на иллюстра-
ции  6.28 показана генерация случайных чисел в  диапазоне от  10 до  20.
Обратите внимание, что RANDBETWEEN, как и RAND и NOW, часто лучше
использовать, когда результат функции копируется, а затем вставляется
только как значение.

Иллюстрация 6.28. Использование функции RANDBETWEEN

Больше о функциях
Хотя в  каждой программе электронных таблиц бывает множество (сот-
ни) функций, выше были перечислены те, которые чаще всего используют
в своей работе гейм-дизайнеры. Потратив какое-то время на тщательное
изучение, вы сможете использовать их для выполнения большинства за-
дач для разработки игры.
Чтобы найти еще больше функций, можно нажать на символ функций
(греческая буква «сигма») на  панели инструментов (иллюстрация  6.29)
и выбрать пункт «Все» —  так отобразится список всех доступных в про-
грамме функций. Пусть вас не  смущает их количество. Функций мо-
гут быть сотни, но  большинство из  них предназначены для некоторых
очень специализированных профессий, и их можно смело игнорировать.

Иллюстрация 6.29. Символ функций

Как выбрать правильную функцию


Чтобы лучше понять, как работают описанные в этой главе функции, ре-
комендуется немного попрактиковаться с ними. В процессе разработки
КАК ВЫБРАТЬ ПРАВИЛЬНУЮ ФУНКЦИЮ 153

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

1. Составьте план. Подумайте, что вы хотите сделать, и подробно опи-


шите задачу. Записав все то, что, по вашему мнению, должна будет
сделать программа электронных таблиц, разберите каждое слово
плана и подумайте, что именно оно означает.
2. Проделайте это один раз вручную. Когда вы уже знаете, что долж на
сделать для вас электронная таблица, проделайте это один раз вруч-
ную. При этом, возможно, вам придется складывать различные чис-
ла в уме или искать глазами нужные данные на больших листах.
3. Запишите точно все шаги. Переходили  ли вы на  другой лист, ко-
гда выполняли задачу вручную? Использовали ли вы колесико мыши
для прокрутки страницы вниз, чтобы найти что-то? Считали ли вы
что-то? Сделайте все шаги по одному и запишите их в мельчайших
подробностях.
4. Выделите ключевые слова. Прочтите только что сделанное описа-
ние шагов. Какие в нем выделяются ключевые слова? Найдите такие
слова, как «искал», «добавил», «подсчитал» и «усреднил». Составьте
из этих ключевых слов краткий список.
5. Проведите небольшое исследование. Зайдите в  окно интернет-
браузера и наберите в поисковой строке google sheets и одно или два
ключевых слова. Вполне возможно, что кто-то уже пытался сделать
именно такую же задачу до вас и уже задавал такой вопрос. Возмож-
но также, что кто-то уже ответил на  этот вопрос и  дал четкие ин-
струкции, как это сделать. В электронных таблицах функции часто
называются интуитивно, исходя из  того, что они делают, поэтому,
если вы поищете ключевые слова в справочной системе вашей про-
граммы электронных таблиц, то, скорее всего, найдете функцию, ко-
торая делает именно то, что вам нужно. Если же этой функции нет,
то можно найти такие, которые помогут вам выполнить часть зада-
чи и которые можно будет комбинировать с другими функциями для
получения нужного результата.
6. Задавайте вопросы. Если изучение и практический поиск не дает
желаемых результатов, то можно обратиться за помощью к знакомым
154 ГЛАВА 6 ФУНКЦИИ ЭЛЕКТРОННЫХ ТАБЛИЦ

или пользователям Интернета, сообщив им записанные вами в пунк-


те 3 шаги. Существуют многочисленные форумы, на которых обсуж-
даются различные аспекты электронных таблиц, и  люди на  этих
форумах, как правило, охотно помогают тем, кто задает четкие во-
просы. О том, как правильно задавать вопросы, говорится в главе 3.

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

 Создайте несколько электронных таблиц и попрактикуйтесь в исполь-


зовании описанных в этой главе формул и функций. Если вы выполня-
ли упражнения в разделе «Дальнейшие шаги» главы 5, у вас уже есть
игровые данные в электронной таблице. Подумайте, как можно исполь-
зовать каждую функцию для этих данных, чтобы получить интересный
результат. (Если вы еще не  создали электронную таблицу со  своими
данными, неплохо было бы сделать это сейчас, так как она пригодится
и в последующих главах.)
 Прочитайте справочные материалы в  своей программе для работы
с электронными таблицами. В этой главе достаточно подробно рассма-
триваются некоторые важные функции, с помощью которых уже мож-
но приступать к работе, но в файлах справки найдется больше инфор-
мации о  них. Функции также периодически обновляются, поэтому
полезно ознакомиться со справкой в выбранной вами программе, что-
бы убедиться в том, что у вас верное представление о текущей рабочей
версии каждой функции.
ГЛ А В А 7

КАК НА  ОСНОВЕ


РЕАЛЬНОЙ ЖИЗНИ
СОЗДАТЬ СИСТЕМУ

Теперь, когда вы усвоили основы создания


электронных таблиц и работы в них, пришло
время начать заполнять таблицу данными
новой игры. Откуда берутся игровые данные
при создании новой игры? Очевидно, что
они генерируются игровыми системами
и, в более общем смысле, играми. Это
значит, что для генерации данных нужны
системы, а для создания систем нужно начать,
собственно, разрабатывать игру. В этой главе
рассматриваются основы возникновения идей
игр полностью с нуля и их последующего
построения с помощью систем и данных.
156 ГЛАВА 7 КАК НА ОСНОВЕ РЕАЛЬНОЙ ЖИЗНИ СОЗДАТЬ СИСТЕМУ

Первое, что необходимо понять, — что ни одна игра не создается в ва-


кууме. Если внимательно изучить механики любой игры, можно обнару-
жить, что они представляют собой аналоги каких-то аспектов реальной
жизни, пусть даже и в абстрагированном виде. Сходство с реальной жиз-
нью помогает объяснить, почему люди (и другие животные) играют в игры.
Жизнь сложна, беспорядочна, случайна и  несправедлива. Она слож-
нее, чем мы как общество можем понять. Жизнь постоянно меняется,
и по большей части неподвластна нашему контролю. «Пройти» жизнь или
«решить» ее невозможно, но люди любят решать проблемы. Нам нравит-
ся разбираться в системах и понимать их в целом. Нам также нравится
разбираться в  правилах и  полностью их понимать. Нам нравится вли-
ять на окружающую нас обстановку и принимать решения, которые име-
ют значимые последствия. Хотя в жизни невозможно все это реализовать
до конца, но в игре —  вполне. Если убрать из жизни подавляющее боль-
шинство систем и свести игру к небольшому количеству механик, можно
получить представление о системах и их взаимодействии, а также о смыс-
ле игры. В играх можно делать и то, что невозможно в жизни: игры можно
делать честными и справедливыми. Чтобы проиллюстрировать сложность
реальных систем и то, как мы раскладываем на части систему из реально-
го мира, рассмотрим два примера. Во-первых, на иллюстрации 7.1 показа-
на фотография городской улицы. Прежде чем читать дальше, подумайте,
какие системы можно увидеть на этом изображении.

Иллюстрация 7.1. Изображение городской улицы

Вот небольшая подборка систем, представленных на одной этой фото-


графии.
ДАЛЬНЕЙШИЕ ШАГИ 157

 План города: люди решили, где размещать все здания.


 Архитектура, инженерные сооружения, конструкции: помимо ре-
шения о том, где будут расположены все здания, разные большие груп-
пы разработали сложные системы проектирования, строительства
и обслуживания каждого отдельного здания.
 Водопровод: в каждом здании есть трубы, по которым вода поступает
из центрального узла в места по всему зданию. В каждом здании также
есть трубы, которые удаляют грязную воду из здания и с улиц и направ-
ляют ее в определенное место для централизованной очистки.
 Электрическая система: в каждом здании, как и на городских улицах,
есть электрическая система.
 Уличное движение: люди ходят и ездят в установленных местах и в со-
ответствии с  правилами. Без этих систем перемещение по  улицам
было бы практически невозможно.
 Растительная жизнь: на этой улице растет несколько деревьев. Реше-
ние о  том, где посадить деревья,  —  это система, как и  сами деревья.
За  деревьями видны другие расположенные тут и  там небольшие ра-
стения.
 Погода и окружение: на заднем плане видно небо, где множество по-
годных и воздушных систем. Кроме того, на заднем плане, хотя и вне
поля зрения, находится вся остальная Вселенная.
 Люди: каждый отдельный человек на картинке состоит из множества
сложных систем.
 Одежда: каждый человек на картинке носит одежду, и сложные систе-
мы управляют тем, как эта одежда проектируется, создается, покупа-
ется и носится.
 Общество: в целом мы, люди, имеем сложные общественные системы,
которые влияют на все наши действия.
 Торговля: везде, где есть большое количество людей, действует множе-
ство сложных экономических систем.
 Закон: помимо основных общественных правил, везде действуют и бо-
лее жесткие нормы права.
 Реклама: на улице видны рекламные объявления. Каждое из них под-
чиняется сложным правилам рекламной тактики для привлечения по-
требителей.
158 ГЛАВА 7 КАК НА ОСНОВЕ РЕАЛЬНОЙ ЖИЗНИ СОЗДАТЬ СИСТЕМУ

 Паразиты: каким бы странным ни казалось это предположение, но сре-


ди такого количества людей по крайней мере у одного из них почти на-
верняка есть какая-то форма паразитов, будь то вши, черви или грибок.
Такое предположение свидетельствует о том, что углубляться в детали
можно практически бесконечно.

Это лишь краткий обзор бесчисленного множества систем, правил


и  взаимодействий, наблюдаемых в  этом единственном изображении.
Ни одна игра никогда не приближалась к такой степени детализации сво-
их правил, что вполне логично. Хотели бы вы видеть симуляцию паразитов
в ролевой игре? Вероятно, нет. Захочется ли вам в гоночной игре рассма-
тривать разрешение на зонирование зданий? Конечно же, нет. В играх со-
здается очень упрощенное представление о мире — таким образом, чтобы
игроки смогли распознать в ней абстракцию реального мира, но без всех
мелких деталей, которые им не будут интересны в игре.
Рассмотрим теперь абстрактную версию городской улицы (иллюстра-
ция 7.2). На этом изображении также можно увидеть различные системы:
людей, деревья, столбы, дороги, небо и здания.

Иллюстрация 7.2. Абстрактное изображение здания

Этот список меньше предыдущего, и  в  нем отсутствуют многочис-


ленные детали. Если присмотреться, то  можно увидеть, что изображе-
ние лишь из нескольких мазков краски. Люди —  это несколько черточек
с кружочками вместо головы. Дорога — просто пятно серого цвета, а дере-
вья — несколько более длинных мазков коричневой и зеленой краски чуть
выше людей. Рассматривая любую часть картины по отдельности, мы даже
ДАЛЬНЕЙШИЕ ШАГИ 159

вряд ли поняли бы, что должен изображать тот или иной объект. Однако,
бросив взгляд сначала на первое, а потом на второе изображение, мы лег-
ко сможем охарактеризовать их как «городскую сцену с людьми на дороге».
На более абстрактной картине наш разум сам дорисовывает мельчайшие
детали, или же мы просто игнорируем их, потому что они не важны для
передачи сути изображения.
Разница между фотографией и абстрактной картиной сродни разнице
между реальной жизнью и игрой. При создании игры мы рассматриваем
жизнь, выхватываем несколько ключевых элементов и представляем их
игрокам таким образом, чтобы у них возникло определенное впечатление
от увиденного, не увязнув при этом в деталях.
Механика игры может быть крайне простой — например, распознавание
шаблонов. Цель игры «крестики-нолики» состоит в том, чтобы составить
в  ряд либо три крестика, либо три нолика. У  «крестиков-ноликов» очень
простая механика и очень простой набор правил, и потому они не особен-
но интересны для взрослых. Впрочем, привлекательны они отчасти тем, что
мы полностью знаем их правила. Освоить их могут даже маленькие дети.
В отличие от реальной жизни в «крестиках-ноликах» игроков никогда не за-
стают врасплох изменения правил посреди игры или непредсказуемые ре-
зультаты. В реальной жизни непредсказуемые результаты могут иметь даже
простые действия. В «крестиках-ноликах» же никогда не бывает такого, что
мы не можем поставить крестик, потому что он «неожиданно потерялся»,
или мы проигрываем, потому что соперник купил себе право на еще один
ход. Такие хаотичные события происходят в  реальном мире независимо
от того, нравится нам это или нет, считаем ли мы их справедливыми или не-
честными, но в рамках игры мы контролируем такие элементы. Мы можем
решать, что честно, а что нет, и обеспечиваем соблюдение правил в игре.
Это придает играм и их правилам некую чистоту, которую никогда не най-
дешь в реальном мире — и именно это привлекает в играх.
Попробуем довести до крайней простоты несколько наблюдений из ре-
ального мира, выделить из них несколько элементов и создать на их осно-
ве известную игру. Если вы когда-нибудь плотно загружали автомобиль
или складывали вещи в кладовку, то, скорее всего, этот процесс вам напо-
минал некую игру. Но дело в том, что в реальности деталей и подробно-
стей гораздо больше, чем в игре. На иллюстрации 7.3 изображен забитый
вещами автомобиль, а на иллюстрации 7.4 —  игра, похожая на «Тетрис».
Они имеют очевидное сходство друг с другом, и некоторые базовые меха-
ники в обоих случаях одинаковы.
160 ГЛАВА 7 КАК НА ОСНОВЕ РЕАЛЬНОЙ ЖИЗНИ СОЗДАТЬ СИСТЕМУ

Иллюстрация 7.3. Забитый до отказа автомобиль напоминает игру

Иллюстрация 7.4. Игра, похожая на «Тетрис»

В обоих случаях «игрок» пытается уместить как можно больше объек-


тов в заданном пространстве и оставить при этом как можно меньше пу-
стого места. Такая базовая механика лежит в основе игры «Тетрис», и, хотя
она абстрагирована, источник вдохновения очевиден: основная механика
«Тетриса» базируется на том же чувстве удовлетворения, которое возника-
ет у нас при эффективном заполнении пространства.
АБСТРАКТНЫЙ ПРИМЕР 161

Рассмотрим теперь некоторые основные различия между укладывани-


ем вещей в машину и игрой, похожей на «Тетрис». В машине между неко-
торыми предметами видны небольшие зазоры, и туда можно просунуть
очень маленькие предметы. Некоторые предметы могут быть хрупкими,
и их лучше размещать в верхней части машины. Некоторые могут быть
очень тяжелыми, и  их лучше размещать внизу. Кроме того, важно поду-
мать о безопасности вещей во время движения автомобиля. И вообще, за-
страхован ли автомобиль как нужно? В него лучше не грузить что-то ско-
ропортящееся или живое, что не  переживет поездку. Все эти опасения
реальны, и все их следует иметь в виду при размещении вещей в ограни-
ченном пространстве в реальной жизни.
В игре «Тетрис» многие проблемы, связанные с погрузкой вещей в ав-
томобиль, устранены. Почему  же гейм-дизайнер решил исключить эти
аспекты реального аналога? В  основном потому, что они неинтересны
и отвлекают от основной механики, на которой гейм-дизайнер хотел со-
средоточить внимание игрока: подгонке фигур друг к другу в ограничен-
ном пространстве. Обратите также внимание на то, что в «Тетрисе» есть
элементы, невозможные в  реальной жизни  —  например, удаление ряда
при его заполнении. Гейм-дизайнер посмотрел на реальный мир, выделил
механику, абстрагировал ее и сделал более приятной для игроков. Такова
суть хорошего дизайна игры и одна из причин долгого успеха «Тетриса».

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

Метание предметов
Палеолитическим охотникам часто требовалось метко бросать предметы,
например камни. Рассмотрим механику метания предметов. Люди, в  от-
личие от  других животных, могут точно и  быстро бросать предметы, до-
статочно тяжелые, чтобы убить даже крупных животных. Это дало людям
огромное преимущество в охоте в эпоху палеолита. Атакуя одноразовым
162 ГЛАВА 7 КАК НА ОСНОВЕ РЕАЛЬНОЙ ЖИЗНИ СОЗДАТЬ СИСТЕМУ

предметом с безопасного расстояния, они наносили урон цели, не подверга-


ясь непосредственной опасности. Люди развивали умение метать предметы
все больше и больше, до такой степени, что это стало глубоко укоренившим-
ся человеческим инстинктом. Просто понаблюдайте за игрой маленьких де-
тей: их не нужно учить бросать вещи; напротив, родителям даже часто бы-
вает трудно удержать их от  швыряния предметами. Подобное поведение
наблюдается во всех странах и культурах, поэтому можно смело утверждать,
что это базовый инстинкт, а не результат освоения в процессе наблюдения.

Палки
Люди палеолита добились преимущества в охоте, научившись пользоваться
палками и другими орудиями. В отличие от любого другого животного, человек
способен сильно взмахнуть палкой и нанести точный и мощный удар. Не беда,
если при этом палка сломается, потому что ее легко заменить. К тому же, поль-
зуясь палкой при нападении на цель, мы держимся на более безопасной дистан-
ции. Дети во всем мире обожают размахивать палками, и это подтверждает, на-
сколько глубоко такое поведение укоренилось в нас как в виде.

Бег
Бегают многие животные, но  у  людей это получается особенно хорошо.
Мы эволюционно приспособлены к бегу на длинные дистанции, особенно
в жаркую погоду. Люди по своей природе склонны к бегу и воспринимают
его как нечто положительное. Опять же, понаблюдайте за детьми в любой
точке мира и в любом обществе; в той или иной своей форме бег представ-
лен во многих видах спорта. Этой своей особенностью люди пользовались
еще до того, как стали людьми в полном смысле слова.

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

Совмещение механик
Рассмотрев все описанные выше абстрактные механики, немного пере-
работав их и объединив, можно на этой базе и, вооружившись знаниями
об охотниках эпохи палеолита, придумать современную игру.
АБСТРАКТНЫЙ ПРИМЕР 163

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


ние палеолитических методов охоты, на ум приходит бейсбол (иллюстра-
ция 7.5). Вряд ли кто-то из составителей правил для бейсбола, лапты или
других похожих игр думал о них именно в таком ключе, но это и необяза-
тельно. Они скорее думали о том, чтобы создать нечто интересное и увле-
кательное для себя и своих друзей. Они наблюдали за тем, как играют дети.
Виды активности, характерные и  для бейсбола, и  палеолитической охо-
ты, воспринимаются веселыми и увлекательными, потому что они глубо-
ко укоренились в нашей природе. Неудивительно, что мы создаем игры
на основе таких механик. Также неудивительно, что многие эти механики
проявляются в играх разных культур и разного времени.

Иллюстрация 7.5. Бейсбол


Авторство: Rob Marmion/Shutterstock

Извлечение механики из жизни для использования в игре необязатель-


но должно быть сознательным или целенаправленным процессом. В  ре-
альном мире можно найти аналоги механик любой игры, если достаточно
их проанализировать.
164 ГЛАВА 7 КАК НА ОСНОВЕ РЕАЛЬНОЙ ЖИЗНИ СОЗДАТЬ СИСТЕМУ

Сюжет (история) в играх


Этот раздел не о том, как писать сюжеты или истории для игр. Разработ-
ка сюжета игры не входит в компетенцию гейм-дизайнера. Конечно, гейм-
дизайнер может быть по  совместительству и  нарративным дизайнером,
но в таком случае один человек будет выполнять две разные роли. Здесь
речь идет о том, как гейм-дизайнеры создают истории на основе того, что
написал кто-то другой. Поразмыслите над следующим утверждением:

Важна не та история, которую мы закладываем в игру; важна та исто-


рия, которую игроки получают от игры.

Подумайте, что на самом деле означает это утверждение. Оно не пыта-


ется принизить ценность работы, проделанной нарративными дизайне-
рами; оно говорит о том, что мы, гейм-дизайнеры, пользуемся другим ме-
тодом для того, чтобы показать нашим игрокам какую-то историю. Важно
отметить, что эти два метода создания нарративов не исключают друг дру-
га. Разработчики могут потратить много времени на создание фантасти-
ческих предысторий и  других персонажей. Гейм-дизайнеры стремятся
к тому, чтобы сама игра улучшала или даже полностью создавала какое-то
повествование для игроков. Рассмотрим несколько примеров.
В правилах покера нет даже намеков на  какую-то историю или сюжет.
«Предыстория персонажей» — это предыстория игроков, реальных лично-
стей, а не вымышленных образов. В правилах нет никакой нарративной
арки, нет предыстории, но на основе покера было создано много сюжетов
фильмов, книг и комиксов; игроки рассказывают друг другу захватываю-
щие истории о той или иной партии, истории о героях и злодеях, о триум-
фах, которые настолько велики, что могут коренным образом изменить
жизнь человека, и о поражениях, настолько разрушительных, что могут
повлиять на экономику целого города. Как же возникают все эти истории,
если их не создавал ни один нарративный дизайнер? Плодородную почву
для развития этих историй создали системы игры. А  это уже сфера дея-
тельности современных гейм-дизайнеров. Задача гейм-дизайнера состоит
в том, чтобы предоставить игрокам возможности для создания своих соб-
ственных драматических историй в рамках правил.
Подумайте о  какой-нибудь игре, в которую вы играли и которая дей-
ствительно запомнилась вам. Возможно, в игре был какой-то хорошо при-
думанный сюжет, но, скорее всего (особенно если вы читаете эту книгу),
ДАЛЬНЕЙШИЕ ШАГИ 165

в ней было нечто большее. Вы испытали нечто особенное, удивительное,


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

Дальнейшие шаги
После завершения этой главы рекомендуется некоторое время попракти-
коваться на реальных примерах и попробовать использовать рассмотрен-
ные здесь концепции. Попробуйте выполнить следующие упражнения
на умение абстрагировать системы реального мира.

 Проанализируйте несколько старых игр и рассмотрите их механики.


Какие аналоги человеческой деятельности можно найти в этих играх?
 Сделайте еще один шаг и проанализируйте отдельные игровые меха-
ники в классических играх и в ваших любимых современных. Какие
абстракции используются только для этих механик, а не для игры в це-
лом?
 Понаблюдайте за окружающим миром и выберите несколько механик
из реального мира, которые вы не часто встречали в играх. Смогли бы
вы использовать эти механики в игре? Смогли бы вы добавить их в су-
ществующую игру, чтобы улучшить ее?
 Изучите несколько современных игр и, вместо того чтобы рассматри-
вать имеющиеся в них механики и степень их абстракции, подумайте
о том, что в них не отражено. Какие механики реального мира были
исключены из игр? Почему, на ваш взгляд, гейм-дизайнеры отказались
от этих аспектов?
ГЛ А В А 8

РАЗРАБОТКА НОВЫХ ИДЕЙ

Придумывать идеи бывает нелегко. Труднее


придумывать совершенно новые идеи или новые
модификации идей. Еще труднее придумывать
новые идеи, которые хорошо работают,
которые можно воплотить в жизнь и которые
действительно понравятся людям. Согласно
распространенному мнению, одни люди обладают
творческим даром (креативностью), а другие
нет. Однако, как и во многих других сферах
человеческой деятельности, креативность — это
навык, а не просто врожденный талант. Игра
на музыкальном инструменте, вождение автомобиля,
спорт, рисование, танцы, скульптура — все это
тоже отчасти требует таланта, но в основном это
приобретенные навыки. У людей, которые кажутся
очень креативными, скорее всего, имеется какая-то
доля природного таланта, но они, несомненно,
постоянно развивали свой талант упорным
и планомерным трудом.
168 ГЛАВА 8 РАЗРАБОТКА НОВЫХ ИДЕЙ

В этой главе описаны методы и практические упражнения, которые мож-


но использовать для развития своих творческих способностей, особенно
в том, что касается разработки новых идей. Если вам кажется, что у вас нет
творческих способностей, внимательно прочитайте эту главу и серьезно
поработайте над упражнениями. Ожидается, что гейм-дизайнеры долж-
ны фонтанировать идеями. Ваша задача в том, чтобы выбирать какие-то
из множества идей, а не корпеть над одной-единственной. Не волнуйтесь,
если поначалу это покажется вам трудным и неестественным; этого и сле-
довало ожидать. Как и в случае с любым другим осваиваемым навыком,
единственный способ повысить свое мастерство — практика. Продол-
жайте работать над этими методами и выполнять упражнения, пока они
не начнут казаться комфортными или даже естественными. Скорее всего,
вы обнаружите, что идеи начинают приходить к вам в голову легче и бы-
стрее — до такой степени, что их уже будет трудно остановить.

Шведский стол идей


Каждый гейм-дизайнер, да и вообще творческий человек, должен разрабо-
тать и поддерживать «шведский стол идей», представляющий собой, по сути,
список идей с кратким их описанием. Это могут быть идеи для игр, персона-
жей, механики, оружия, транспортных средств, настроек уровней или чего
угодно другого. Когда эта коллекция станет очень большой, вы сами разо-
бьете ее на подходящие категории. Я использую словосочетание «шведский
стол»8 для описания такого списка, потому что он должен действовать по-
добно шведскому столу в реальном мире. Перед вами на подносах и полках
должно быть больше идей, чем вы сможете использовать. Многие из них
не будут хорошо сочетаться друг с другом. Но к этому столу всегда можно
подойти, когда вам потребуется вдохновение, и выбрать те варианты, кото-
рые соответствуют вашим потребностям прямо сейчас.

Образец шведского стола идей


Ниже приведен небольшой пример шведского стола идей. Он может содер-
жать общие идеи, фрагменты идей, вопросы и все, что вы захотите. Стро-
гого формата для записи в шведском столе идей не существует. Обратите
внимание на то, что большинство идей —  это просто краткие описания.

8
В оригинале автор использует слово buffet. — Прим. пер.
СЕССИЯ МОЗГОВОГО ШТУРМА 169

Они не предназначены для полного объяснения или даже не должны быть


полезными сами по себе. Единственная цель подобных списков —  вспо-
мнить, какие идеи вам уже приходили в  голову, и  на  основе их создать
какие-нибудь новые идеи. Как правило, такие списки должны занимать
много страниц.

Идеи для игр


 Игра с физикой отскока. Желе-пирамидка.
 «Дженга» со странными формами или физикой. Мобильная или VR.
 Игра типа «Пособие по военному выживанию». Серьезная игра.
 Игра, в которой нужно развязывать узлы на основе реальных узлов. VR?
Гонки по трубам из узлов?
 Ставки на тотализаторе: бои с монстрами, собачьи бега и т. д.
 Игра с принятием решений и с точки зрения животных. Начинается
с низших форм жизни, решения очень простые. По мере усложнения
жизненных форм усложняются решения и контроль.
 Выбери свое приключение в игре-головоломке.
 Смесь слайд-пазла и платформера.
 «Камень, ножницы, бумага» в реальном времени.

Механики
 Смешивание цветов для соответствия цвету противника. Лазеры?
 Пазл странствующего торговца в RPG.
 Плохое управление камерой как вызов.
 Стекло разбивается непредсказуемым образом, и игрок использует его.
 Даем команды собаке с помощью простого набора символов.
 Враг получает урон, только если по нему не попадают.
 Играть за NPC в чужой игре.

Сессия мозгового штурма


Мозговой штурм может принимать различные формы, и в разработке игр
он используется вполне конкретно. В этом разделе говорится о том, как
проводить мозговой штурм и какие методы помогут вашим идеям появ-
ляться быстрее.
170 ГЛАВА 8 РАЗРАБОТКА НОВЫХ ИДЕЙ

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

 Новые классы персонажей, дополняющие старые.


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

Составив краткий список целей (например, от одной до трех), можно


переходить к собственно сессии мозгового штурма.

примечание
Цели не должны содержать такие формулировки, как «решить эту
проблему» или «принять окончательное решение». Такие темы
не относятся к сфере мозгового штурма. Хорошая сессия мозгового
штурма должна преследовать единственную цель —  генерировать
идеи, а не реализовывать, критиковать или оценивать их.

Подготовка к сессии
Один из участников мозгового штурма должен быть его модератором. Моз-
говой штурм можно проводить и в одиночку —  часто так и поступают — 
но гораздо лучше проводить мозговой штурм в группе. Участники сессии
должны быть знакомы с  проблемой, но  не  обязательно экспертами. Но-
вые точки зрения —  это всегда очень хорошо. Для группового мозгового
штурма достаточно двух человек, а максимальное количество для полез-
ной сессии —  пять человек. Если участников больше, возникают пробле-
мы с  коммуникацией и  координацией. Если необходимо участие более
пяти человек, лучше проводить отдельные сессии с небольшими группа-
ми, а не одну большую.
СЕССИЯ МОЗГОВОГО ШТУРМА 171

Важно, чтобы на время проведения мозгового штурма для участников


сеанса не было назначено никаких других дел. Также важно устранить все
отвлекающие факторы и помехи. Звонки на мобильные телефоны во вре-
мя мозгового штурма полностью портят общий настрой. В течение всей
сессии никто не должен находиться у экрана или другого носителя инфор-
мации. Единственное исключение можно сделать для конспектирующего,
когда у него открыт документ для заметок. Отвлекающие факторы меша-
ют креативу. Лучше всего записать на доске или в другом доступном для
обзора месте небольшой свод основных правил для сессии. Вот пример та-
кого свода.

 Сессия длится 1 час, с 14:00 до 15:00.


 Никаких экранов, наушников или звонков.
 Двери закрыты; во время сессии никто не выходит и не входит.
 Принимаются любые идеи.
 Никакое мнение не считается ошибочным.
 Получайте удовольствие, дурачьтесь.
 Принимайте активное участие.
 Цели: (список целей для сессии).

Выбор продолжительности сессии


Необходимо определить время начала и  окончания сессии мозгового
штурма. Хорошая продолжительность штурма для новой группы —  один
час. По  мере продолжения сессий опыт группы будет повышаться, и  про-
должительность можно увеличивать, но не бесконечно. Более двух часов — 
это, скорее всего, уже слишком много, тогда как менее получаса — слишком
мало, чтобы настроиться на нужный лад. Продолжительность должна быть
четко установленной. Принимать активное участие в штурме должны все
члены группы. Если кто-то приходит в самый разгар штурма, то это силь-
но вредит процессу. Опоздавший может повторять идеи, не понимать уже
предложенные, не ощущать общий настрой или навязывать свое мнение.
Время окончания нужно установить заранее, но оно не должно быть
слишком жестким. Если идеи продолжают активно рождаться, то можно
немного задержаться. Если настроение в комнате плохое и негатива боль-
ше, чем креативности, то сессию, скорее всего, придется закончить рань-
ше. В таком случае этот вопрос нужно будет решить с группой до начала
172 ГЛАВА 8 РАЗРАБОТКА НОВЫХ ИДЕЙ

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

Не хватайтесь за первое предложение


Одна из самых больших ловушек в ходе мозгового штурма и творческого
процесса в целом — искушение принять самую первую идею. Рассмотрим
небольшой пример. Допустим, вам дали несколько красных и  синих пу-
говиц, лист бумаги в клеточку и две игральные кости (иллюстрация 8.1).
Цель сессии — придумать идеи игр с использованием этих предметов. По-
думайте об этом несколько секунд, прежде чем продолжить чтение.

Иллюстрация 8.1. Предметы для игры

Первая идея может быть такой: создать игру, похожую на  шашки,
но со случайным количеством шагов согласно броску костей. Такой простой
вопрос предлагался бесчисленным сотням потенциальных гейм-дизайне-
ров, и, безусловно, указанное выше решение было самым распространен-
ным. Но во время мозгового штурма, цель которого — новые идеи, не стоит
выбирать самый очевидный ответ. Во время мозгового штурма возникает
искушение ухватиться за первое высказанное кем-то предложение и сосре-
доточиться на нем. Нужно бороться с этим искушением. Модератор в ответ
на каждое предложение должен говорить: «Хорошая идея, продолжайте».
Можно попробовать сделать это прямо сейчас на примере пуговиц и ко-
стей: запишите свою первую идею, а затем придумайте еще десять вариан-
тов. Проследите за тем, чтобы эти десять вариантов полностью отличались
друг от друга. Например, у вас должно быть несколько идей, где пуговицы
СЕССИЯ МОЗГОВОГО ШТУРМА 173

не используются с листом бумаги, несколько идей неожиданного сочета-


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

Избегание критики
Цель мозгового штурма —  создавать новые идеи, а не исключать их. Как
технические разработчики стремятся производить качественные продук-
ты, так и разработчики игр очень критично относятся к своей деятельно-
сти. На  этапе производства, особенно ближе к  концу проекта, это хоро-
шо. Но во время мозгового штурма стремление к перфекционизму —  это
катастрофа. Критика заставляет людей занять оборонительную позицию,
когда они больше думают о защите какой-то идеи, нежели о выдвижении
новых. Критика также снижает желание участвовать в процессе, а такое
желание — решающий фактор успеха.
Модератору сессии мозгового штурма важно внимательно следить
за критикой и реагировать на нее. Агрессивный настрой также разруши-
телен для творческого процесса, и  один из  хороших способов ответить
на  критику — это сказать: «Да, я  вижу, что вы разглядели потенциаль-
ный недостаток, но  давайте сосредоточимся на  решении». Другие хоро-
шие фразы: «Эта идея может не сработать, но какая может?» и «Ладно, как
можно улучшить эту идею?» Сохраняя позитивный настрой и направляя
на позитив других, модератор способствует тому, что в результате сессии
появится больше неплохих идей.

Придерживаться темы (по возможности)


Если цель мозгового штурма —  придумать идеи для персонажей, но рож-
даются только новые варианты для игры, то польза от сессии невелика.
Тем не  менее излишняя сосредоточенность может затормозить творче-
ский настрой. Модератор должен позволять участникам свободно выска-
зывать свои идеи, но вместе с тем следить, чтобы они не слишком отходили
174 ГЛАВА 8 РАЗРАБОТКА НОВЫХ ИДЕЙ

от темы. Это можно сравнить с тем, как во время прогулки ведут домой
щенков. Модератору хочется, чтобы все они дошли до дома, но он также
дает им возможность поиграть и высвободить энергию. Он может давать
участникам кое-какие послабления, позволять им дурачиться и прикалы-
ваться друг над другом, но должен мягко направлять беседу в нужное рус-
ло. Модератор должен следить за тем, чтобы никто никого не критиковал
и не говорил, что кто-то делает что-то неправильно, а направлять участ-
ников обратно к цели, хотя и здесь следует проявлять мягкость. Заявление
типа: «Давайте уже говорить по существу» звучит слишком категорично.
Вместо этого можно сказать что-то вроде: «Я сейчас услышал несколько
креативных идей. Как их можно связать с нашей целью?»

Как фиксировать идеи


Группа мозгового штурма должна фиксировать идеи по мере их появле-
ния с помощью белой доски, бумаги или компьютера. Лучше всего, что-
бы все участники видели, как одни идеи порождают другие, ведь именно
этого вы и добиваетесь. Не беспокойтесь об опечатках или аккуратности,
сосредоточьтесь на том, чтобы просто записать идеи. На хорошей сессии
идеи будут появляться быстро и часто, и важно при этом не останавливать
на время участников и не мешать им генерировать новые идеи. При необ-
ходимости записывать идеи могут несколько человек. Запланируйте вре-
мя ближе к концу сессии для чистовой записи. Если вы видите, что кто-то
стирает и перезаписывает идеи во время сессии, напомните ему, что для
этого выделено определенное время, поэтому не нужно заниматься редак-
тированием прямо сейчас.
В  процессе мозгового штурма ничего не  стирайте. Если в  конце сес-
сии вы обнаружите, что некоторые идеи представляют собой полную бес-
смыслицу, или если все участники встречи уже забыли, что они означают,
то смело удаляйте их. Но любые более или менее понятные идеи, плохие
или хорошие, нужно записать.
После сессии можно занести все предложения в «шведский стол» идей.

Сохраняйте разумные ожидания


Мозговой штурм  —  занятие трудное. Генерировать новые идеи очень
сложно. Не ждите, что за одну сессию вы получите все нужные вам ответы
или даже хотя бы какой-то ответ. Постарайтесь не расстраиваться. С тер-
пением и практикой ваши результаты улучшатся.
МЕТОДЫ ПОВЫШЕНИЯ КРЕАТИВНОСТИ 175

Продолжение творческой работы


После окончания мозгового штурма мыслительная работа не заканчива-
ется, и еще многое может всплыть на поверхность. В вашем мозгу продол-
жают проноситься потоки хороших, креативных, глупых или откровенно
плохих идей. В последующие часы или даже дни ваш мозг продолжит пе-
ребирать все это, а иногда великолепные идеи будут появляться в те мо-
менты, когда их меньше всего ждешь. Будьте готовы к этому и держите под
рукой что-нибудь для записи. Гейм-дизайнеры, вошедшие в особое твор-
ческое настроение, остаются в нем надолго. Генерировать идеи и решения
можно в любое время. Творческий ум не заботится о расписании или о том,
когда назначен мозговой штурм; он делает что хочет и когда хочет. После
сеанса мозгового штурма ваша задача — быть начеку и ждать, пока новые
идеи не всплывут на поверхность, а потом зафиксировать их.

Методы повышения креативности


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

Плохой штурм
Отличный способ открытия сессии. Обычно людям не нравится предла-
гать плохие идеи, поэтому они не  решаются предлагать что-то вообще,
опасаясь, что их идеи сочтут плохими. Для противодействия такому на-
строению воспользуйтесь методом «плохого штурма». Цель его заключа-
ется в  том, чтобы каждый участник сессии целенаправленно выдвинул
плохую идею.
Например, вот очень плохая идея для игры на  примере пуговиц, ли-
ста в  клеточку и  костей. Первый из  двух игроков засовывает себе в  нос
две красные пуговицы, а затем чихает как можно сильнее, попадая обо-
ими предметами на лист бумаги. Затем оба игрока тайно ставят каждый
176 ГЛАВА 8 РАЗРАБОТКА НОВЫХ ИДЕЙ

по кости на кон. Второй игрок засовывает в нос синие пуговицы и чихает,


пытаясь попасть в красные пуговицы и выбить их с листа. Если ему это уда-
ется, он выигрывает сумму своей ставки; если нет, то он проигрывает сум-
му, которую поставил второй игрок. Хорошая ли это идея для игры? Совер-
шенно нет. Заставила ли она вас посмеяться? Возможно. Заставила ли она
вас задуматься о предметах в совершенно ином свете? Еще бы!
Условие выдвигать плохие идеи обычно способствует повышению креа-
тивного потенциала, потому что участники отбрасывают какие-то вну-
тренние предубеждения относительно «правильных» решений. Это также
раскрепощает людей. После того как люди наберутся смелости высказать
одну по-настоящему плохую идею, их страх предложить что-то невер-
ное уменьшится или даже полностью исчезнет.

Шутки
Поощряйте шутки и шуточные идеи. Этот метод — продолжение «плохого
штурма». Если идея сформулирована как шутка, то к ней относятся не так
критически. Для снятия напряжения попросите участников начинать
высказывания с фразы вроде: «У меня есть сумасшедшая идея. Вот она!»
Шуточная идея может и не стать победителем, но она вдохновит на дру-
гие, более серьезные идеи. В профессиональной среде лучшее решение ча-
сто рождается из шутки. Шутки также поддерживают легкое настроение
и способствуют сплочению команды. Если в условиях строгой дисципли-
ны можно поддерживать мастерство и  производительность, то  веселые
и творческие идеи в такой атмосфере рождаются плохо.

Строительные блоки
Один из лучших методов начать генерировать идеи, особенно для гейм-
дизайнеров, — разбить объекты или концепции на мельчайшие части. Мы
обсудим эту технику подробнее в главе 9 «Атрибуты: как выразить жизнь
на языке цифр», но здесь она упоминается как отличный метод для прове-
дения мозгового штурма. На первом этапе идея разбивается на минималь-
но возможные компоненты. В результате, скорее всего, получится большой
список. На следующем этапе нужно изменить один из этих компонентов
на что-то другое, а затем предположить, что после такого изменения про-
изойдет с системой в целом.
Представьте, например, игрушечную повозку, у  которой есть метал-
лическая платформа, четыре колеса, две оси, рукоятка и  шарнир для
МЕТОДЫ ПОВЫШЕНИЯ КРЕАТИВНОСТИ 177

рукоятки. Что, если заменить один из этих элементов на  что-то другое?
Например, вместо колес снабдим повозку полозьями. Теперь у нас получи-
лись сани. А что, если поменять металлическую платформу на чан с кипя-
щим супом? Теперь у нас не повозка, а мобильный источник пищи в усло-
виях замерзшей тундры. Меняя мельчайшие составные части концепции,
можно кардинально изменить всю концепцию в целом. Опять же, сгенери-
рованные таким образом идеи могут и не стать выигрышными, но мысли-
тельный процесс разложения объекта на составляющие может привести
к прорыву.

Будущее в прошлом
Метод будущего в прошлом лучше всего подходит в том случае, когда име-
ется конкретная проблема, требующая решения. Согласно этому методу
сначала излагают проблему, а затем кто-то предлагает расплывчатое, слу-
чайное или даже намеренно неправильное решение. Метод заключается
не в том, чтобы определить, сработает ли решение, а в том, чтобы предста-
вить, будто вы находитесь в будущем и знаете, что решение действитель-
но сработало. Теперь нужно выяснить, как оно сработало. Люди, как пра-
вило, слишком сильно задумываются о том, будут ли идеи работать, и это
мешает им сосредоточиться на том, каким образом идеи могут работать.
Метод будущего в прошлом особенно силен, и его можно использовать
для решения проблем во многих сферах. Допустим, вы поставили себе це-
лью вырастить свою компанию из стартапа в гараже до процветающей ин-
ди-студии. Один из способов приступить к решению этой задачи —  пред-
ставить, что вы оказались в будущем, где работаете в этой процветающей
студии. Как вы пришли к такой ситуации? Подумайте, какие шаги вы мог-
ли предпринять, чтобы пройти путь от настоящего до будущего, в котором
хотите оказаться. Переформулировав вопрос с «Возможно ли это?» на «Как
это станет возможным?», вы, вероятно, кардинально измените свое пред-
ставление о проблеме.

Метод итеративных шагов


Метод итеративных шагов заключается в  том, чтобы взять известную
идею и спросить: «Что очень близко к этому?» В группе вопрос обсуждает-
ся по очереди, от одного участника к другому. Лучше всего не задумывать-
ся, а говорить первое что приходит в голову. Такой метод может привести
к странным решениям, но он же и дает довольно интересные результаты.
178 ГЛАВА 8 РАЗРАБОТКА НОВЫХ ИДЕЙ

Предположим, что вы решили начать с идеи «лошади». Итеративные


шаги могут при этом выглядеть примерно следующим образом.

1. Лошадиная сила.
2. Автомобиль на мускульной тяге.
3. Мидии (моллюски, сжимающие мышцами створки).
4. Паста с морепродуктами.
5. Ужин с мамой.
6. Семейная драма.
7. Семейная комедия.
8. Телевидение.
9. Рейтинги.

Можно продолжать до бесконечности.


Метод итеративных шагов отлично работает и тогда, когда нужно из-
бавиться от шаблонов. Если группа застряла на надоевшей идее, то выйти
из колеи поможет метод итеративных шагов, начиная с небольших изме-
нений с постепенным переходом к свежим новым идеям. Рассмотрим дру-
гой пример, более связанный с играми. Шаги могут выглядеть следующим
образом.

1. Курение травы для поиска сокровищ.


2. Поиски сокровищ с помощью копченой на дыме от травы говядины.
3. Копчение говядины с целью найти себя.
4. Хранение пепла от травы в горшках.
5. Вопрос, зачем вообще нужны пепел и горшки.
6. Вопрос, почему вы разбиваете горшки.
7. Нормально ли с моральной точки зрения для героя разбивать горш-
ки крестьян?
8. Наказание и возмещение за разбитые горшки.
9. Баланс между наказанием за разбитый горшок и наградой за горшок
с сокровищами.

Ужасно глупый список, но  он работает! Здесь перечислено множе-


ство интересных взаимодействий. Пусть ни одна идея не окажется полез-
ной, но, по крайней мере, здесь есть какие-то подсказки, что вам нужно.
МЕТОДЫ ПОВЫШЕНИЯ КРЕАТИВНОСТИ 179

По крайней мере, вы не будете по умолчанию следовать скучному старо-


му шаблону.

Метод «на полпути»
Методом «на полпути» можно воспользоваться, когда у вас есть две совер-
шенно разные идеи. Это своего рода противоположность методу итера-
тивных шагов. В данном случае цель заключается не в том, чтобы отойти
как можно дальше от первоначальной точки, а в том, чтобы найти вообра-
жаемую несуществующую точку между двумя известными идеями. Если
в ходе мозгового штурма были сгенерированы идеи, не имеющие между
собой ничего общего, можно рассмотреть сразу пару этих идей и  попы-
таться выяснить, что будет на полпути между двумя идеями. Вот несколь-
ко примеров пар идей, с которыми вы можете попрактиковаться:

 шутер от первого лица и симулятор фермерства;


 гоночный автомобиль и гоночная лошадь;
 меч и щит;
 система крафта и система урона.

Попробуйте! При необходимости для каждой пары дайте несколько ре-


шений. Можно даже попросить каждого участника записать свое реше-
ние, а  затем предложить всем одновременно раскрыть ответы и  посмо-
треть, насколько велики различия. Как и в случае с другими описанными
в этой главе методами, чем глубже вы будете копать, тем больше вероят-
ность того, что вы найдете настоящий алмаз.

Метод противоположностей
При использовании метода противоположностей начинают с темы и пы-
таются придумать противоположную этой теме идею. Затем берут новую
идею и  придумывают противоположность уже для нее с  той оговоркой,
что первый пункт выбирать нельзя. Занятие это непростое, но оно дает
очень интересные результаты. По сути, оно чем-то напоминает перевод
текста (например, с помощью Google Translate) по цепочке с одного языка
на другой и на последующие, а в конце переводят на самый первый язык.
В итоге редко получается то, с чего начиналось; результаты бывают забав-
ными, часто очень разными и интересными.
180 ГЛАВА 8 РАЗРАБОТКА НОВЫХ ИДЕЙ

Предположим, что вы начали использовать метод противоположностей


с идеи пистолета. Вот что можно получить за четыре прохода.

1. Цветок (мир вместо войны).


2. Овца (поедатель растений вместо растения).
3. Гвозди (шипастые, а не мягкие).
4. Молоток (забивает гвозди).

Можно продолжать сколько угодно. Опять же, этот метод дает больше


отходов, чем алмазов, но это не главное. Главное — получить хотя бы один
алмаз любым способом.

Случайные связи
Классический метод случайных ассоциаций — еще один способ сдвинуть
мозговой штурм с мертвой точки. Начните с одной из ваших идей или тем,
и добавляйте случайные слова, используя генератор случайных слов или
старый добрый словарь. После перечислите, чем эти идеи похожи и чем
они отличаются. Будьте конкретны. Этот метод не всегда приносит сокро-
вища, но часто дает удивительные результаты.

Запись потока сознания


Если после использования описанных методов вам все еще трудно генери-
ровать идеи или вы просто хотите получить больше идей (их никогда не бы-
вает слишком много), можно попробовать записывать поток сознания. Для
этого возьмите карандаш с бумагой и поставьте таймер на 2 минуты. Та-
кой промежуток времени может показаться очень коротким, но в процес-
се он покажется вам намного длиннее. Начните писать сразу же, как за-
пустится таймер. Писать можно, что угодно. Лучше всего подходят идеи,
но ничего запретного нет. Единственное правило —  вы должны активно
писать все 120 секунд, без пауз, без перерывов, без исправлений, без раз-
мышлений и без разговоров. Просто пишите в течение 2 минут. Если вам
вообще в голову не приходят никакие мысли, так и пишите. Старайтесь
как можно чаще менять темы в голове и не зацикливайтесь на составле-
нии списков связанных между собой пунктов. Скорее всего, к тому време-
ни, как таймер остановится, у вас уже будет несколько «самородков». Если
записи не принесли ничего полезного, то это тоже нормально. При добыче
алмазов всегда перелопачивается очень много руды.
ДАЛЬНЕЙШИЕ ШАГИ 181

примечание
Все описанные в  этом разделе методы помогут прервать затянув-
шуюся сессию и заставить людей снова думать об идеях. Держите
список этих методов под рукой. Если вы заметите, что сессия зашла
в  тупик и  ее нужно подтолкнуть, можно воспользоваться одним
из  них. Однако важно при этом придерживаться некоторых огра-
ничений. Прежде всего, не  следует превращать мозговой штурм
в коллективную игру, предназначенную для того, чтобы развлечься
и убить время, а не генерировать идеи. Если сессия проходит хорошо
и  идеи сыплются с  самого начала, просто расслабьтесь, при необ-
ходимости мягко направляйте поток и наслаждайтесь. В опытной
команде у  модератора, возможно, вообще не  будет много работы,
и это замечательно!

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

 Проведите одиночный мозговой штурм. Выберите узкую тему, напри-


мер игровую механику, над которой вы работаете, и пройдите все эта-
пы мозгового штурма, чтобы посмотреть, что из этого получится.
 Проведите групповой мозговой штурм. Соберите несколько друзей
и испробуйте описанные в этой главе методы. Можно выбрать любую
тему, но полезнее всего будет та, что связана с игрой. Во многих сеансах
мозгового штурма нет необходимости проходить все этапы и пробовать
все методы, но для тренировки попробуйте все. Так вы ознакомитесь
с каждым шагом и методом без реального давления, связанного с необ-
ходимостью получить хотя бы какие-то результаты.
ГЛ А В А 9

АТРИБУТЫ:
КАК ВЫРАЗИТЬ ЖИЗНЬ
НА  ЯЗЫКЕ ЦИФР

Одна из наиболее распространенных задач,


решаемых гейм-дизайнерами на начальном
этапе, — это создание атрибутов для игровых
объектов. Игровой объект можно определить
как любой отдельный объект в игре, который
что-то делает. Это может быть нечто простое,
например блок земли, имеющий текстуру
и модель столкновения, а также нечто сложное,
вроде персонажа с огромным количеством
атрибутов, анимаций, 3D-моделей и т. д.
184 ГЛАВА 9 АТРИБУТЫ: КАК ВЫРАЗИТЬ ЖИЗНЬ НА ЯЗЫКЕ ЦИФР

Механики и атрибуты
Игровые объекты можно определять с  помощью атрибутов и  механик.
Проще говоря, механики  —  это правила, регулирующие использование
объектов, а атрибуты —  это значения, влияющие на эти правила. В прак-
тическом смысле, что касается видеоигр, механика требует некоторого
количества программного кода, тогда как атрибуты представлены в виде
значений (данных). В настольной игре механики требуют правил или их
комбинаций, а атрибуты представлены в виде значений.
Рассмотрим простую аналогию, иллюстрирующую взаимосвязь меж-
ду механиками и атрибутами. В игре объекты данных и атрибуты функ-
ционируют как существительные в письменной речи, а механики —  как
глаголы. Можно продолжить эту аналогию и сказать, что микросистемы
представляют собой аналог предложений, макросистемы —  аналог глав,
а игры —  аналог рассказов и книг. Основные строительные блоки всегда
состоят из существительных и глаголов или, в случае с играми, из данных
и механик.
Вспомним шахматы. Можно утверждать, что каждая клетка доски — 
это объект. Некоторые правила шахмат определяют порядок расстановки
фигур по клеткам. Кроме того, каждая фигура — тоже объект. Все эти объ-
екты имеют собственные механики и атрибуты.
Король и  ферзь в  шахматах имеют механику, согласно которой они
во время хода могут двигаться в любом из восьми направлений. Однако
король может передвигаться только на одну клетку, если путь свободен,
а ферзь —  на любую клетку от одной до восьми, если путь свободен. Та-
ким образом можно сказать, что атрибут движения короля —  это 1, при
том, что механика подразумевает, что клетка должна быть свободной,
а у ферзя атрибут движения —  это 8 с той же механикой передвижения.
У короля также есть дополнительные механики, касающиеся шаха и мата,
но ни одна из них не имеет соответствующего атрибута; каждая из них яв-
ляется простой механикой.
Рассмотрим теперь немного более сложный пример: классическую
аркадную игру Galaga. Космический корабль игрока имеет несколько
механик: он может двигаться из  стороны в  сторону, стрелять снаряда-
ми по вражеским кораблям и получает урон при столкновении с враже-
ским кораблем или снарядом. Космический корабль игрока также име-
ет несколько атрибутов, которые управляют этими механиками, включая
скорость перемещения, скорость стрельбы и очки попадания. Не меняя
СОСТАВЛЕНИЕ СПИСКА АТРИБУТОВ 185

механики, можно значительно повлиять на игровой процесс, манипули-


руя атрибутами. Представьте, что произойдет, если замедлить игрового
персонажа (ИП) и заставить его двигаться в два раза медленнее, чем рань-
ше. Насколько сложнее станет игра? А теперь представим, если бы ИП мог
стрелять в десять раз быстрее, чем обычно. Каждое из этих изменений ат-
рибутов не потребовало бы изменения правил игры, но оказало значитель-
ное влияние на геймплей.

Составление списка атрибутов


Для очень простой игры игровой объект может иметь только один атрибут
или даже вовсе не иметь атрибутов. Например, у шашек нет функциональ-
ных атрибутов, потому что все фигуры ведут себя совершенно одинаково.
В более сложных играх объекты могут иметь десятки атрибутов —  неко-
торые из них видны игроку, некоторые скрыты, а некоторые определяют-
ся с помощью вычислений.
Первый шаг в  создании атрибутов  —  внимательное изучение объек-
та, который вы хотите определить. Такое наблюдение можно делать еще
до создания механики, и иногда оно даже помогает определить, что вам
будет нужно. Подумайте обо всех аспектах этого объекта, которые могут
отличаться от одного экземпляра к другому. Рассмотрим пример создания
атрибутов для объекта — довольно абстрактного изображения «человека»,
показанного на иллюстрации 9.1.

Иллюстрация 9.1. Абстрактная фигура человека


186 ГЛАВА 9 АТРИБУТЫ: КАК ВЫРАЗИТЬ ЖИЗНЬ НА ЯЗЫКЕ ЦИФР

Начальный мозговой штурм


Первым делом можно просто записать то, что быстро приходит на  ум.
Какие могут быть у  людей атрибуты, меняющиеся от  одного человека
к другому? Ниже перечислены некоторые очень очевидные из них, какие
можно придумать навскидку:

 рост  возраст
 вес  процент жира в организме
 объем талии  сила
 размах рук  ловкость
 размер обуви  скорость
 размер головного убора  интеллект
 кровяное давление  богатство
 частота сердечных сокращений  умение танцевать

Мозговой штурм «с фантазией»


После перечисления самых очевидных атрибутов, которые сразу приходят
на ум, можно перейти в стадию мозгового штурма «с фантазией». На этом
этапе записываются любые предложения, даже самые абсурдные. Напри-
мер, к списку можно добавить следующие атрибуты:

 магические способности  зловоние


 магнетизм личности  неуклюжесть
 чувство юмора  удача

На этом этапе нужно придумать как можно больше атрибутов. Количе-


ство здесь важнее качества. Чуть позже можно будет отсеять то, что вам
не понадобится или не подходит. Продолжая определять объекты, люди,
как правило все более сосредотачиваются и концентрируются на каких-то
отдельных идеях. Поэтому так важно воспользоваться этой ранней стади-
ей фантазии ради креативности и открытости перед новым. На этом этапе
определения атрибутов можно воспользоваться методами, описанными
в главе 8 «Разработка новых идей».
СОСТАВЛЕНИЕ СПИСКА АТРИБУТОВ 187

Исследование атрибутов
После того как будет составлен большой список как основных, так и более
креативных атрибутов, можно перейти к следующему этапу их создания,
а именно к исследованию. Настоятельно рекомендуется делать это после
креативного этапа, потому что в ходе исследования у вас сформируется
какое-то определенное представление о том, какими «должны быть» эти
объекты, основанные на наблюдениях других. Опираться на реальность
неплохо, как и неплохо разбираться в том, что представляют собой описы-
ваемые объекты, но ожидания и сформированное заранее мнение обычно
подавляют творчество. Поэтому заниматься исследованием следует толь-
ко после того, как вы записали все свои творческие идеи.
Для абстрактного объекта «человек» понадобится исследовать две кате-
гории атрибутов: те, что определяют людей в реальном мире, и те, которые
другие люди использовали для определения людей в существующих играх.

Исследование реальных атрибутов


Ценным источником для исследования реальных атрибутов служит Ин-
тернет. Например, при исследовании объекта «человек» можно обратиться
к сайтам с общими статистическими данными по группам людей, напри-
мер к сайтам, посвященным физическим упражнениям, диетам, медици-
не, социальным исследованиям, демографии. На данном этапе не нужно
интересоваться результатами и выводами этих источников; важны толь-
ко атрибуты, которые они изучают. Кроме того, вам вряд ли понадобят-
ся слишком подробные описания атрибутов, вроде тех, что можно найти
в учебниках по медицине, поэтому их можно упростить.
Опираясь на  данные о  реальном мире, можно составить следующий
список:

 уровень кислорода в крови  нейроны мозга


 вес для жима лежа  способность слышать
 вес для разгибания бицепса  время забега на 100 метров
 вес для приседаний  время для марафонской дистан-
 функция поджелудочной ции
железы  скорость подачи в бейсболе
 функция почек  дальность удара в футболе
 кислотность желудка  острота зрения
188 ГЛАВА 9 АТРИБУТЫ: КАК ВЫРАЗИТЬ ЖИЗНЬ НА ЯЗЫКЕ ЦИФР

Список может получиться огромнейшим. Вам как разработчику сле-


дует определить уровень детализации и количество атрибутов. Хорошее
практическое правило —  включать в список по крайней мере вдвое боль-
ше того, что, по вашему мнению, может пригодиться. Так у вас появится
выбор для составления окончательного списка.

Исследование атрибутов существующих игр


Далее вы можете изучить уже существующие игры, чтобы узнать, какие
атрибуты они используют для определения «человека»; если вы найдете
такие, какие еще не включили в свой список, запишите их. Для такого ис-
следования следует начинать с игр схожих жанров с объектами, похожи-
ми на те, которые создаете вы. Данный этап намеренно проводится ближе
к концу мозгового штурма, поскольку он, скорее всего, ограничит вашу
креативность. Копировать то, что сделали другие, легко, и бывает очень
соблазнительно остановиться только на этом. Если же вы займетесь таким
исследованием только в конце процесса, то у вас уже будет достаточно сво-
их оригинальных идей.
На основе исследований игр можно выделить следующие атрибуты «че-
ловека»:

 телосложение  дух
 мудрость  рукопашный бой
 акробатика  точность стрельбы
 магия  лидерство
 проницательность  скорость передвижения
 способность к устрашению  способность переносить тяжести

Обращение к своему личному «банку атрибутов»


Последний шаг в процессе составления списка атрибутов — обращение
к своему личному «банку атрибутов». Когда вы только начнете составлять
список атрибутов, у вас еще не будет такого банка, но он быстро появится
и расширится. У каждого гейм-дизайнера имеется какой-то формальный
или неформальный «банк», к которому он обращается при создании новых
объектов. Это список атрибутов, которые гейм-дизайнер использовал мно-
го раз для различных объектов во многих играх. Поскольку в него могут
попасть какие угодно атрибуты, то, вероятно, многие из них не подойдут
ОПРЕДЕЛЕНИЕ АТРИБУТА 189

к  какому-то новому объекту, который вы попытаетесь определить. Тем


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

примечание
Банк атрибутов похож на «шведский стол идей», и их можно даже
объединить в одном документе. Но он включает в себя только атри-
буты, а не идеи в целом.

Определение атрибута
Обратите внимание на  то, что во  всех списках приведенных в  этой гла-
ве атрибутов каждый представляет собой одно слово или очень короткую
фразу. При придумывании новых идей это полезно, потому что попытка
точнее определить каждый атрибут на этапе мозгового штурма только за-
медлит процесс и, скорее всего, подавит креативность. Но чтобы сделать
атрибуты полезными, необходимо пойти дальше и дать им более четкое
определение. Как  же его определить? Возьмем для примера такой атри-
бут, как «сила». Что такое сила? На первый взгляд вопрос кажется простым.
Глядя на разных людей, часто можно сразу догадаться, что один человек
сильнее другого. Но сфера дизайна игровых механик и атрибутов требует
большей точности. При создании игры нужно также абстрагировать кон-
цепцию, потому что реальный атрибут, скорее всего, будет слишком слож-
ным, чтобы назначить ему какое-то одно значение.
На данный момент, когда пишется эта книга, мировой рекорд по жиму
лежа, установленный Кириллом Сарычевым, составляет 335 килограммов.
Очевидно, что Сарычев очень силен. Мировой рекорд в приседе, установ-
ленный Йонасом Рантаненом, составляет 575 килограммов. Очевидно, что
Рантанен тоже очень силен. Но кто из них сильнее? Сарычев не может при-
седать с таким весом, как Рантанен, а Рантанен не может выжимать как
Сарычев. Не существует какого-то одного простого параметра, который
измеряет силу. Вам нужно решить, что именно будет подразумеваться под
атрибутом «сила» в вашей игре.
Чтобы уточнить определение атрибута «сила» для игры, нужно четко
знать, для чего этот атрибут в ней используется. Допустим, в вашей игре
190 ГЛАВА 9 АТРИБУТЫ: КАК ВЫРАЗИТЬ ЖИЗНЬ НА ЯЗЫКЕ ЦИФР

персонажи соревнуются в метании бревна (иллюстрация 9.2). Для мета-


ния бревна нужны сильные ноги, но  еще большее значение имеет сила
верхней части тела. Определяя атрибут «сила», нужно определить его кон-
кретно в игре. В данном примере это можно сделать следующим образом:

Максимальный вес бревна, который игрок может успешно бросить с пе-


реворотом.

Это определение довольно короткое, потому что игра очень простая


и  механически ограниченная. Для более сложной игры, включающей
больше взаимодействий, потребуется более подробное определение атри-
бута и более подробное описание того, как он взаимодействует с механи-
ками игры. Но в такой простой игре лучше быть проще.

Авторство: Vineyard Perspective/Shutterstock

Иллюстрация 9.2. Метание бревна


ОПРЕДЕЛЕНИЕ АТРИБУТА 191

Теперь, воспользовавшись этим своим определением силы, вы можете


определить, кто из двух персонажей сильнее. Если бы мы, допустим, на ос-
новании этого определения захотели сравнить Сарычева и  Рантанена,
то смогли бы предположить, что, несмотря на огромную силу обоих, Сары-
чев с более сильной верхней частью тела будет бросать бревно успешнее.
Исходя из этого в рейтинге персонажей Рантанену можно было бы задать
показатель силы в 99 единиц из 100 (он же все-таки очень силен), а Ки-
риллу —  100 из 100, потому что для данной игровой механики он самый
сильный. Если бы в игре нужно было толкать тяжелые предметы ногами,
значения атрибутов этих игроков, скорее всего, поменялись бы местами.

Что следует принимать во внимание при определении


атрибута
В ходе мозгового штурма и исследований для определенного объекта дан-
ных можно выявить десятки или даже сотни атрибутов. На  начальном
этапе процесса полезно составить как можно более длинный их список.
Но  на  последующих этапах его нужно будет отсортировать и  подумать,
какие из атрибутов действительно будут в игре.
Каждый атрибут должен как-то использоваться. Каждый выбран-
ный атрибут должен что-то делать в игре. В главе 7 «Как на основе реаль-
ной жизни создать систему» я сказал, что игры —  это абстракции жизни.
Атрибуты — это тоже абстракции и упрощения жизни. Поэтому многие ат-
рибуты какого-то конкретного объекта для конкретной создаваемой игры
не нужны. Простой тест для проверки атрибута —  подумать, для чего он
будет использоваться в вашей игре. Например, если вы создаете гоночную
игру, то можно назначить атрибут для объема багажника, но будет ли он
как-то использоваться? Скорее всего, нет, поэтому он не нужен, и от него
нужно отказаться. Это первый и  самый важный тест, который следует
применять ко  всем предлагаемым атрибутам игровых объектов. Описа-
ние атрибута также должно включать в себя предполагаемое использова-
ние в механиках.
Атрибуты должны быть тесно связаны с механиками. Каждый ат-
рибут должен быть связан с механиками. Если, допустим, у вас есть пер-
сонаж с  атрибутом силы, то  нужно связать этот атрибут с  механикой,
в  которой он будет использоваться, такой как бой, переноска тяжестей,
выносливость или сопротивление урону. Хорошее практическое правило
при сортировке атрибутов —  привязка каждого предлагаемого атрибута
192 ГЛАВА 9 АТРИБУТЫ: КАК ВЫРАЗИТЬ ЖИЗНЬ НА ЯЗЫКЕ ЦИФР

к механике игры. От этого можно отталкиваться и при создании атрибу-


тов — подумать о том, какие из них нужны для работы механик.

Группировка атрибутов
Закончив составление списка атрибутов и работу над их определениями,
вы, скорее всего, придете к мысли о том, что многие определения и атри-
буты излишни и не нужны для вашей игры. Следующий шаг в этом про-
цессе —  не исключать ненужные атрибуты, а сгруппировать их. Так вы
получите более четкое представление о том, что же на самом деле означа-
ют ваши абстрактные атрибуты. В простой экшен-игре вам, вероятно, за-
хочется иметь немного атрибутов, чтобы игроку было легче понять игру.
Допустим, вы решили использовать только следующие атрибуты:

 сила
 ловкость
 здоровье
 скорость

Теперь можно сгруппировать ранее составленный в результате исследо-


ваний список по категориям. Список может получиться примерно таким:

 сила
 вес для жима лежа  дальность удара в футболе
 вес для разгибания бицепса  рукопашный бой
 вес для приседания  переноска тяжестей
 скорость подачи в бейсболе
 ловкость
 слух  акробатика
 острота зрения  точность стрельбы
 здоровье
 кровяное давление  функция поджелудочной же-
 пульс лезы
 уровень кислорода в крови  функция почек
 кислотность желудка
ГРУППИРОВКА АТРИБУТОВ 193

 скорость
 время забега на 100 метров
 время для марафонской дистанции
 темп движения
 неиспользованные
 рост  чувство юмора
 вес  зловоние
 объем талии  неуклюжесть
 размах рук  удача
 размер обуви  нейроны мозга
 размер шапки  телосложение
 возраст  мудрость
 процент жира в организме  магия
 интеллект  проницательность
 богатство  способность к устрашению
 магические способности  дух
 магнетизм личности  лидерство

Обратите внимание, что атрибуты, перечисленные в  разделе «неис-


пользуемые», сами по себе не плохие, но они не подходят для наших теку-
щих нужд. Неплохо будет занести их в свой банк атрибутов для использо-
вания в других играх.
В этом окончательном списке также стоит обратить внимание на то, что
атрибут рукопашного боя (то есть способность к рукопашному бою) ука-
зан в категории силы, а атрибут акробатики (то есть способность к прыж-
кам, сальто и  другим движениям)  —  в  категории ловкости. В  реальном
мире они довольно тесно связаны. Многие приемы ближнего боя требу-
ют акробатических способностей, а многие акробатические приемы очень
похожи на те, которые можно увидеть в ближнем бою. Так почему же они
сгруппированы в две отдельные категории? Подобные противоречия ча-
сто возникают при создании и  организации атрибутов объектов. Реаль-
ный мир очень сложен, и часто даже простые действия можно классифици-
ровать несколькими способами. Как гейм-дизайнеру вам часто придется
принимать решения о том, как именно классифицировать атрибуты. Со-
здавая игру, вы создаете свою собственную маленькую вселенную правил,
194 ГЛАВА 9 АТРИБУТЫ: КАК ВЫРАЗИТЬ ЖИЗНЬ НА ЯЗЫКЕ ЦИФР

и вы — божество этой вселенной. Попытавшись очень точно распределить


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

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

 Проанализируйте атрибуты нескольких игр в схожем жанре, например


ролевых игр (RPG) или шутеров от первого лица. Перечислите все атри-
буты для каждого персонажа и предмета. Какие атрибуты встречают-
ся чаще всего? Как вы думаете, почему гейм-дизайнеры посчитали, что
игре нужны именно эти атрибуты?
 Проведите практический мозговой штурм, чтобы придумать атрибу-
ты для некоторых игровых объектов. Это могут быть любые объекты
по вашему выбору, но вот несколько примеров для начала: корова, пал-
ка, космический корабль и банан.
 Начните пополнять свой собственный банк атрибутов с тех, которые
вы придумали в предыдущем упражнении. Запишите краткое опреде-
ление каждого и то, как они могут использоваться в различных игро-
вых механиках. Храните этот банк в доступном месте и пополняйте его
по мере появления новых идей.
ГЛ А В А 10

ОРГАНИЗАЦИЯ ДАННЫХ
В  ЭЛЕКТРОННЫХ
ТАБЛИЦАХ

По мере создания атрибутов для игровых


объектов их необходимо упорядочить
и в итоге проанализировать. Лучшее место для
этого — электронная таблица. Возможно, для
очень маленькой игры она и не потребуется,
но даже чуть более сложные игры почти
всегда выигрывают от того, что их данные
упорядочивают и анализируют в электронной
таблице. Организовать и использовать новую
рабочую книгу и тем самым облегчить процесс
создания игровых данных вам помогут некоторые
лучшие из практических методов. В этой главе
рассматриваются некоторые из этих методов.
196 ГЛАВА 10 ОРГАНИЗАЦИЯ ДАННЫХ В ЭЛЕКТРОННЫХ ТАБЛИЦАХ

Создание электронной таблицы для чтения


другими людьми
Одна из самых больших ошибок, которую допускают начинающие гейм-
дизайнеры при создании новой рабочей таблицы, —  это то, что они сра-
зу с  головой погружаются в  работу, составляя большие списки персона-
жей, оружия, транспортных средств и других объектов, но не задумываясь
о том, как эту таблицу будут воспринимать другие люди (или даже они
сами позже). Потратив несколько минут на планирование того, что вы хо-
тите сделать с  электронной таблицей, и  решив, как она будет использо-
ваться, вы сэкономите много часов на сортировке массы данных, которые
иначе превратились бы в беспорядочную мешанину.
Один из способов убедиться в том, что при создании электронной таб-
лицы вы двигаетесь в верном направлении, —  взглянуть на нее с точки
зрения стороннего наблюдателя. Если бы у вас в команде появился новый
человек, то как бы он воспринял эту рабочую книгу и содержащиеся в ней
данные? Поймет  ли он, почему для атрибутов указаны такие значения?
Потратив время на организацию данных в процессе работы, вы сделаете
таблицу более понятной. Вы же не хотите, чтобы ваш помощник увидел
непонятный список названий и чисел без заголовков, или, что еще хуже,
несколько таблиц данных для объектов разного типа, налепленных друг
на друга на одном листе.

Старайтесь не вводить числа


По возможности используйте в электронных таблицах ссылки и не вводи-
те числа напрямую. Допустим, в вашей игре есть параметр гравитации,
которая влияет на импульс прыжка персонажа, движение снаряда или пе-
ремещение транспортного средства. Даже если переменная для гравита-
ции представляет собой простое однозначное число, которое легко запо-
мнить, не стоит вводить это число для всех нужных расчетов. Вместо этого
поместите переменную в маркированную ячейку, например на справоч-
ном листе (см. раздел «Справочный лист» далее в этой главе). Затем вез-
де, где понадобится эта переменная, ссылайтесь на нее по названию. Если
число, связанное с переменной, в дальнейшем поменяется, то все исполь-
зующие его уравнения будут автоматически обновлены. Не обманывайте
себя, думая, что это число никогда не изменится. В процессе тестирования
МАРКИРОВКА ДАННЫХ 197

и итераций по той или иной причине может измениться практически лю-


бое число в любой игре. Лучше заранее подготовиться к переменам, но так
и не поменять его, чем поменять, когда вы к этому не готовы.
Кроме того, старайтесь не производить расчеты в голове, даже самые
простые. Допустим, у вас есть гоблин, сила которого равна 2. Также у вас
есть орк, сила которого должна быть вдвое больше, чем у гоблина. Может
возникнуть соблазн ввести 4 в качестве атрибута силы для орка, но не де-
лайте этого! Вместо этого потратьте несколько лишних секунд, чтобы
создать ссылку на атрибут силы гоблина и формулу, умножающую силу
гоблина на 2. По возможности сделайте еще один шаг и создайте ячейку,
содержащую «множитель силы орка к силе гоблина» со значением 2.
Затем можно умножить содержимое ячейки значения множителя
на силу гоблина, чтобы получить силу орка. Если потратить дополнитель-
ное время на использование ссылок, то в конечном счете процесс пересмо-
тра данных значительно ускорится, и в нем будет меньше ошибок.
При первом вводе данных вероятность того, что они останутся неиз-
менными, крайне мала. Гейм-дизайнер должен рассчитывать на  то, что
ему придется пересматривать данные раз пять или более; вполне обыч-
ное дело —  несколько десятков пересмотров и итераций. Если в  какой-то
момент вам потребуется вернуться к прежним данным и найти каждую
переменную, на  которую влияют свежие обновления, вы столкнетесь
с  массивом устаревших, разветвленных или просто неработающих чи-
сел. Поэтому дополнительные шаги по созданию ссылок и маркировке пе-
ременных пусть и займут какое-то время на начальном этапе, но позво-
лят вам сэкономить огромное количество времени в процессе пересмотра
и итераций.

Маркировка данных

Иллюстрация 10.1. Выполнение вложенной функции


198 ГЛАВА 10 ОРГАНИЗАЦИЯ ДАННЫХ В ЭЛЕКТРОННЫХ ТАБЛИЦАХ

На  иллюстрации 10.1 показана затруднительная ситуация, с  которой


можно столкнуться при попытке устранить возникшую проблему. Видно,
что с формулой что-то не то, но что именно? Что должна делать эта формула?
Для какой части данных она используется? Действительно ли она полезна?
Проблемная эта формула по нескольким причинам. Во-первых, ячейка B2,
в которой находится проблемная формула, не маркирована. Для нее можно
было бы создать метку или заголовок в ячейках A2 или C2; можно было бы
также пометить ее примечанием или даже комментарием. Метка бы поясни-
ла, что здесь происходит, для чего нужна эта формула и почему она возвраща-
ет ошибку «REF!», но сейчас понять это не представляется возможным.
Во-вторых, уж слишком много всего происходит в одной-единственной
ячейке. Виновником ошибки может быть любая из  многих частей этой
формулы, но трудно проверить их все сразу. Электронная таблица может
только сказать, верна ли формула или функция в целом; она не может со-
общить что-то об отдельных частях формулы или функции. Чтобы отла-
дить такую гигантскую формулу, нужно либо действовать методом проб
и ошибок, либо разбить ее на части и проверить каждую. Разбив формулы
на части и пометив их, вы значительно облегчите процесс отладки и устра-
нения проблем с каждой отдельной ячейкой. Кроме того, так электронная
таблица будет предоставлять более качественную обратную связь, благо-
даря чему можно будет понять, что именно представляет собой проблему.

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

Проверяйте данные
По возможности проверяйте данные. Например, если в столбце перечис-
ляются имена персонажей, можно установить проверку данных и сделать
так, чтобы ячейки принимали только текст. Если есть столбец для атрибу-
та силы, то можно сделать так, чтобы он принимал только числа. В идеа-
ле нужно пойти дальше и сделать так, чтобы столбец для силы принимал
только числа в том диапазоне, который вы определили допустимым для
атрибута силы. Если персонажа можно экипировать именным оружием,
то нужно установить ввод значения в ячейку из списка названий оружия.
ИСПОЛЬЗУЙТЕ СТОЛБЦЫ ДЛЯ АТРИБУТОВ И СТРОКИ ДЛЯ ОБЪЕКТОВ 199

В написании слов очень легко ошибиться, а еще можно перефразировать


текст так, что он будет выглядеть правильно, но не станет работать при по-
следующем анализе данных. Проверка (валидация) данных в электронной
таблице поможет вам избежать проблем, возникающих при таких ошибках.
Валидация необходима, если вы сами заносите все данные, но еще бо-
лее она важна, если вы работаете над ними вместе с группой. Очень важно,
чтобы все вводящие данные люди знали, для чего предназначена каждая
конкретная ячейка, и чтобы они вводили только технически корректные
данные. Возможно, так вы и  не устраните полностью опечатки и плохой
ввод данных, но сократите количество случаев, когда приходится переде-
лывать целые листы данных или когда отдельные некорректно введенные
атрибуты приводят к сбою игры.

Используйте столбцы для атрибутов


и строки для объектов
На иллюстрации 10.2 показан список атрибутов для некоего множества
фантастических существ. Обратите внимание, что в столбце А содержится
список существ, которые являются объектами данных. В каждом столбце,
начиная с  B, перечислены отдельные атрибуты (с  сокращенными назва-
ниями для удобства организации таблицы на листе).
Технически ничто не мешает расположить объекты данных в столбцах,
а атрибуты —  в строках, но делать так не рекомендуется. Причина — про-
стая традиция. Использовать для отслеживания данных в играх компьютер-
ные электронные таблицы разработчики начали довольно давно, еще годах
в 1980-х. Тогда предполагалось, что в итоге эти таблицы данных будут рас-
печатаны на бумаге. У большинства игр, созданных в те дни, было больше
объектов данных, чем атрибутов этих объектов. Имело смысл организовать
лист таким образом, чтобы каждый объект данных имел свою собственную
строку и  мог расположиться на  нескольких страницах в  портретной ори-
ентации, а атрибуты были ограничены шириной страницы. Традиция при-
жилась, и с тех пор принято располагать объекты данных в строках, а атри-
буты в столбцах, хотя современные компьютеры вполне способны работать
в любом варианте. Кроме того, по мере развития игровых движков для им-
порта объектов данных в игру, эти движки использовали существующее со-
глашение о строках для объектов, закрепляя эту традицию в качестве «пра-
вильного способа» импорта данных. Пусть технически правильного способа
200 ГЛАВА 10 ОРГАНИЗАЦИЯ ДАННЫХ В ЭЛЕКТРОННЫХ ТАБЛИЦАХ

разметки электронной таблицы и нет, есть практический правильный спо-


соб: объекты данных располагаются в строках, а атрибуты —  в столбцах.

Иллюстрация 10.2. Игровые данные

Цветовое кодирование
Никакого официального метода или стандарта цветового кодирования
для электронных таблиц в  игровой индустрии не  существует. Цветовая
кодировка в игровые движки не импортируется, но она поможет вам в ор-
ганизации и визуализации данных. В отсутствие стандарта цветового ко-
дирования вам придется самим придумать правила.

Иллюстрация 10.3. Пример схемы цветового кодирования

Главное в  цветовом кодировании электронной таблицы — оно должно


быть маркированным и  последовательным. На  иллюстрации 10.3 пока-
зан один пример схемы цветового кодирования, но это всего лишь пример.
ЦВЕТОВОЕ КОДИРОВАНИЕ 201

Эффективными бывают различные схемы. Если определить схему цветового


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

 Белый на черном для заголовков. Заголовки, которые обычно идут


вдоль первой строки, —  это основные метки для атрибутов или кате-
горий. Белое на черном очень хорошо визуально выделяется и хорошо
отображается на черно-белом принтере.
 Рыжевато-коричневый. Ячейки ввода данных предназначены для из-
менения в целях настройки. Данные в этих ячейках — это всегда числа
или текст и никогда формулы или функции.
 Зеленый цвет для формул. В этой схеме зеленые ячейки содержат фор-
мулы или функции, которые ссылаются на данные в других местах ра-
бочей книги или могут выполнять самостоятельные вычисления, на-
пример NOW(). Ввод данных в эти ячейки нарушит вычисления.
 Синий цвет для дополнительных ярлыков. Дополнительные ярлыки
или подзаголовки используются для второстепенных категорий. Назва-
ния отдельных объектов данных часто выделяются синим цветом в колон-
ке А, чтобы помочь пользователю отличить название от остальных данных.
 Черный на белом для статического текста. Статические данные часто
добавляют из  какого-то другого места для справки. Их не следует из-
менять для настройки или любой другой цели. Например, если вам по-
надобится список высот гор по всему миру, можно будет создать стати-
ческий список данных. Их не нужно выделять рыжевато-коричневым
цветом, потому что их не надо будет менять, и не нужно выделять зеле-
ным цветом, потому что это не формулы.

На иллюстрации 10.4 эта схема цветового кодирования показана в ра-


боте. В этом примере цветовое кодирование позволяет зрителю с первого
взгляда определить, что происходит на листе.

 Строка 1 отформатирована в виде заголовков. Первый заголовок отно-


сится к типу персонажа, а остальные — к атрибутам перечисленных
персонажей.
202 ГЛАВА 10 ОРГАНИЗАЦИЯ ДАННЫХ В ЭЛЕКТРОННЫХ ТАБЛИЦАХ

 Названия отдельных персонажей в столбце A выделены цветом как до-


полнительные ярлыки. Далее находится группа атрибутов, которые
можно изменить для балансировки данных, все они окрашены в рыже-
вато-коричневый цвет.
 Для получения взвешенного баланса по каждому персонажу проводит-
ся ряд аналитических расчетов. Поскольку это формулы с использова-
нием атрибутов, они выделены зеленым цветом.
 Наконец, столбец «Карточки лута» скопирован из другого источника
данных. Хотя это не формула, эти данные не должны меняться, поэто-
му они закодированы как статический текст.

Иллюстрация 10.4. Пример цветового кодирования

Не добавляйте ненужные столбцы, строки


или пустые ячейки
Еще один полезный совет при создании электронной таблицы — избегать
соблазна добавлять пустые строки, ряды или ячейки для визуального раз-
деления информации в  таблице. В  примере на  иллюстрации 10.5 гейм-
дизайнер хотел показать отличие между игровыми персонажами и мон-
страми. Для этого он добавил пустую строку и окрасил ее в черный цвет.
Но такого оформления следует избегать по нескольким причинам.
Первая проблема с пустой строкой в этом примере заключается в том,
что она нарушает поток вычислений. Даже если ячейки пустые, электрон-
ная таблица все равно распознает их как ячейки. При попытке автомати-
чески заполнить столбец в этой электронной таблице (как описано в гла-
ве 5 «Основы электронных таблиц»), пустая строка остановит операцию.
Если попытаться отфильтровать столбец в электронной таблице, эти стро-
ки также будут отфильтрованы, что сделает их бессмысленными. Пустая
НЕ ДОБАВЛЯЙТЕ НЕНУЖНЫЕ СТОЛБЦЫ, СТРОКИ ИЛИ ПУСТЫЕ ЯЧЕЙКИ 203

строка также затрудняет визуальный анализ. Если имеется 20 объектов


данных, то последний объект должен находиться через 20 строк после за-
головка. При наличии пустых строк последний объект будет отображаться
через непредсказуемое количество строк. Наконец, пустые строки не пре-
образуются в данные. Если бы этот лист экспортировался в игру, пробелы
ничего не значат для движка и даже могут вызвать ошибки.

Иллюстрация 10.5. Ненужная разделительная строка

Чтобы отличить игровых персонажей от монстров, следует вместо этого


использовать еще один атрибут в отдельной колонке, как показано на ил-
люстрации 10.6.

Иллюстрация 10.6. Добавление столбца PLR (Player — «Игрок»)


с атрибутом для типа персонажей («да/нет»)
204 ГЛАВА 10 ОРГАНИЗАЦИЯ ДАННЫХ В ЭЛЕКТРОННЫХ ТАБЛИЦАХ

Теперь не только человек может увидеть разницу между типами персо-


нажей, но и компьютер может отличить игровых персонажей от монстров.
Такое оформление позволит при желании фильтровать данные на основе
атрибута PLR, а также экспортировать атрибут PLR, чтобы его мог исполь-
зовать игровой движок. На иллюстрации 10.6 видно, что столбец с надпи-
сью PLR имеет белый цвет. Это означает, что данные в этом столбце ста-
тичны и не должны изменяться в целях настройки.

Разделяйте объекты данных с помощью


листов
Есть соблазн объединить все объекты данных для игры в один огромный
лист, чтобы можно было сразу увидеть их все и  получить доступ к  ним.
Технически в электронной таблице это возможно, но такой вариант значи-
тельно затруднит использование. Вместо этого следует разделить объекты
данных по типам. Объекты с разными атрибутами должны располагаться
на разных листах. Возможно, некоторые из них будут иметь общие атри-
буты (классический пример —  «стоимость предмета»), но, если набор их
атрибутов значительно отличается, эти данные должны быть разнесены
на разные листы. Например, на разных листах, скорее всего, должны нахо-
диться данные видов оружия и данные брони.
Для разделения можно воспользоваться несколькими специфическими
типами листов, описанных ниже.

Справочный лист
В  большинстве игр во  многих различных расчетах используются одни
и те же переменные. Лучший способ хранить эти переменные в рабочей
книге с данными игры — поместить их все на один справочный лист. Спра-
вочный лист (лист справки) —  это банк данных, которые планируется ис-
пользовать множество раз на разных листах. На нем же можно хранить
и переменные, необходимые только для одного листа, но которые иначе
загромождали бы рабочий лист.
Справочный лист может содержать следующие данные:
 веса атрибутов;
 минимальные и максимальные значения атрибутов;
 коэффициенты преобразования, например единицы игрового движка
на метр;
РАЗДЕЛЯЙТЕ ОБЪЕКТЫ ДАННЫХ С ПОМОЩЬЮ ЛИСТОВ 205

 общий множитель урона для регулировки сложности;


 максимальное и минимальное количество персонажей на уровень.

На иллюстрации 10.7 показан справочный лист с примечаниями, помо-


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

Иллюстрация 10.7. Справочный лист

В  разных ситуациях справочные листы могут выглядеть по-разному.


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

Вводный лист
Если рабочей книгой будут пользоваться несколько человек (или даже если
ею будете пользоваться только вы, но вы предполагаете, что она станет
сложной), то может понадобиться вводный лист. Это лист в самом начале
рабочей книги, который можно переименовать как «Инструкции», «Нач-
ните здесь» или «Помощь». На этом листе можно указать схему цветовой
кодировки, объяснить, для чего предназначен каждый из последующих
листов, и записать любые инструкции, необходимые для использования 9.
9
Также полезно оставлять инструкции и примечания на столбцах для каждого от-
дельного листа книги, чтобы дать расшифровки аббревиатур и контекстно пояс-
нить пользователям, что это за данные и в чем общий смысл вычислений. Хоро-
шим тоном считается оставлять контакты для связи с  автором таблицы, чтобы
в случае чего можно было обратиться к нему с вопросами. — Прим. науч. ред.
206 ГЛАВА 10 ОРГАНИЗАЦИЯ ДАННЫХ В ЭЛЕКТРОННЫХ ТАБЛИЦАХ

На иллюстрации 10.8 показан вводный лист из рабочей книги, созданной


для разработки и отслеживания команд в игре Blood Bowl.

Рабочие листы Описание и использование


Список Главная страница рабочей книги. Это список для вашей команды, который
предназначен для вывода всей необходимой информации для игры. Вам нуж-
но будет сделать копию этой рабочей книги, чтобы внести изменения и со-
здать собственный список.
Журнал Отслеживайте игры, в которые вы играли. Результаты также обновляются на
листе «Список».
Бухгалтерская Когда совершаете покупки для своей команды, тщательно записывайте все
книга расходы.
Преимущества Если вы играете против команды с более высоким рейтингом, перейдите в
этот раздел для получения преимуществ, которые помогут вам.
Описание Описание навыков из LRB5. В столбце «улучшение» указано, обладает ли иг-
навыков рок в вашей команде этим навыком, включая звездных игроков и наемников.
Вы можете отфильтровать данные по этому столбцу и вывести все навыки,
которые имеют отношение к вашей команде, чтобы использовать их в каче-
стве справочной информации во время игры.
Прохождение Таблица, показывающая диапазон прохождения.
Цветовое Руководство по цветовому кодированию позиций вашей команды, чтобы все
кодирование знали, кто есть кто.
Скрытые листы Не меняйте ничего ни на одном из этих листов, поскольку они импортирова-
ны из исходного документа, и любые изменения нарушат работу всей таблицы.
Заметки по Общее примечание: не вводите данные в ячейки, которые не светло-коричне-
использованию вого цвета, как эта. Многие ячейки содержат формулы, которые перестанут
работать, если вы их заполните. Светло-коричневый цвет указывает на поле,
которое ожидает заполнения.
Примечание 2: рядом со многими ячейками есть стрелка выпадающего спис-
ка. Пользуйтесь этим! Многие формулы основаны на точно введенном тексте,
и все значения в выпадающем списке являются точными. Если вы введете не-
допустимые значения, многие формулы не будут работать!!!

Иллюстрация 10.8. Вводный лист

Этот вводный лист содержит инструкции по использованию рабочей


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

примечание
Лист инструкций на иллюстрации 10.8 содержит четкие инструкции
о том, что новые пользователи могут изменить, а что нужно оставить
без изменений. «Поломать» электронную таблицу довольно легко,
поэтому так важно давать новым пользователям четкие инструкции.
РАЗДЕЛЯЙТЕ ОБЪЕКТЫ ДАННЫХ С ПОМОЩЬЮ ЛИСТОВ 207

Листы вывода/визуализации
После создания больших массивов объектов данных вам почти наверняка
захочется проанализировать их с помощью функций и формул или визуа-
лизировать с помощью диаграмм. Как правило, диаграммы лучше созда-
вать на отдельных листах, а не пытаться добавить на один лист с какими-то
данными в разных строках или столбцах.
На иллюстрации 10.9 показан довольно сложный пример вычисления
вероятности исхода боя для игры Blood Bowl, в котором используются атри-
буты персонажей и правила боя. На иллюстрации видно, насколько боль-
шими и громоздкими могут стать диаграммы анализа данных. Наличие
таких таблиц на одном листе с игровыми данными значительно усложняет
использование как данных, так и диаграмм, повышает вероятность ошиб-
ки и нарушения работы электронной таблицы. В главе 15 «Анализ игро-
вых данных» гораздо подробнее говорится о том, как их анализировать.
Пока же главное — отделить данные от анализа.

Иллюстрация 10.9. Комплексный анализ


208 ГЛАВА 10 ОРГАНИЗАЦИЯ ДАННЫХ В ЭЛЕКТРОННЫХ ТАБЛИЦАХ

Лист-свалка
Очень часто при компоновке объектов данных или при работе в электрон-
ных таблицах в целом возникает необходимость выполнить быстрые од-
норазовые вычисления. Для сохранения порядка и  организованности
рабочей книги лучше всего помещать беспорядочные и  разрозненные
фрагменты в одно место. Для таких фрагментов можно создать отдельный
лист и поместить его на самой крайней вкладке в правом углу. Все, что на-
ходится на этом листе, можно удалять или перезаписывать. Если обнару-
жится, что вам приходится часто пользоваться расчетами с этого листа,
перенесите их на  справочный лист или создайте новый, который будет
служить постоянным контейнером для информации.

Пример электронной таблицы


Если вы захотите придерживаться описанных в этой главе лучших прак-
тических методов, то при создании книги нужно с самого начала создать
несколько листов: вводный, справочный, листы с данными, листы анализа
и лист-свалку. На иллюстрации 10.10 показан пример того, как это может
выглядеть. Прочная структурная основа с самого начала позволяет орга-
низовать работу и облегчить процесс воплощения идей в реальность.

Иллюстрация 10.10. Лучшая практическая организация электронной


таблицы
ДАЛЬНЕЙШИЕ ШАГИ 209

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

 Множество данных для многих современных игр можно найти в  Ин-


тернете. Уделите немного времени поиску данных для ваших любимых
игр и посмотрите, как они организованы. Какие атрибуты использова-
ли гейм-дизайнеры? В каком порядке перечислены объекты? Как раз-
работчики игр разделили типы объектов данных? Изучив, как данные
распределяли другие, вы сможете лучше понять, как сделать это само-
стоятельно.
 Создайте свой шаблон электронной таблицы. Придумайте систему
цветового кодирования и запишите ее на вводном листе. Убедившись
в том, что шаблон хорошо работает, вы можете использовать его для со-
здания новых рабочих книг и будете уверены, что они с самого начала
отформатированы правильно.
Г Л А В А 11

АТРИБУТЫ В  ЧИСЛАХ

До сих пор в этой книге мы рассуждали о том,


как создавать объекты и их атрибуты. Вы
также научились создавать электронную
таблицу для упорядочивания всех данных.
Следующий шаг в воплощении ваших игровых
идей в жизнь — назначить численные
показатели для всех этих атрибутов.
212 ГЛАВА 11 АТРИБУТЫ В ЧИСЛАХ

Передаваемые атрибутами ощущения


Прежде чем пытаться присвоить атрибутам числа, нужно для начала по-
нять, что вы хотите получить от этих атрибутов. Например, если вы со-
здаете гоночную игру и хотите создать атрибуты скорости и ускорения для
трех разных автомобилей (транспортных средств), можно начать с описа-
ния того, какими должны быть ощущения от скорости и ускорения.

 Спортивный автомобиль: хорошее ускорение и хорошая максималь-


ная скорость.
 Маслкар: самая высокая максимальная скорость, но ускорение мень-
ше, чем у спортивного автомобиля.
 Мотоцикл: самое быстрое ускорение, но самая низкая максимальная
скорость.

Пусть вы пока еще и не присвоили никаких номеров этим атрибутам,


но у вас теперь есть руководство, которое поможет определить, какие чис-
ла соответствуют желаемым ощущениям.

Определение детализации чисел


После того как вы придумали атрибуты для игровых объектов, вам нужно
будет присвоить им значения. Поскольку вы сами придумываете все ат-
рибуты и числа для своей игры, то теоретически можете воспользовать-
ся любыми числами, какими только захотите. Но значительное влияние
на то, как игру воспринимает игрок, оказывает детализация (или «грану-
лярность») числовых показателей. В следующих разделах приведены не-
которые рекомендации, которые помогут вам определить степень детали-
зации чисел.

Числа должны соотноситься с вероятностью


Числа должны оказывать заметное влияние на игру. Чем больше возмож-
ный исход случайного события, тем больше должны быть соответствую-
щие числа в игре. Например, если у персонажа 10 очков здоровья, не имеет
значения, получит ли он 11 единиц урона или 5 000 единиц урона, посколь-
ку в любом случае он будет убит одним ударом. Допустим, вы знаете, что
для вычисления наносимого персонажу урона используется бросок кости
ОПРЕДЕЛЕНИЕ ДЕТАЛИЗАЦИИ ЧИСЕЛ 213

1D6 (одного шестигранного кубика), и при этом вы всегда хотите, чтобы


персонаж пережил как минимум три попадания. В этом случае минималь-
ное значение очков здоровья будет равно 19.

Иллюстрация 11.1. Доска для игры в нарды

В качестве примера рассмотрим нарды. (Если вам необходимо ознако-


миться с правилами игры, найдите в поисковике «официальные правила
игры в нарды».) Максимальное количество ходов, которое может сделать
за один раз одна шашка, —  24, сколько позволяется при самом удачном
броске. Кроме того, количество лунок (позиций), на которые может пой-
ти шашка на  доске, тоже равно 24 (иллюстрация 11.1). Связь между ко-
личеством лунок для передвижения и возможными результатами броска
костей очевидна. При расширении доски, скорее всего, потребовалось бы
делать больше бросков, и наоборот, при уменьшении доски, скорее всего,
понадобилось бы уменьшить количество возможных перемещений.

Некоторые числа должны соотноситься с системами


измерений реального мира
Некоторые числовые показатели, например роста, веса и  скорости, яв-
ляются аналогами соответствующих показателей в  реальном мире. Их
масштаб уже решен за вас. Даже если в вашей игре для вычислений луч-
ше использовать трехзначные числа, вы же не станете предполагать, что
у каждого персонажа-человека рост будет несколько сотен футов или ме-
тров. Игроки привыкли к определенному масштабу некоторых измерений
и ожидают, что в вашей игре они будут такими же. Поэтому если в вашей
214 ГЛАВА 11 АТРИБУТЫ В ЧИСЛАХ

игре большое значение играет рост, вам придется подправить масштаб.


Сделать это можно несколькими способами.

 Воспользоваться меньшей единицей измерения для получения больше-


го числа.
 Подстроить шкалу чисел под фиксированный атрибут.
 Преобразовать шкалу реального мира в игровую шкалу.

Например, можно перечислить атрибуты баскетболиста следующим


образом.

Пример 1
Сила: 150
Рост: 6 (футов)
Скорость: 220
Ловкость: 180

Но  такой список выглядит странным, потому что рост в  нем обозна-
чен однозначным числом, тогда как все другие атрибуты передаются трех-
значными. Кроме того, в таком случае придется еще и пользоваться про-
стыми или десятичными долями. Вот другой пример списка атрибутов
баскетболиста.

Пример 2
Сила: 150
Рост: 182 (сантиметра)
Скорость: 220
Ловкость: 180

Такая шкала уже гораздо лучше. Все атрибуты выражаются трехзнач-


ными числами в одинаковом диапазоне.
Вот еще один пример списка атрибутов баскетболиста.

Пример 3
Сила: 50
Рост: 72 (дюйма)
Скорость: 73
Ловкость: 60
ОПРЕДЕЛЕНИЕ ДЕТАЛИЗАЦИИ ЧИСЕЛ 215

Эта шкала также лучше первой. Переход к  более детальному измере-


нию роста в дюймах и переключение всех атрибутов на двузначные числа
делает их более соответствующими друг другу.
Рассмотрим теперь последний пример списка атрибутов баскетболиста.

Пример 4
Сила: 150
Рост: 165 (игровых единиц)
Скорость: 220
Ловкость: 180

Эта шкала тоже работает, потому что, отказавшись от реальности, мы


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

Для простоты вычислений предъявляемые игроку


числа должны быть небольшими
Для каждого отдельного вычисления и для повторяющихся вычислений
игроку нужно предъявлять четкие числа. Если вы просите игроков выпол-
нять какие-то игровые вычисления в уме, то нужно ограничить сложность
чисел. Чем чаще игрокам приходится считать, тем более простыми для вы-
числений должны быть числа. Легче всего игрокам манипулировать не-
большими целыми числами.
В очень старых играх показатели атрибутов выражаются небольшими
числами. Количество фигур у игрока, граней костей и общее количество
очков за игру, как правило, не превышает двузначных чисел. Часто они од-
нозначные —  такие, которые игрокам легко запомнить и легко использо-
вать для расчетов в уме. Чем чаще игроку приходится что-то вычислять,
тем проще должны быть вычисления и тем меньше должны быть числа.
Рассмотрим снова нарды. Игрокам нужно уметь просчитывать броски
и результаты в уме, а сложные системы умножения или сложения вызовут
ненужную путаницу. На каждом ходу в нарды игрок бросает две шести-
гранные кости (2D6), определяя количество шагов своей шашки по доске
216 ГЛАВА 11 АТРИБУТЫ В ЧИСЛАХ

на этом ходу. При выпадении «дубля», то есть двух одинаковых чисел, чис-
ло шагов удваивается. (Так, при выпадении двух шестерок игрок может
переместиться сразу на  24 шага.) Каждый ход с  броском костей и  пере-
мещением шашки проходит за несколько секунд. Сложение результатов
броска двух костей —  это очень простой расчет, не замедляющий темпа
игры. Кроме того, все результаты представляют собой небольшие целые
числа. Результаты связаны и с физическим пространством игры. На доске
отмечены лишь 24 позиции для перемещения шашек, поэтому большее ко-
личество ходов было бы бессмысленным.
Теперь рассмотрим подсчет очков в игре «Пики». В «Пиках» существует
довольно сложная система подсчета очков, согласно которой игроки в на-
чале игры стараются угадать свой счет, а в конце сравнивают свои пред-
положения с  реальным результатом. Окончательный счет определяет-
ся согласно некоторой системе; вычисления немного сложны, и  игроки
часто пользуются для них бумагой или калькулятором, но  это делается
лишь один раз за игру. Числовые показатели также намного больше, чем
в нардах: очки могут исчисляться сотнями или даже превышать тысячу.
Поскольку вычисления происходят только один раз за партию, то это це-
лое значимое событие, создающее некоторое напряжение в  конце игры,
но если бы вычисления происходили каждый ход, то игра затянулась бы
надолго.
В ранних и даже многих современных настольных играх и бумажных
ролевых играх для показателей атрибутов продолжают использоваться од-
нозначные и небольшие двузначные числа. Например, персонаж пятой ре-
дакции Dungeons & Dragons мог бы вступить в игру со следующими пока-
зателями атрибутов.

Сила: 10
Ловкость: 13
Телосложение: 14
Мудрость: 19
Харизма: 14

Обратите внимание, что все эти числа находятся в низком двузначном


диапазоне. Кроме того, хотя это современная и  довольно сложная игра,
в отношении нее действуют те же ограничения, что и в отношении нард.
Если в нардах игроки производят вычисления каждые несколько секунд,
то в ролевой игре — каждые несколько минут.
ОПРЕДЕЛЕНИЕ ДЕТАЛИЗАЦИИ ЧИСЕЛ 217

Как видно из этих примеров, чем реже производятся вычисления, тем


сложнее они могут быть и тем больше могут быть задействованные числа.
При назначении чисел атрибутам следует подумать о том, сколько вычис-
лений вы ожидаете от игроков. Чем больше расчетов, тем меньше должны
быть числа для атрибутов. Чем они чаще, тем меньше и  проще должны
быть вычисления и числа.

Чем больше числа, тем больше детализация


Если маленькие числа воспринимаются игроками легче, то  почему  бы
не воспользоваться однозначными числами для всего? Дело в том, что ма-
лые числа не позволяют добиться большой детализации или разнообразия.
Допустим, вы решили назначить показатели силы для пяти фэнтезийных
персонажей. Ниже приведены пять персонажей и ощущения, которые вы
хотите передать через атрибут силы для каждого из них.

 Человек: средний парень.


 Огр: намного сильнее всех остальных.
 Орк: сильнее человека, но значительно слабее огров.
 Гоблин: самый слабый, но не настолько, чтобы его игнорировать.
 Гном (дварф): сильнее людей, но значительно слабее орков.

Вот как можно преобразовать эти ощущения в числа, если ограничить


их первым десятком.

 Человек: поскольку он «средний», то назначим ему показатель силы 5.


 Огр: поскольку это самый сильный персонаж, назначим ему силу 10.
Заметьте, что в такой шкале уже нет места для каких-нибудь еще более
сильных существ, вроде драконов или великанов. Возможно, в вашей
игре они и не предполагаются, но это ограничивает возможности для
расширения игры.
 Орк: орку можно назначить показатель силы 7, потому что он значитель-
но слабее огра, но это ненамного выше показателя силы для человека.
 Гоблин: самому слабому персонажу назначаем показатель 2, но 2 мо-
жет оказаться слишком слабым.
 Гном (дварф): здесь мы сталкиваемся с  проблемой. Если назначить
гному показатель силы 6, то этот персонаж станет сильнее человека,
но не сильно слабее орка.
218 ГЛАВА 11 АТРИБУТЫ В ЧИСЛАХ

Очень большие числа сбивают с толку


Принимая во внимание только что обозначенную проблему, можно прий-
ти к мысли, что в компьютерной игре лучше впасть в другую крайность
и воспользоваться четырехзначными или даже пятизначными числами.
Так у нас было бы достаточно возможностей для варьирования показате-
лей без страха, что диапазон окажется слишком маленьким. К тому же все-
ми вычислениями будет заниматься компьютер, так что не нужно беспо-
коиться о том, что игрокам придется выполнять много вычислений в уме,
как это бывает в  настольных играх. Но  игровые вычисления не  ограни-
чиваются только тем, что должен делать игрок для прогресса; они также
влияют на то, насколько тот понимает, что происходит в игре. Мы, люди,
в общем-то не предназначены для того, чтобы обрабатывать большие чис-
ла в уме. Попробуйте, например, высчитать оставшееся количество очков
здоровья в следующих случаях.

 Было 5 очков, удар отнял 2 очка.


 Было 100 очков, удар отнял 27 очков.
 Было 34 863 298 очков, удар отнял 456 321 очко.

Ясно, что чем меньше числа, тем легче вычисления.


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

Люди ненавидят дроби, но компьютеру все равно


Если не брать в расчет образовательные математические игры, то игрокам
крайне редко демонстрируют счет в  виде простых или десятичных дро-
бей. Не то чтобы это были какие-то «некорректные» числа, просто людям
не нравится их видеть или (что еще хуже) считать их. Обычно игры пока-
зывают игрокам лишь целые числа.
Однако у  компьютеров нет никаких проблем с  фоновым вычислени-
ем десятичных дробей. Это значит, что в  технических расчетах можно
использовать столько знаков после запятой, сколько захочется, если при
этом вы представляете игроку целые (округленные) числа, не сбивающие
его с толку.
ОПРЕДЕЛЕНИЕ ДЕТАЛИЗАЦИИ ЧИСЕЛ 219

Пример с числами
На иллюстрации 11.2 приведен пример, в котором в каждом столбце пред-
ставлена пара значений: одно для атрибута А и одно для атрибута Б. В каж-
дой паре отношение А  к  Б  одинаковое: 94%. Поскольку у  каждой пары
одинаковое соотношение, для компьютера все они будут работать одина-
ково. Но игроки смогут понять некоторые из этих чисел легко, а другие — 
с большим трудом. Если игроки будут видеть числа, то следует пользовать-
ся по возможности только двузначными или трехзначными.

Иллюстрация 11.2. Пример детализации чисел

Трюк с напряжением
Существует трюк, с помощью которого разработчики систем, манипули-
руя несколькими связанными числами, могут передавать различную сте-
пень напряжения в игре. Основные правила создания напряжения таковы.

 Числа, которые нелегко считать, создают диссонанс для игроков.


 Диссонанс вызывает напряжение, страх и другие сильные негативные
эмоции.
 Эти эмоции при правильном их использовании могут усилить впечат-
ления.
 Числа, которые легко посчитать, успокаивают игроков.
 Используйте «легкие» числа, чтобы предоставить игрокам спокойный,
легкий опыт, а «сложные» числа — чтобы вызвать более сильные эмоции.

Предположим, например, что игровой персонаж (ИП) имеет 20 очков


здоровья (HP, hit points), а вражеский персонаж должен убить ИП за четы-
ре удара. Для наименьшего напряжения можно использовать следующие
числа.
220 ГЛАВА 11 АТРИБУТЫ В ЧИСЛАХ

Враг наносит 5 очков урона за удар, поэтому после трех ударов у ИП
остается 5 HP, а после четырех ударов — 0 HP.

Для наибольшего напряжения можно использовать следующие числа.

Враг наносит 6 очков урона за удар, поэтому после трех ударов у ИП
остается 2 HP, а после четырех ударов — 0 HP.

В обоих случаях ИП жив после трех ударов и убит на четвертом, так что
функционально они одинаковы. Но игрок может ощущать их совершенно
по-разному. Почему?
Рассмотрим эти примеры графически, а  затем разберем подробнее.
Представьте, что ИП получил три удара. На иллюстрации 11.3 показаны
два варианта индикатора здоровья персонажа в этот момент.

Иллюстрация 11.3. Шкала здоровья с низким напряжением и шкала


здоровья с высоким напряжением

В обоих случаях ИП будет убит при следующем ударе, но какой из них


выглядит страшнее? Игроки знают, что чем больше красного цвета на шка-
ле здоровья, тем, как правило, хуже. Тот факт, что на нижней полоске боль-
ше красного, сигнализирует игроку о большей опасности, даже если чис-
ленно для двух полосок здоровья опасность одинакова.
Рассмотрим другой пример. Скажем, в игре про ферму игрок засажи-
вает поле площадью 20 квадратных метров условными единицами расте-
ний по одной на каждый квадратный метр, так что всего есть 20 мест для
посадки. У игрока есть следующие ресурсы.

Кукуруза: 5 единиц
Бобы: 10 единиц
Пшеница: 5 единиц
Рис: 10 единиц
ПОИСКИ ПРАВИЛЬНЫХ ЧИСЕЛ 221

В  этом примере игроку довольно легко рассчитать, сколько культур


нужно посадить. Все числа легко воспринимаются и легко укладывают-
ся в 20 единиц, то есть соответствуют показателю площади в квадратных
метрах.
Молодые или неопытные игроки должны быстро сообразить, что де-
лать в этом сценарии, без особого напряжения.
Чтобы усилить напряжение в  этой  же фермерской игре, можно изме-
нить единицы измерения на что-то более сложное для восприятия, а также
изменить количество ресурсов на числа, с которыми труднее производить
математические вычисления. На  этот раз, допустим, игроку выделили
2,5 акра для посадки, а посадка производится по единице ресурса на каж-
дые 100 квадратных ярдов. Уже одно это значительно усложняет расчеты
для тех, кто еще не знаком с переводом квадратных ярдов в акры. В данном
случае у игрока будет 121 единица ресурсов для посадки.

Кукуруза: 37 единиц
Бобы: 63 единицы
Пшеница: 58 единиц
Рис: 29 единиц

В этом пересмотренном примере игроку очень трудно выполнять рас-


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

Поиски правильных чисел


Как только вы определитесь с детализацией чисел, которые предполагает-
ся использовать, наступает время проставлять конкретные числа. Если вы
уже описали ощущения, которые вы хотите вызвать числами, определили
разряд чисел и соотношения между ними, то можно сразу же сделать гру-
бую прикидку.
222 ГЛАВА 11 АТРИБУТЫ В ЧИСЛАХ

Помните, что в  окончательном варианте они почти наверняка будут


не такими, как при первой прикидке. Это нормально, и этого следует ожи-
дать. До тестирования невозможно узнать, какой именно эффект окажут
числа на игру. Не думайте об этом как о неудаче; наоборот, воспринимай-
те это как возможность снизить стресс от первых вариантов. Если вы зара-
нее будете готовы к тому, что числа почти наверняка сначала окажутся не-
правильными, вам не придется напрягаться, стараясь угадать их с первого
раза. Просто вставьте в таблицу несколько чисел с нужной вам разрядно-
стью и приблизительные коэффициенты для каждого объекта. Вот что вы
придумали ранее для скорости и ускорения.

 Спортивный автомобиль: хорошее ускорение и хорошая максималь-


ная скорость.
 Маслкар: самая высокая максимальная скорость, но ускорение мень-
ше, чем у спортивного автомобиля.
 Мотоцикл: самое быстрое ускорение, но самая низкая максимальная
скорость.

Отталкиваясь от этих описаний и от решения использовать однознач-


ные числа, можно присвоить атрибутам значения, показанные в  табли-
це 11.1. Правильные ли эти числа? Почти наверняка нет. Но ведь это толь-
ко начало.

Таблица 11.1. Базовая таблица с данными

Транспортное средство Ускорение Максимальная скорость


Спортивный автомобиль 8 8
Маслкар 6 10
Мотоцикл 10 6

При тестировании чисел полезно выходить за пределы разумных, ожи-


даемых чисел. Чтобы определить границы диапазона, нужно выйти за эти
границы во время тестирования — например, попробовать слишком боль-
шое ускорение или слишком маленькую скорость. Поэкспериментировать
с числами можно так, как показано в таблице 11.2.
ДАЛЬНЕЙШИЕ ШАГИ 223

Таблица 11.2. Экспериментальные данные

Транспортное средство Ускорение Максимальная скорость


Спортивный автомобиль 8 8
Маслкар 1 15
Мотоцикл 200 10

Эти числа определенно неправильные —  и, опять же, это нормально


и ожидаемо. На данном этапе вы не пытаетесь получить правильные числа.
Вы пытаетесь понять свою игру и игровой движок. Может ли движок спра-
виться с ускорением 200? Приводит ли такой показатель к вылету игры?
Работают ли модели коллизий? Тестируя неадекватные числа, вы сможете
лучше оценить игру и движок, и тем вероятнее получите новые интерес-
ные и впечатляющие результаты.
Отличная новость заключается в том, что с игровыми данными в про-
цессе игры можно проделывать, что угодно. Можно воспользоваться этим
обстоятельством в  своих целях для тестирования самых причудливых
и интересных вариантов. Как только вы «поломаете» игру несколькими
забавными способами и лучше поймете ее устройство, пора переходить
к поиску подходящего баланса.
Следующие шаги  —  тестирование, тестирование и  еще раз тестиро-
вание, а затем настройка и тестирование, а затем еще больше настроек
и тестирования. На первом этапе тестирования цель состоит в том, чтобы
добиться от чисел тех самых ощущений, о которых вы написали в своем
первоначальном списке. Чувствуется ли, что у мотоцикла отличное уско-
рение? Чувствуется ли, что спортивный автомобиль разгоняется медлен-
нее, но может достичь максимальной скорости? В конце концов вы найде-
те правильный баланс между числами.

Дальнейшие шаги
После завершения этой главы рекомендуется некоторое время попракти-
коваться на реальных примерах и попробовать использовать рассмотрен-
ные здесь концепции. Чтобы научиться лучше подбирать нужные значе-
ния игровым данным, попробуйте выполнить следующие упражнения.
224 ГЛАВА 11 АТРИБУТЫ В ЧИСЛАХ

 Найдите в Интернете данные ваших любимых игр различных жанров


и проанализируйте, какие в них используются числовые масштабы. Об-
ратите внимание на типы чисел, используемых в каждой игре, и на то,
как можно сравнить между собой числа этих игр.
 Возьмите данные из предыдущего упражнения и измените пропорцио-
нально значения для каждой из игр. Попробуйте удвоить их, умножить
на 10 или умножить на 0,1. Опишите, как меняется ощущение от игры
при изменении масштаба чисел.
ГЛ А В А 12

ОСНОВЫ СИСТЕМНОГО
ДИЗАЙНА

После того как вы определились с количественными


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

После того как вы присвоите числовые значения


каждому атрибуту, неплохой идеей будет сложить
их и сопоставить различные объекты данных друг
с другом. Общая оценка поможет вам получить
некоторое представление о сбалансированности всех
объектов данных по сравнению друг с другом.
226 ГЛАВА 12 ОСНОВЫ СИСТЕМНОГО ДИЗАЙНА

Вес атрибутов
В  этом разделе говорится о  том, как найти вес атрибутов для примера
с гонками из главы 11 «Атрибуты в числах». В таблице 12.1 показано, как
получить общий балл для каждого автомобиля на основе его атрибутов
(см. таблицу 11.1).

Таблица 12.1. Суммирование значений атрибутов для каждого автомобиля

Транспортное средство Ускорение Максимальная Сумма


скорость
Спортивный автомобиль 8 8 16
Маслкар 6 10 16
Мотоцикл 10 6 16

Теперь нужно проверить эти числа в игре. В данном примере можно


было бы провести несколько гонок на всех трех транспортных средствах
и выяснить, какой из них побеждает чаще и с каким отрывом. Предполо-
жим, что согласно тестам в каждой гонке со значительным отрывом по-
беждает маслкар. Казалось бы, ситуация тупиковая: если один и тот же
автомобиль побеждает каждый раз, то данные явно не сбалансированы.
Но если вы снизите значение любого из атрибутов маслкара, их сумма бу-
дет не такой высокой, как у двух других машин, и их уже нельзя будет срав-
нивать в электронной таблице.
Подобные ситуации происходят с игровыми данными постоянно. В дей-
ствительности редко бывает так, что сумма значений атрибутов у сбалан-
сированных игровых объектов оказываются одинаковыми. Часто случает-
ся, что один атрибут просто более важен в контексте игры по сравнению
с другими. В нашем примере это, по всей видимости, скорость.
Представление о  том, насколько сильно несбалансированы бывают
грубые и сырые значения атрибутов, можно получить, если добавить к на-
шим машинам еще один. В таблице 12.2 добавлен дополнительный атри-
бут «громкость сигнала» и еще одно транспортное средство.
ВЕС АТРИБУТОВ 227

Таблица 12.2. Дополнительное транспортное средство и дополнительный


атрибут

Транспортное Ускорение Максимальная Громкость Сумма


средство скорость сигнала
Спортивный 8 8 4 20
автомобиль
Маслкар 6 10 4 20
Мотоцикл 10 6 4 20
Драндулет 1 1 30 32

Если просто посмотреть на  общее количество баллов для каждого


транспортного средства, то покажется, будто драндулет — лучший. Одна-
ко если посмотреть на атрибуты в контексте того, что они делают в игре,
картина окажется совсем другой. Игра гоночная, а это значит, что гром-
кость сигнала не имеет никакого значения, даже если этот атрибут и мож-
но контролировать. Проблема в том, что этот атрибут вносит большой пе-
рекос в общую сумму для каждого транспортного средства.
В качестве решения этой проблемы можно воспользоваться весовыми
коэффициентами, или «весами», атрибутов. Вес атрибута —  это множи-
тель, применяемый к каждому атрибуту и компенсирующий разницу в их
значениях. На начальном этапе хорошим нейтральным значением этого
коэффициента будет 1,0. Он говорит о том, что все атрибуты одинаково
важны, и позволяет убыстрить процесс ввода данных. С началом тестиро-
вания вы, скорее всего, обнаружите, что атрибуты не имеют одинаковой
ценности, и их необходимо изменить с помощью веса. В примере с гонка-
ми тестирование показало, что максимальная скорость важнее ускорения,
а громкость сигнала вообще не важна. На основе наблюдений можно пред-
ложить следующие весовые коэффициенты.

 Ускорение: 1,0 (нейтральный, не очень важный, но достаточно важный


атрибут).
 Максимальная скорость: 1,5 (максимальная скорость на  150% важ-
нее ускорения).
 Громкость сигнала: 0,0 (по сути, громкость исключается из расчета сум-
мы значений атрибутов, поскольку она совершенно не важна для игры).
228 ГЛАВА 12 ОСНОВЫ СИСТЕМНОГО ДИЗАЙНА

Теперь можно пересчитать сумму значений атрибутов, как показано


в таблице 12.3.

Таблица 12.3. Взвешенные атрибуты

Максимальная

Максимальная
Транспортное

Громкость

Громкость
Ускорение

Ускорение
скорость

скорость
средство

сигнала

сигнала

Сумма
Вес 1,0 1,5 0,0 Взве- Взве- Взве-
шенное шенное шенное
Спортивный 8 8 4 8 12 0 20
автомобиль
Маслкар 6 10 4 6 15 0 21
Мотоцикл 10 6 4 10 9 0 19
Драндулет 1 1 30 1 1,5 0 2,5

После применения новых весов сумма выглядит гораздо более похожей


на результаты тестов реальной игры. Маслкар всегда выигрывает, потому
что у него лучшая общая сумма в игре. Цель весов — максимально реали-
стично представить влияние каждого атрибута.
Следующий шаг — вернуться к данным и скорректировать их так, что-
бы каждый автомобиль имел одинаковую взвешенную сумму значений
атрибутов, сохранив при этом свой уникальный характер. В нашем при-
мере можно настроить атрибуты транспортных средств так, как показано
в таблице 12.4. Так они будут отличаться друг от друга и порождать пред-
полагаемые ощущения с учетом весовых коэффициентов.
Вроде бы все цели достигнуты, но есть только один способ убедиться
в этом. После коррекции с помощью весов нужно вернуться в игру и про-
верить свои ощущения от нее. Если игра теперь кажется более сбалансиро-
ванной, можно провести несколько специальных тестов, чтобы выяснить,
сколько раз и с каким отрывом побеждает каждый автомобиль. Получив
информацию, вы удостоверитесь в том, что ваша игра более сбалансирова-
на, и сможете добавлять в таблицу новые объекты, которые тоже уже будут
относительно сбалансированными еще до размещения их в игре.
ВЕС АТРИБУТОВ 229

Таблица 12.4. Скорректированные атрибуты

Максимальная

Максимальная
Транспортное

Громкость

Громкость
Ускорение

Ускорение
скорость

скорость
средство

сигнала

сигнала

Сумма
Вес 1,0 1,5 0,0 Взве- Взве- Взве-
шенное шенное шенное
Спортивный 8 8 4 8 12 0 20
автомобиль
Маслкар 5 10 4 5 15 0 20
Мотоцикл 11 6 4 11 9 0 20
Драндулет 1 1 30 1 1,5 0 2,5

Еще один фактор, на который следует обратить внимание, —  «дранду-


лет» остался несбалансированным. Такой тип дисбаланса не всегда пред-
ставляет собой что-то плохое и  не  всегда требует исправления. Возмож-
но, это шуточная машина, добавленная в игру для развлечения игроков,
либо наказание для плохого игрока, который слишком часто разбивает
транспортные средства, и которому теперь грозит неминуемое поражение.
«Драндулет» даже может быть автомобилем для испытания, и хороший иг-
рок может выбрать его, чтобы показать, что сможет победить даже на худ-
шей в игре машине. Все это лишь некоторые из веских причин оставлять
в игре объекты данных с сильно нарушенным балансом. При этом важно
помнить, что они выбиваются из баланса и насколько сильно.
Важно отметить, что взвешивание может потребовать некоторых
контринтуитивных размышлений. В  таблице 12.4 видно, что скорость
имеет вес 1,5, а ускорение — 1,0, а это значит, что в этой игре скорость важ-
нее ускорения. И это же значит, что необработанные значения скорости
в сумме, скорее всего, будут меньше необработанных значений ускорения.
Рассмотрим более экстремальный пример. Допустим, вы создаете игру
про стрельбу из лука, где каждый лучник обладает атрибутами силы и точно-
сти. Поскольку пропущенный выстрел не наносит урона, вы решили, что точ-
ность вдвое ценнее силы. В этом случае атрибуты получат следующие веса.

 Точность: 2,0  Сила: 1,0


230 ГЛАВА 12 ОСНОВЫ СИСТЕМНОГО ДИЗАЙНА

Это означает, что у двух одинаковых лучников необработанные значе-


ния атрибуты силы в большинстве случаев будут выше необработанных
значений точности. Узнать, кто лучше стреляет, можно только после при-
менения к необработанным значениям весовых коэффициентов. Для при-
мера рассмотрим таблицу 12.5.

Таблица 12.5. Атрибуты лучников

Лучник Сила Точность


Лучник 1 10 10
Лучник 2 20 5

Если не знать о весовых коэффициентах, то с первого взгляда складыва-


ется впечатление, что у Лучника 2 сумма показателей выше и что в целом
он лучше. Но если применить весовые коэффициенты, то видно, что луч-
ники в действительности сбалансированы (таблица 12.6).

Таблица 12.6. Взвешенные атрибуты лучников

Лучник Сила Точность Сила Скорость Сумма


Вес 1,0 2,0 Взвешенное Взвешенное
Лучник 1 10 10 10 20 30
Лучник 2 20 5 20 10 30

Проявляйте терпение при поиске подходящих коэффициентов. Для


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

DPS и взаимосвязанные атрибуты


Очень часто один атрибут раскрывает лишь часть общего внутриигрово-
го взаимодействия. Самый распространенный пример взаимодействия
DPS И ВЗАИМОСВЯЗАННЫЕ АТРИБУТЫ 231

атрибутов  —  так называемый показатель «урона в  секунду», или DPS


(Damage Per Second), когда у некоторых персонажей есть и атрибут уро-
на, и атрибут скорости атаки. Каждый атрибут имеет свою шкалу, с ми-
нимумом и максимумом. Однако если рассматривать только одну часть
пары,  то есть только урон или только скорость атаки, мы не получим точ-
ного представления о том, насколько в действительности силен персонаж.
Допустим, у нас есть кинжал и боевой топор, имеющие показатели урона,
указанные в таблице 12.7.

Таблица 12.7. Показатели урона оружия

Оружие Урон
Кинжал 6
Боевой топор 14

Какой из этих видов оружия наносит больший урон? Без всякого друго-
го контекста ответ достаточно очевиден —  боевой топор, но давайте рас-
смотрим ситуацию несколько подробнее. В таблице 12.8 показано, как ча-
сто каждым оружием можно атаковать в течение минуты.

Таблица 12.8. Урон оружия в минуту

Оружие Урон Атак в минуту


Кинжал 6 17
Боевой топор 14 7

Какое  же оружие, по-вашему, теперь наносит больший урон? Урон


от отдельных ударов остался тем же, но общий урон со временем значи-
тельно изменился. Теперь важнее не вопрос о том, сколько урона оружие
наносит за одну атаку, а сколько урона каждое оружие наносит за одну ми-
нуту. Приняв во внимание как количество наносимого урона, так и часто-
ту его нанесения, мы получим гораздо более четкое представление о том,
какое оружие наносит больше урона на практике. Поскольку бои в видео-
играх идут быстро — часто счет в них идет на секунды, а не на минуты, — 
обычно это значение выражается в «уроне в секунду» (DPS).
Но как определить DPS для двух видов оружия, которые не могут ата-
ковать каждую секунду? Для этого нужно сделать промежуточный шаг
232 ГЛАВА 12 ОСНОВЫ СИСТЕМНОГО ДИЗАЙНА

и рассчитать общий урон за приемлемый промежуток времени, в течение


которого оба они могут наносить урон несколько раз. В  данном приме-
ре можно использовать минуты, но подойдет любой промежуток време-
ни, которого хватит, чтобы оба объекта данных успели провести несколь-
ко атак. Чтобы получить значение, нужно умножить урон каждого удара
на частоту ударов:

Урон оружия × Атак в минуту = Урон в минуту (Damage Per Minute, DPM)

В  таблице 12.9 показаны результаты для кинжала и  боевого топора


в нашем примере.

Таблица 12.9. Показатели DPM

Оружие Урон Атак в минуту DPM


Кинжал 6 17 102
Боевой топор 14 7 98

Теперь четко видно, что кинжал со временем наносит немного больше


урона. Чтобы перевести урон в минуту в урон в секунду (DPS), нужно раз-
делить значение DPM на 60:

(Урон оружия × Атак в минуту = Урон в минуту) / 60

В  таблице 12.10 показаны результаты для кинжала и  боевого топора


в нашем примере.

Таблица 12.10. Показатели DPS

Оружие Урон Атак в минуту DPS


Кинжал 6 17 1,7
Боевой топор 14 7 1,6

С  помощью такого расчета теперь можно осмысленно сравнить два


вида оружия, и из таблицы 12.10 видно, что со временем кинжал нанесет
немного больше урона, чем боевой топор. Обратите внимание, что итого-
вое значение DPS выражено числом с десятичной дробью, поэтому, скорее
DPS И ВЗАИМОСВЯЗАННЫЕ АТРИБУТЫ 233

всего, оно будет использоваться только для внутренней оценки. Если вы


хотите представить этот показатель игрокам, лучше оставить значение
в виде «урона в минуту» или показать его графически в виде гистограммы.
Расчет немного усложняется, если частота измеряется в  задержке,
а не в атаках за  какой-то промежуток времени. Например, для кинжала
и боевого топора может быть установлена задержка между атаками. Что-
бы перевести время задержки в количество атак за единицу времени, нуж-
но разделить 60 секунд на время задержки и определить, сколько раз за-
держка сработает за  минуту. Например, при трехсекундной задержке
60/3 = 20 атак в минуту.
DPS  —  наиболее распространенный вид взаимодействия атрибутов
в играх, но далеко не единственный. Впрочем, в целях сравнения любые
взаимосвязанные атрибуты можно рассматривать так же, как и DPS. Рассмо-
трим еще один пример, который на первый взгляд кажется совершенно дру-
гим. Допустим, у вас есть вилочные погрузчики, которые могут перевозить
поддоны. В этой игре выгодно быстро перемещать поддоны, поэтому вам
нужен погрузчик, который может их перевозить. Другая часть уравнения — 
сколько поездок может сделать погрузчик за минуту. Чем больше поездок,
тем лучше. В таблице 12.11 приведены возможности вилочных погрузчиков.

Таблица 12.11. Вилочные погрузчики

Погрузчик Грузоподъемность Продолжительность поездки


в секундах
«Скоростной» 5 20
«Толстяк» 9 30

Какой погрузчик лучше с точки зрения этой игровой механики? Чтобы


сравнить эти два погрузчика, нужно сначала подсчитать, сколько поездок
в минуту может сделать каждый из них:

«Скоростной»: 60/20 = 3
«Толстяк»: 60/30 = 2

Так мы получаем показатель поездок в минуту. Затем нужно умножить


грузоподъемность на количество поездок в минуту, чтобы получить общий
показатель количества поддонов в минуту. В результате получаем оконча-
тельное сравнение, которое выглядит так, как показано в таблице 12.12.
234 ГЛАВА 12 ОСНОВЫ СИСТЕМНОГО ДИЗАЙНА

Таблица 12.12. Сравнение атрибутов

Погрузчик Грузоподъемность Продолжительность Поддонов


поездки в секундах в минуту
«Скоростной» 5 20 15
«Толстяк» 9 30 18

В данном случае из двух погрузчиков за продолжительный отрезок вре-


мени «Толстяк» справляется лучше.
При использовании взаимосвязанных атрибутов в  общем сравнении
объектов данных вместо отдельных атрибутов для оценки их веса часто
используется итоговый DPS (или аналогичный показатель).

Двоичный (бинарный) поиск


Двоичный (бинарный) поиск — математический метод поиска, позволяю-
щий найти точное неизвестное число за минимально возможное количе-
ство угадываний. Почему он так важен для вас, как для гейм-дизайнеров?
Дело в том, что гейм-дизайнеры постоянно пытаются найти правильные
численные показатели для своих объектов данных. С помощью двоичного
поиска можно быстрее найти нужное число, что сэкономит драгоценное
время при создании больших объемов данных.

Как работает двоичный поиск


Принцип работы двоичного поиска не совсем интуитивен, но как только
вы поймете этот принцип, метод станет для вас простым и быстрым в ис-
пользовании. Для двоичного поиска понадобится лишь несколько элемен-
тов информации.

 Диапазон допустимых чисел. Для строгого двоичного поиска необ-


ходимо знать наибольшее и наименьшее возможные допустимые чис-
ла. Существуют обходные пути, о которых мы поговорим далее в этой
главе, но они не подходят под строгое определение двоичного поиска.
 Ответ обратной связи. Он позволит вам узнать, слишком ли высоко
или низко ваше текущее число. Без такого знания остается действо-
вать лишь вслепую, но если вы сможете получить хотя бы эту подсказ-
ку, то двоичный поиск cработает.
ДВОИЧНЫЙ (БИНАРНЫЙ) ПОИСК 235

Рассмотрим простейший пример —  игру «Угадай число». Она начина-


ется с того, что один из участников говорит: «Я задумал число от 1 до 100.
Постарайтесь его угадать и скажите свой ответ, а я скажу, больше ваше
число или меньше моего». Такого рода игра лежит в основе любого двоич-
ного поиска. «Правильным» ответом на этот первый вопрос в данном слу-
чае будет число 50. Почему же это «правильный» ответ? Именно здесь ме-
тод становится немного неинтуитивным. На самом деле цель угадывания
не в том, чтобы сразу же найти правильный ответ. Вероятность сделать это
с первой попытки составляет всего 1%, а это слишком мало. Цель угадыва-
ния состоит в том, чтобы исключить как можно больше неправильных от-
ветов. Чтобы понять, какой ответ «правильный», рассмотрим два сценария
в одной и той же игре «Угадай число».

 Сценарий 1. Вы выбираете свое любимое (или, может, совершено слу-


чайное) число — 88. Ведущий дает ответ: «Меньше». Так вы догадывае-
тесь, что верного числа нет в диапазоне от 88 до 100. Получается, что
вы исключили 13 вариантов и оставили 87. При выборе случайного чис-
ла неизвестно, сколько вариантов отсеется, а сколько останется. Цель
игры свести количество вариантов до 1, то есть до минимума, чтобы
следующим ответом назвать верное число. Чем меньше вариантов оста-
ется, тем выше вероятность угадать число.
 Сценарий 2. Вместо того чтобы называть случайное или какое-то свое
любимое число, вы делите общее количество чисел на два и в данном
случае получаете 50. Если ведущий ответит «больше», то  вы исклю-
чите 50 вариантов. Если он ответит «меньше», то вы тоже исключите
50 вариантов. Называя число в середине диапазона, вы гарантированно
устраняете 50% неправильных вариантов. Конечно, вам может повезти,
и вы сразу же дадите верный ответ, что сэкономит вам время, но цель
метода состоит не в этом.

Используя метод, описанный в  сценарии 2, можно справиться даже


с очень большим количеством вариантов за небольшое количество угады-
ваний. Доведем описанный выше пример до конца.

Диапазон: 1–100
Догадка 1: 50
Ответ: меньше
Новый диапазон: 1–49
236 ГЛАВА 12 ОСНОВЫ СИСТЕМНОГО ДИЗАЙНА

Догадка 2: 25
Ответ: больше
Новый диапазон: 26–49 (середина диапазона  —  число 36,5, но  оно
не целое)
Догадка 3: 36 (хотя правильным выбором было бы и число 37)
Ответ: меньше
Новый диапазон: 26–36
Догадка 4: 31
Ответ: больше
Новый диапазон: 32–35 (середина диапазона — число 33,5, но оно не це-
лое)
Догадка 5: 33 (хотя правильным выбором было бы и число 34) 
Ответ: больше
Новый диапазон: 34–35
Догадка 6: 35 (хотя в  данный момент можно предположить любой
из двух вариантов)
Ответ: меньше
Догадка 7: 34

В  этом примере из  100 возможных вариантов, где ни  одна догадка
не оказалась верной, точный ответ удалось найти за семь ходов. Это мак-
симальное количество угадываний, возможное для данного диапазона
при использовании двоичного поиска. Метод этот в  среднем значитель-
но быстрее, чем перебор произвольных чисел в диапазоне, и экономит бо-
лее 90% времени, необходимого для перебора возможных вариантов. Если
вы используете бинарный поиск везде, где можно, в игре, вы, скорее всего,
найдете ответ всего за одну десятую времени, нужного для угадывания
правильного ответа.
В таблице 12.13 показаны различные диапазоны и максимальное коли-
чество догадок, которое потребуется для двоичного поиска.

Таблица 12.13. Двоичный поиск для разных диапазонов

Варианты Максимальное количество догадок


1 1
2 2
4 3
ДВОИЧНЫЙ (БИНАРНЫЙ) ПОИСК 237

8 4
16 5
32 6
64 7
128 8
256 9
512 10
1024 11

Как видно из таблицы 12.13, при увеличении диапазона вдвое количе-


ство максимальных догадок увеличивается всего на единицу. Чем больше
вариантов для угадывания, тем мощнее становится метод двоичного по-
иска.
Как же двоичный поиск применим к дизайну систем? В своей работе
гейм-дизайнеру постоянно приходится играть во  что-то вроде «Угадай
число». При настройке показателей приходится постоянно гадать, какие
числа подходят для того или иного атрибута объекта данных. Обратную
связь (ответы «больше/меньше») предоставляют результаты тестов, в ко-
торых фиксируют ощущения при изменении параметров.

Пример двоичного поиска: бой с боссом


Предположим, что вы разрабатываете персонажа-босса для сложного боя
в игре. Вы знаете, сколько у игрового персонажа очков здоровья и сколь-
ко урона он может нанести. Отталкиваясь от  этого, вы примерно пред-
ставляете, насколько сложным нужно сделать персонажа-босса. Вы также
знаете, насколько часто, по вашему мнению, игроки должны проигрывать
бой. Таким образом, у вас уже есть какая-то основа для ответа «больше/
меньше». Поэтому можно установить какой-то приблизительный диапа-
зон, от минимальных показателей, которые, по вашему мнению, заведомо
слишком низки, до максимальных, заведомо слишком высоких. Затем вы
применяете метод двоичного поиска, делаете догадку и тестируете. Если
игроки побеждают босса слишком часто, то это равноценно ответу «Боль-
ше». Если игроки проигрывают чаще, чем вам хочется, то это равноценно
ответу «Меньше».
238 ГЛАВА 12 ОСНОВЫ СИСТЕМНОГО ДИЗАЙНА

Пример двоичного поиска: дистанция прыжка


Одна из самых классических механик в играх-платформерах —  прыжок
игрового персонажа с одной платформы на другую. Если персонажи легко
преодолевают дистанцию с каждой попыткой, то такая дистанция теряет
свою сложность и превращается в рутину; с другой стороны, если персона-
жи не могут преодолеть дистанцию в прыжке, то игра становится непрохо-
димой, и это нарушает тестирование. В данном случае диапазон основан
на сложности. Минимум —  это наименьшая дистанция прыжка, необхо-
димая для преодоления пропасти всего лишь на пиксель. Максимум — это
дистанция, позволяющая легко преодолеть любое расстояние настолько,
что игроки вообще не видят в этом никакой сложности. Для установленно-
го диапазона можно применить метод двоичного поиска и найти подходя-
щую дистанцию прыжка, которая ощущалась бы как достаточно сложная,
но не была бы источником разочарований в игре.

Когда допустимого диапазона нет


Для настоящего двоичного поиска необходимо иметь точный минимум,
точный максимум и точную обратную связь вида «больше/меньше». Такие
факторы есть не всегда, но в поисках правильных значений для данных все
равно можно применять принципы двоичного поиска даже в тех ситуаци-
ях, когда информации мало. Если минимальное или максимальное значе-
ния диапазона неизвестны, можно по-прежнему ориентироваться на ощу-
щения, а также на правило «удвой или уменьши вдвое».
Допустим, вы работаете с  совершенно новыми игровыми данными
и еще ничего не настраивали, поэтому у вас нет точки отсчета для опреде-
ления слишком низкого или слишком высокого значения. В игре есть луч-
ник, которого вы хотите заставить попадать по целям издалека, но что зна-
чит «издалека»? Поначалу вы не имеете никакого представления, но у вас
есть переменная в виде атрибута под названием «импульс выстрела», со-
общающая физическому движку, какой импульс применить к стреле при
выстреле из лука. На этом этапе нужно найти любые возможные подсказ-
ки о предполагаемой дальности стрельбы. Насколько велики уровни? Как
далеко находятся вражеские цели? У вас уже могут быть ответы на неко-
торые из этих вопросов, но для усложнения задачи представим, что у вас
вообще нет такой информации.
Чтобы решить эту сложную проблему, можно для начала создать в игро-
вом движке очень маленький тестовый уровень с одним лучником и одной
ИМЕНОВАНИЕ ОБЪЕКТОВ 239

целью. Походите некоторое время персонажем до цели и обратно. Какое


расстояние кажется практичным? Во всех современных движках имеются
методы измерения расстояния в игре, поэтому можно проверить различ-
ные дистанции и составить заметки о них. В  какой-то момент цель ока-
жется слишком далеко, чтобы отображаться на  экране,  —  скорее всего,
это и будет «слишком далеко». Потратьте какое-то время на проработку
доступных переменных и определите примерное расстояние. После этого
можно переходить к стрельбе по цели.
Поскольку в данном случае вы понятия не имеете, что же на самом деле
означают для игрового движка ваши единицы «импульса выстрела», вам
придется сделать совершенно случайный выбор. Скажем, вы делаете догад-
ку «100», зная, что наверняка ошибетесь, а затем тестируете ее. Вводите зна-
чение 100 и делаете выстрел, но стрела едва пролетает метр. Теперь у вас есть
информация для дальнейшей работы, и вы увеличиваете импульс выстре-
ла до 200 и снова делаете тесты. На этот раз стрела летит дальше, но недо-
статочно. Вы снова удваиваете импульс до 400. На этот раз стрела вылетает
за пределы игрового мира. Поздравляем! Вы нашли нужный диапазон и те-
перь можете воспользоваться двоичным поиском между известным слиш-
ком низким значением 200 и известным слишком высоким значением 400.
Предположим совсем другую ситуацию, возникшую после того, как
вы подставили значение 100. Стрела вылетает за пределы игрового мира.
В  этом случае уменьшите значение вдвое, до  50, и  повторите попытку.
И снова стрела улетает за пределы мира. Вы снова уменьшаете значение
вдвое, до 25, и повторяете попытку. При многократном выполнении задачи
может получиться так, что импульс должен выражаться десятичной дро-
бью — допустим, в диапазоне от 0,01 до 0,2.
Оба этих очень абстрактных сценария показывают, как использовать
двоичный поиск, когда неизвестны верхняя и нижняя границы допусти-
мого диапазона значений. При возможности протестировав, не  являет-
ся ли значение слишком большим или слишком маленьким, с помощью
двоичного поиска можно быстро определить, какие числа будут вписы-
ваться в диапазон атрибута.

Именование объектов
При работе даже над относительно несложными играми создается мно-
жество игровых объектов, количество которых исчисляется сотнями,
а то и тысячами. Одно из самых основных требований к любому игровому
240 ГЛАВА 12 ОСНОВЫ СИСТЕМНОГО ДИЗАЙНА

объекту —  это наличие у него своего названия. Если у вас нет никаких
стандартных правил, относящихся к  именованию объектов, то  приду-
мывание сотен или тысяч имен может стать весьма утомительной зада-
чей. Еще более сложной задачей становится поиск какого-то конкретного
ранее созданного объекта, находящегося в общей куче других, и работа
с ним. И еще сложнее найти конкретный объект, созданный кем-то другим
из команды. Попробуйте представить себе, как вы перебираете сотни объ-
ектов со случайными номерами или совершенно нечитаемыми названия-
ми, пытаясь найти тот, над которым вам нужно поработать. Звучит ужас-
но — и это ужасно на самом деле. А теперь представьте, что вы делаете это
десятки раз в день, каждый день, в течение нескольких месяцев или даже
лет. Если у вас нет хорошей системы именования, эта задача становится
трудновыполнимой и значительно замедляет работу над игрой.
«Ну хорошо, —  скажете вы. —  Мы знаем, в чем проблема, но как ее ре-
шить?» Самое важное здесь  —  чтобы вся команда пользовалась одной
и той же системой именования. Существуют различные способы имено-
вания объектов, и многие из них работают неплохо. Главное, чтобы все
разработчики из одной команды согласились с  какими-то конкретными
правилами.
Рассмотрим систему, ориентированную на гейм-дизайнера, который
обычно чаще всего меняет объекты данных, вынужден быстро находить
нужные ему объекты и поддерживает организацию всей группы объектов.
Чтобы вникнуть в суть системы, поговорим о естественном языке, на ко-
тором разговариваем мы с вами (для автора книги это английский). Есте-
ственный язык по своей природе неоднозначен в описании объектов. Для
примера начнем какое-нибудь предложение…

Мой объект — большой…

Это начало описания, но его недостаточно, чтобы кто-то другой понял,


что имеется в виду. Продолжим:

Мой объект — большой, быстрый…

До сих пор недостаточно, чтобы понять, о чем речь; под такое определе-
ние попадают миллионы разных вещей. Добавим еще одно слово:

Мой объект — большой, быстрый, синий…


ИМЕНОВАНИЕ ОБЪЕКТОВ 241

Теперь в нашем описании игрового объекта целых три слова, и, хотя


диапазон вариантов немного сократился, все равно невозможно догадать-
ся, что это. Ясность вносит последнее слово:

Мой объект — большой, быстрый, синий нарвал (иллюстрация 12.1).

Ага! В описании уже четыре слова, и мы наконец-то добрались до сути:


мы говорим о  нарвале. Такое описание («большой, быстрый, синий
нарвал») позволяет представить себе образ объекта, но  плохо подходит
в качестве имени в дизайне данных. Поскольку компьютер автоматически
сортирует файлы по названиям, а большинство баз данных по умолчанию
производят сортировку по алфавитному принципу, то это имя будет сорти-
роваться по первой букве первого прилагательного, а не по существитель-
ному, которое и указывает на объект. Таким образом, обычное описание
на естественном языке в качестве имени игрового объекта работает плохо.
В очень большой коллекции игровых объектов имена обычно начина-
ют с обозначения более общей категории. Например, можно начать с «мор-
ских млекопитающих», или, если нарвал — это игровой персонаж, то с ка-
тегории «персонажи». Обычно название категории в  целях краткости
и удобства чтения сокращается до нескольких букв. Если известно, что на-
звания категорий состоят, например, из трех букв, то все будут знать, что
название объекта начинается с четвертого символа. Для примера предпо-
ложим, что вы будете играть за нарвала и поэтому используете префикс ка-
тегории Cha (для «персонажа», от английского слова character).

Иллюстрация 12.1. Нарвал

Ниже перечислены некоторые категории игровых объектов, которые


обычно используются в играх.

 Cha: персонаж, для игровых персонажей (Characters).


 Npc: неигровые дружественные персонажи (NPC, Nonplayer Characters).
242 ГЛАВА 12 ОСНОВЫ СИСТЕМНОГО ДИЗАЙНА

 Bad: вражеские персонажи (Bad; «плохой»).


 Pow: усиления, или полезные усиливающие предметы (Power; «сила»).
 Wep: оружие (Weapon).
 Amr: броня (Armor; обратите внимание, что сокращение для этой кате-
гории — Amr, а не Arm, потому что arm —  это уже слово со значением
«рука»).
 Vhc: транспортные средства (Vehicles).

Одна из  первых задач гейм-дизайнера при создании игровых объек-


тов —  создание и поддержание названий и определений категорий объ-
ектов. Здесь подойдут любые правила или названия любой длины, но для
удобства чтения старайтесь, чтобы они были достаточно короткими и по-
нятными. Создавая систему названий, нужно найти хороший баланс меж-
ду очень конкретными именами (со слишком большим количеством ка-
тегорий) и  слишком расплывчатыми (охватывающими слишком много
объектов).
При работе над большой игрой с тысячами объектов можно дополнить
категорию подкатегорией. В данном случае предположим, что игра не та-
кая большая и после аббревиатуры категории следует существительное,
описывающее сам игровой объект. Если объект  —  нарвал (narwhal по-
английски), его название может выглядеть следующим образом:

ChaNarwhal

или

Cha_Narwhal

Допустимы оба метода именования  —  так называемый верблюжий


стиль (CamelCase, с чередованием прописных и строчных букв) и стиль
с подчеркиванием. «Верблюжий стиль», как правило, позволяет использо-
вать более короткие имена, но стиль с подчеркиванием легче для чтения.
В небольшой игре не нужно беспокоиться о том, что имя игрового объек-
та получится слишком длинным, поэтому можно пользоваться подчерки-
ванием. Можно выбрать любой стиль, оба хороши, главное —  придержи-
ваться выбранного.
ИМЕНОВАНИЕ ОБЪЕКТОВ 243

примечание
Почему  бы просто не  использовать в  имени объекта пробел? Мно-
гие игровые движки могут работать с пробелами в именах, но не все.
Пробелы в  именах-объектах недопустимы во  многих языках про-
граммирования, потому что компилятор интерпретирует пробел,
как указание на новый объект. Поэтому, как правило, следует избе-
гать пробелов в любых именах.

В довольно простой игре имя объекта Cha_Narwhal может оказаться


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

Cha_Narwhal_Big

Теперь можно добавить следующий по  важности в  игре атрибут. На-


пример, это скорость, и группа в таком случае делится на два класса: бы-
стрые (Fast) и медленные (Slow). Для быстрого нарвала в группе крупных
нарвалов имя может выглядеть следующим образом:

Cha_Narwhal_Big_Fast
244 ГЛАВА 12 ОСНОВЫ СИСТЕМНОГО ДИЗАЙНА

примечание
Как определить, какие атрибуты более важны? Решать вам, гейм-
дизайнеру. Во многих играх ответ очевиден. Например, в гоночной
игре самый важный атрибут — это, вероятнее всего, скорость. Но все
зависит от конкретных случаев и выбранных принципов. Главное — 
принять четкое решение и последовательно придерживаться его.

Теперь имя очень близко к полному описанию, но, предположим, в игре


персонажи могут быть разных цветов, поэтому для уникальности имени
потребуется добавить последний дескриптор, обозначение цвета. Для си-
него (Blue) нарвала, обладающего всеми вышеперечисленными характе-
ристиками, имя будет выглядеть следующим образом:

Cha_Narwhal_Big_Fast_Blue

Это имя может не отражать (и, скорее всего, не будет) все атрибуты, свя-
занные с этим объектом. В такой системе именования главное — не впих-
нуть в имя каждый атрибут, а выбрать достаточно атрибутов, чтобы от-
личить одни игровые объекты от других. Имя Cha_Narwhal_Big_Fast_Blue
выглядит иначе, чем изначальное описание «Мой игровой объект — боль-
шой, быстрый, синий нарвал», но оно содержит ту же информацию, пред-
ставленную в  виде, с  которым легче работать компьютерам и  гейм-ди-
зайнерам данных. Преимущества такой организации данных становятся
очевидными при рассмотрении большого списка объектов, все имена ко-
торых составлены согласно выбранной системе:

Cha_Narwhal_Big_Fast_Blue
Cha_Narwhal_Big_Fast_Green
Cha_Narwhal_Big_Fast_Red
Cha_Narwhal_Big_Slow_Blue
Cha_Narwhal_Big_Slow_Green
Cha_Narwhal_Big_Slow_Red
Cha_Narwhal_Small_Fast_Blue
Cha_Narwhal_Small_Fast_Green
Cha_Narwhal_Small_Fast_Red
Cha_Narwhal_Small_Slow_Blue
ИМЕНА ИТЕРАЦИЙ ОБЪЕКТОВ 245

Cha_Narwhal_Small_Slow_Green
Cha_Narwhal_Small_Slow_Red
Cha_Whale_Small_Fast_Red
Cha_Whale_Big_Fast_Blue
Cha_Whale_Big_Slow_Green
Cha_Whale_Small_Slow_Red

В  этой системе имена всех персонажей-нарвалов объединены в  одну


группу и  отличаются от  имен персонажей-китов (Whale). При этом бы-
стрые нарвалы отличаются от медленных, большие от маленьких и так да-
лее. Такая строгая система именования значительно повышает эффектив-
ность поиска нужной информации и последующей ее передачи остальным
членам команды, кому она может понадобиться.

примечание
Хотя о  том, чем на  самом деле занимаются персонажи этой игры,
не было сказано ни слова, названия уже дают несколько довольно
серьезных подсказок. Они содержат достаточно информации для
приблизительного представления о  том, чем теоретически может
быть эта игра. Можно догадаться, что это, скорее всего, не  гонки,
потому что скорость здесь не самый важный атрибут. И это не игра-
головоломка с подбором цветов, потому что цвет —  наименее важ-
ный из  перечисленных атрибутов. Глядя только на  имена, можно
предположить, что эта игра про выживание в море или, возможно,
о  сражениях. В  обоих случаях размер будет очень важен, а  ско-
рость — на втором месте.

Это лишь один из множества различных способов систематизации имен,


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

Имена итераций объектов


Не  всегда в  играх имена бывают статическими, то  есть неизменными
на протяжении всей игры. Многим объектам по мере их изменения при-
ходится присваивать новые имена. Чтобы правильно организовать имена,
246 ГЛАВА 12 ОСНОВЫ СИСТЕМНОГО ДИЗАЙНА

нужно предусмотреть систему именований конкретных итераций объек-


тов. Здесь может появиться соблазн назвать новую версию объекта «но-
вой» (New), но такое решение сопряжено с проблемами. Имеются и луч-
шие способы добиться желаемого эффекта.

Проблема с «новыми» объектами


При переделке объекта у гейм-дизайнера возникает соблазн обозначить
новый объект словом new («новый»; например, New_Cha_Narwhal_Big_
Fast_Blue или Cha_Narwhal_Big_Fast_ Blue_New). Проблема здесь в том, что
переделывать объект, возможно, придется неоднократно. И как тогда по-
менять имя объекта, в котором уже есть слово new? Назвать его New_new,
new2 или как-нибудь еще? Такие варианты только запутывают, поэтому
лучше всего вообще избегать слова new в именах. Вместо этого лучше при
необходимости использовать систему итерационных обозначений.

примечание
Многие программные системы контроля версий обрабатывают
имена итераций автоматически. Например, Perforce отслеживает
несколько итераций объекта с одним и тем же именем с помощью
временных меток.

примечание
Вместе со словом new при именовании итераций также следует избе-
гать слов rework («переделанный»), modified («модифицированный»),
updated («обновленный»), changed («измененный») и любого другого
нечеткого описания.

Метод именования итераций 1: номер версии


Многие программы не отслеживают временные метки и не сохраняют ста-
рые итерации объектов или файлов. Что делать, если вы хотите сохранить
старый объект или файл, но пользоваться более новой версией? В таком
случае самый простой способ именования итерации объекта или фай-
ла —  добавление числового суффикса, указывающего на версию объекта.
ИМЕНА ИТЕРАЦИЙ ОБЪЕКТОВ 247

Например, если вы трижды переделали своего персонажа —  быстрого си-


него нарвала, то в итоге у вас получатся следующие игровые объекты:

Cha_Narwhal_Big_Fast_Blue_01
Cha_Narwhal_Big_Fast_Blue_02
Cha_Narwhal_Big_Fast_Blue_03

С помощью такого метода можно сохранить старые версии для справ-


ки, но использовать самую последнюю версию. С помощью номера также
можно четко объяснить любому члену команды, на какую версию объекта
вы ссылаетесь. Такой метод неплохо работает, если в течение проекта пла-
нируется создать немного версий.

Метод именования итераций 2: буква и номер версии


Если проект предполагается большим и объект или файл, о котором идет речь,
скорее всего, будет переделываться много раз, можно воспользоваться более
подробным методом именования версий, чем описанный выше. В этом методе
используется буква, обозначающая крупные изменения, и число, обозначаю-
щая мелкие изменения. Крупное изменение —  понятие субъективное, и этот
термин следует определить для каждого конкретного проекта, но обычно оно
означает большое, потенциально проблематичное изменение, которое долж-
но выделяться в списке с первого взгляда. Крупными изменениями, для обо-
значения которых потребуется буква, могут быть те, в которых планируется
поменять направление развития персонажа, удалить механику оружия или
полностью перебалансировать транспортное средство. Небольшие изменения
значений или поверхностные правки обозначают новыми числами. Следуя та-
кому методу, можно получить примерно такой список итераций:

Cha_Narwhal_Big_Fast_Blue_a01
Cha_Narwhal_Big_Fast_Blue_a02
Cha_Narwhal_Big_Fast_Blue_a03
Cha_Narwhal_Big_Fast_Blue_a04
Cha_Narwhal_Big_Fast_Blue_b01
Cha_Narwhal_Big_Fast_Blue_b02
Cha_Narwhal_Big_Fast_Blue_c01
Cha_Narwhal_Big_Fast_Blue_c02
Cha_Narwhal_Big_Fast_Blue_c03
Cha_Narwhal_Big_Fast_Blue_c04
248 ГЛАВА 12 ОСНОВЫ СИСТЕМНОГО ДИЗАЙНА

В этом примере легко определить, где произошли основные изменения,


что бывает полезно для отслеживания внесенных в  объект изменений,
а также полезно в случае возникновения проблем, связанных с крупны-
ми изменениями. Вместо того чтобы просматривать все версии по очере-
ди, можно просмотреть последнюю с крупным изменением, например c01,
чтобы начать поиск источника проблемы.

Специальные метки
Специальные метки используются для временных объектов или файлов
во время тестирования или разработки. В некоторых таких метках исполь-
зуются слова, иллюстрирующие назначение метки.

Deleteme
Вы, вероятно, уже догадались, что означает фраза Delete me («сотри меня»)
и для какого случая она предназначается. Скорее всего, вам очень часто потре-
буется создавать временные игровые объекты и файлы для тестов или для про-
верки разных идей. Было бы неплохо как-то указать на их временный характер,
чтобы они не хранились рядом с нужными объектами и файлами, не занима-
ли место и не вызывали путаницу. Многие гейм-дизайнеры используют для
этого метку deleteme. Например, если вы решили протестировать идею ги-
гантского нарвала для игры про нарвалов, то можно назвать этот объект так:

Cha_Narwhal_Gaint_Fast_Blue_deleteme_a01

В том же духе хорошо смогли бы сработать и другие метки, но deleteme


указывает не только на временный характер объекта, но и на действие, ко-
торое с ним нужно будет совершить — коротко и ясно.

Deprecated
Как и метка deleteme, специальная метка deprecated («исключенный, уста-
ревший») также означает именно то, о  чем говорит это слово. Но  если
deleteme указывает на временный характер объекта или файла, то метка
deprecated указывает на то, что этот файл или объект был заменен новой
версией, а эту можно сохранить — допустим, в качестве резервной копии.
Например, после полного обновления объекта narwhal («нарвал») можно
удалить все другие части его имени и добавить эту метку:

Cha_Narwhal_Deprecated
ФОРМУЛА РУКОПОЖАТИЙ 249

Test
Еще одна специальная метка, которую можно использовать в именах объ-
ектов, означает то же, что и соответствующее слово test («тест»). В отличие
от метки deleteme она не говорит о том, что объект нужно будет удалить.
Увидев метку test в имени объекта, вы понимаете, что объект следует сохра-
нить, но не нужно ссылаться на него как на окончательную версию.

Дата или время


В  некоторых случаях к  имени объекта можно добавить дату или время,
чтобы показать последовательность итераций. В  таких случаях дату до-
бавляют в конце имени. Насколько точно указывать дату, будет зависеть
от того, насколько нужно будет знать точное время создания объекта. Не-
зависимо от детализации дату следует указывать в порядке убывания вре-
менных промежутков, начиная с года и заканчивая месяцем, днем, часом
и минутами. Так даты будут правильно упорядочены при сортировке. Для
тестового объекта narwhal, созданного 2 октября 2020 года, можно исполь-
зовать такое имя:

Cha_Narwhal_Test_2020_10_02

Формула рукопожатий
Как только вы начнете создавать игровые объекты, вам понадобится ме-
тод их сравнения. Для очень простых игр с небольшим количеством объек-
тов сделать это просто: берете каждый вариант объекта и сравниваете его
со всеми остальными вариантами. Например, чтобы убедиться в том, что
все персонажи файтинга сбалансированы, можно выставлять их драться
друг против друга. В гоночной игре можно заставить каждую машину со-
ревноваться с другими машинами. В экшен-игре можно сравнить каждый
тип врага под руководством ИИ с другими врагами. Такой метод тестиро-
вания и балансировки «брутфорсом» (перебором всех вариантов) отлично
работает для маленьких игр с небольшим количеством вариаций. Однако
при увеличении количества создаваемых игровых объектов начинаются
проблемы. Полный цикл тестирования и балансировки даже для простой
пары объектов может занять час или больше —  и это всего лишь для од-
ного цикла тестирования. При создании полноценной игры часто прихо-
дится проходить десятки циклов тестирования, настройки, балансировки
и перебалансировки.
250 ГЛАВА 12 ОСНОВЫ СИСТЕМНОГО ДИЗАЙНА

Чтобы приступить к  процессу тестирования, настройки, балансиров-


ки и перебалансировки, первым делом нужно оценить масштаб проблемы.
Именно на этом этапе на помощь приходит формула рукопожатия. Она так
называется по старой математической задаче, сформулированной следую-
щим образом: «В одном помещении находится группа докторов. Каждый
доктор должен пожать руку другому, чтобы поздороваться. Сколько руко-
пожатий потребуется любому количеству докторов, чтобы все они смогли
пожать друг другу руки?»
Какое же отношение эта задача имеет к балансировке игровых объек-
тов? Если представить рукопожатия в  загадке как метафору сопоставле-
ния объектов друг с другом во время тестирования и балансировки, то сра-
зу  же становится очевидной польза этой формулы для гейм-дизайнеров.
Можно перефразировать задачу более понятным для гейм-дизайнеров язы-
ком: «В файтинге участвует группа бойцов. Каждый боец должен сразить-
ся со всеми остальными в игре, чтобы определить, кто из них лучший» или
«Группа машин должна соревноваться друг с  другом, чтобы определить,
какая из них лучшая». Сколько заездов потребуется для всех автомобилей?
На первый взгляд такие вопросы могут показаться забавными, банальными
или пустяковыми, но перед гейм-дизайнерами они встают постоянно.
Формулу рукопожатия можно распространить на более крупные при-
меры (гонки с тремя участниками, групповой бой и т. д.), но пока мы со-
средоточимся только на сопоставлении двух сторон одновременно. Нужно
подумать о том, как применить формулу к любому числу, а не к какому-то
конкретному.

Иллюстрация 12.2. Сетка возможностей

Всякий раз, когда нужно сравнить объекты в  группе между собой,


нужно начать с размера группы. Для простого примера начнем с четырех.
ФОРМУЛА РУКОПОЖАТИЙ 251

Сколько комбинаций понадобится, чтобы сравнить любые два объекта


из  четырех? Очень простой способ найти ответ  —  сопоставить каждый
объект со всеми четырьмя. Математически это означает возведение чис-
ла в квадрат. Можно сделать это и графически в электронной таблице, как
показано на иллюстрации 12.2; такая диаграмма называется сеткой воз-
можностей.
Видно, что если перечислить все объекты в  строках и  все объекты
в столбцах, то получится такое же количество их комбинаций, какое по-
лучается при умножении числа на себя само или при возведении в квадрат.
В данном случае 4 в квадрате равно 16, поэтому всего получается 16 ком-
бинаций. Кажется, что это слишком много для сравнения всего четырех
объектов, и это действительно так. Почти сразу же можно устранить не-
сколько лишних комбинаций. Первый тип таких комбинаций —  сравне-
ние игрового объекта с самим собой. Например, вовсе не нужно сравни-
вать одинаковые автомобили, чтобы понять, что они одинаковы. Если
отметить каждую ячейку на диаграмме, в которой объект сравнивается
сам с собой, то можно разглядеть определенную закономерность, показан-
ную на иллюстрации 12.3.

Иллюстрация 12.3. Ненужные комбинации

Объект 1 сравнивается с самим собой в ячейке B2, объект 2 сравнивает-


ся с самим собой в ячейке C3, и так далее по диагонали диаграммы. Понят-
но, что в файтинге Боец 1 всегда равен самому себе, поэтому такую комби-
нацию можно исключить, как можно исключить и все остальные ячейки,
в которых бойцы будут сравниваться друг с другом. На иллюстрации 12.3
таких комбинаций четыре. Всего же для любого сравнения количество ис-
ключений будет равно количеству сравниваемых объектов. Так при срав-
нении шести объектов нужно было  бы исключить шесть комбинаций,
252 ГЛАВА 12 ОСНОВЫ СИСТЕМНОГО ДИЗАЙНА

а при сравнении тысячи объектов —  тысячу. С учетом этого нужно обно-


вить формулу и избавиться от лишних комбинаций. Обновленная форму-
ла такова:

(количество игровых объектов)2 —  (количество игровых объектов) =


уникальных сравнений

Или

G2 – G = уникальных сравнений

или в данном примере:

42 – 4 = 16 – 4 = 12 уникальных сравнений

Такая формула устраняет избыточные комбинации, в которых объекты


сравниваются сами с собой, но можно сделать еще один шаг и еще боль-
ше повысить эффективность сравнений. Допустим, в нашем файтинге мы
сравнили Бойца 1 с Бойцом 2; нужно ли после этого сравнивать Бойца 2
с Бойцом 1? Нет. Такое сравнение мы уже провели, и поскольку порядок
при сравнении не имеет значения, можно исключить все комбинации, от-
личающиеся лишь порядком объектов. На иллюстрации 12.4 это показано
на примере диаграммы, построенной в электронной таблице.

Иллюстрация 12.4. Избыточные комбинации

Обе выделенные ячейки на иллюстрации 12.4, по сути, означают одно


и  то  же сравнение, потому что обе сравнивают Объект 1 с  Объектом 2,
ФОРМУЛА РУКОПОЖАТИЙ 253

а  нам нужно только одно из  этих сравнений. Постараемся определить


математически, сколько всего таких избыточных сравнений осталось
на диаграмме. Поскольку мы сравниваем каждый объект с остальными
по очереди, а все объекты перечислены по два раза, горизонтально и вер-
тикально, то получаем в два раза больше сравнений, чем нужно. Сравне-
нию Объекта 1 с Объектом 2 соответствует сравнение Объекта 2 с Объ-
ектом 1, и  это относится ко  всем другим парам. Это значит, что можно
исключить половину оставшихся ячеек, потому что они представляют со-
бой сравнение тех же самых объектов, только в другом порядке. На иллю-
страции 12.5 выделены избыточные сравнения, которые можно удалить.

Иллюстрация 12.5. Удаление избыточных сравнений

Так как все выделенные ячейки на иллюстрации 12.5 лишние, их нужно


исключить из числа комбинаций, которые предстоит проверить и сбалан-
сировать. Математически это означает, что нужно разделить общее коли-
чество комбинаций на 2. Так получаем окончательную формулу:

(G2 – G)/2 = уникальных комбинаций для тестирования

или в данном случае:

(42 – 4)/2 = 6

Чтобы убедиться, что формула работает, можно подсчитать количество


крестиков на диаграмме после удаления всех лишних комбинаций (см. ил-
люстрацию 12.6).
254 ГЛАВА 12 ОСНОВЫ СИСТЕМНОГО ДИЗАЙНА

Иллюстрация 12.6. Оставшиеся действующие комбинации

Как видно, и в самом деле осталось только шесть действующих комби-


наций. Теперь, когда у нас есть формула, можно ввести в нее любое число
и узнать точное количество комбинаций, необходимых для сравнения все-
го набора объектов. В качестве еще одного примера на иллюстрации 12.7
показано количество комбинаций, необходимых для проверки 20 объектов.

Иллюстрация 12.7. Большой набор комбинаций

Понятно, что независимо от  того, насколько велико или мало число
объектов, картина каждый раз повторяется. Подставив в формулу новое
число, получаем следующий результат:

(202 – 20)/2 = 190 комбинаций


ФОРМУЛА РУКОПОЖАТИЙ 255

При желании можете посчитать количество крестиков на графике и прий-


ти к тому же ответу, но это займет больше времени, чем расчет по формуле.
Есть и другой способ использования этой формулы, занимающий больше
времени, но показывающий весьма интересную закономерность. Для при-
мера вычислим результаты для чисел от 1 до 20 (таблица 12.14).
Обратите внимание, что если сложить количество объектов с количе-
ством комбинаций, то получится количество комбинаций для следующе-
го количества предметов. Получается, что с помощью формулы можно бы-
стро узнать результат для следующего по порядку числа. Если, например,
вы захотите расширить таблицу до  21, то  для этого нужно добавить 20
к 190 и получить результат в 210 комбинаций.
Зная их количество, можно быстро прикинуть, сколько усилий и вре-
мени потребуется для проверки и балансировки этих комбинаций. Напри-
мер, если, как выяснилось, для правильной проверки и настройки одной
комбинации требуется один час, то можно сказать, сколько примерно ча-
сов займет вся проверка.

Таблица 12.14. Возможные комбинации

Объекты Комбинации
2 1
3 3
4 6
5 10
6 15
7 21
8 28
9 36
10 45
11 55
12 66
13 78
14 91
15 105
16 120
17 136
18 153
19 171
20 190
256 ГЛАВА 12 ОСНОВЫ СИСТЕМНОГО ДИЗАЙНА

Кроме расчетов, связанных с тестированием и балансировкой, эту фор-


мулу можно применять для следующего:

 для проведения турниров по круговой системе, где каждый игрок игра-


ет с каждым другим игроком;
 в файтинге для создания специальной анимации победы для каждой
комбинации бойцов;
 в гоночной игре, где диктор за кадром произносит уникальную фразу
для каждой пары машин перед началом гонки;
 в  супергеройской игре, где два героя объединяют свои способности,
чтобы сформировать одну особую способность, уникальную для этой
комбинации персонажей;
 в фэнтезийной ролевой игре, где каждая комбинация классов персона-
жей имеет уникальный бонус в командной игре;
 в боевой игре, чтобы создать специальную анимацию для каждой ком-
бинации атаки и защиты.

Вместо того чтобы самостоятельно заниматься подсчетами по формуле


комбинаций для тестирования, можно воспользоваться функцией COMBIN
(ЧИСЛКОМБ) электронной таблицы, и она сделает все расчеты за вас авто-
матически. Функция COMBIN принимает два аргумента: количество объ-
ектов в наборе данных и количество объектов в комбинации. Во всех при-
мерах этого раздела второй аргумент равен 2, поскольку мы сравнивали
только два объекта за раз. Но можно сравнивать сразу несколько объектов
друг с другом и получить при этом больше комбинаций. С помощью фор-
мулы электронных таблиц легко рассчитывать сразу много комбинаций.

Дальнейшие шаги
После завершения этой главы рекомендуется некоторое время попрак-
тиковаться на  реальных примерах и  попробовать использовать рассмо-
тренные здесь концепции. Для этого попробуйте выполнить следующие
упражнения.

 Перечислите атрибуты реальных аналогов каких-нибудь игровых объ-


ектов и присвойте вес этим атрибутам. Проделайте это с разными объ-
ектами, включая те, что вы создали в предыдущих главах.
ДАЛЬНЕЙШИЕ ШАГИ 257

 Разработайте систему именования игровых объектов, как создаваемых


вами, так и уже существующих. Подумайте, сколько атрибутов должно
отражаться в имени объекта и в каком порядке.
 Воспользуйтесь формулой рукопожатия для определения количества
комбинаций в  нескольких реальных сценариях (например, для пред-
стоящего вашего любимого спортивного мероприятия или для игрово-
го турнира, за которым вы следите).
ГЛ А В А 13

БАЛАНСИРОВКА
ДИАПАЗОНА, ОПОРНЫЕ
ТОЧКИ ДАННЫХ
И  ИЕРАРХИЧЕСКИЙ
ДИЗАЙН

В этой главе рассматриваются три очень важные


концепции из области данных: балансировка диапазона,
опорные точки данных и иерархический дизайн.

Овладев этими концепциями, вы научитесь создавать


еще больше объектов данных, сбалансированных
и готовых к использованию в вашей игре. Изучив
эти основополагающие принципы, вы сможете
избежать многих наиболее распространенных
ловушек, с которыми сталкиваются начинающие
гейм-дизайнеры данных при создании своего первого
набора данных.
260 ГЛАВА 13 БАЛАНСИРОВКА ДИАПАЗОНА

Балансировка диапазона
Многие числа, используемые в качестве значений атрибутов объектов дан-
ных, имеют физические или виртуальные ограничения. Например, ско-
рость обычно измеряется в милях (километрах) в час, а вес в фунтах (или
килограммах) — это широко известные измерения, знакомые любой ауди-
тории. Чтобы игроки легко понимали значения атрибутов в игре, лучше
всего придерживаться таких известных систем измерения, а не ориенти-
роваться на какие-то абстрактные системы.
С  другой стороны, ваша собственная шкала, хорошо сочетающая-
ся с вашими системами и электронными таблицами, позволит вам, как
гейм-дизайнеру, быстрее и лучше выполнять вашу работу. Например, при
обозначении веса бойца смешанных боевых искусств (MMA) можно вос-
пользоваться одним из двух вариантов:

Боец MMA: 105–265 фунтов (47–120 кг)

или:

Боец MMA: 0–100 внутриигровых «единиц веса»

Фунты или килограммы игрокам воспринимать гораздо легче, чем


«единицы веса», потому что игроки привыкли к  реальному аналогу
«весовой категории» в  спорте. Но  привычные единицы делают расче-
ты более громоздкими. Какое значение при этом среднее? Сразу это-
го не скажешь. А какое значение находится посредине между средним
и  максимальным? Тоже сразу непонятно. Для расчета этих значений
можно воспользоваться формулами электронных таблиц, но  все рав-
но будет трудно визуализировать шкалу от  наименьшего показателя
к наибольшему и понять, как каждое значение сопоставляется с други-
ми объектами данных.
Если воспользоваться простой шкалой от 0 до 100, то выполнять расче-
ты будет гораздо легче. Какое значение среднее? 50. Какое значение нахо-
дится посредине между средним и максимальным? 75. А между средним
и минимальным? 25. Это легко вычислить и в уме. Но проблема с внутри-
игровыми единицами, как было сказано выше, заключается в том, что они
ничего не значат для игрока. Какое телосложение у человека, весящего
25 «единиц»? Имеет ли это смысл для игрока?
БАЛАНСИРОВКА ДИАПАЗОНА 261

В идеале было бы здорово, если бы можно было пользоваться каким-


нибудь стандартизированным диапазоном, вроде 0–100, для расчетов
и сравнений, а игроку предъявлять эти значения уже с помощью другой
шкалы, более соответствующей тому, что принято в  реальном мире,  — 
и при этом если бы обе эти шкалы хорошо согласовывались друг с другом.
К счастью, такая своего рода идеальная система существует, и она называ-
ется балансировкой диапазона. Это своего рода мостик между двумя мето-
дами нумерации, и она также обладает другими преимуществами:

 нормализует числа для более легкой работы с ними в электронных таб-


лицах;
 позволяет избегать «неудобные» единицы измерения, с которыми труд-
но работать (такие как «радианы» или «ньютоны»);
 устраняет «эффект домино» при балансировке;
 разделяет работу гейм-дизайнера и балансировщика;
 облегчает балансировку в крупном масштабе.

Как работает балансировка диапазона


Балансировка диапазона начинается с  определения диапазона данных
в шкале, ориентированной на игрока. Этот диапазон может иметь любой
минимум и любой максимум, и в  какой-то момент диапазон может изме-
ниться. Первым делом нужно сделать обоснованное предположение о гра-
ницах диапазона. Например, если вы создаете гоночную игру, то можно
просто предположить, что самый медленный гоночный автомобиль будет
развивать скорость примерно до 110 миль в час, а самый быстрый —  при-
мерно до 190 миль в час. На этом этапе не бойтесь ошибиться, ведь пре-
имущества балансировки диапазона как раз подразумевают, что значения
всегда можно будет изменить.
Установив минимальное и  максимальное значения, вычтите мини-
мальное из  максимального, получив таким образом диапазон данных.
Теперь любое значение атрибута можно выражать в процентах от этого
диапазона. Разберем этот процесс подробнее, чтобы лучше понять, что
представляет собой балансировка диапазона.
Рассмотрим такой простой пример, как рост огров. Допустим, вы хо-
тите, чтобы в вашей игре было много огров разного роста, чтобы они вы-
глядели более динамично и  «естественно». Но  создавать слишком ма-
леньких огров не имеет смысла, а в зависимости от размера уровней их
262 ГЛАВА 13 БАЛАНСИРОВКА ДИАПАЗОНА

максимальный рост так же ограничен. В той информации, которая пред-


назначена для игрока, можно пользоваться реальной единицей измере-
ния — футом. Обсудив с командой этот вопрос, вы пришли к мнению, что
самый маленький огр, который будет все еще ощущаться как «огр» (круп-
ный монстр-людоед), должен быть ростом в 6 футов (1,8 метра). Для огра
это невысокий рост, но он при этом уже воспринимается как настоящий.
Движок игры и уровни технически могут работать и с меньшим ростом,
но вы просто не хотите создавать совсем уж невысоких монстров, потому
что огры меньше 6 футов будут выглядеть нелепо. Поэтому вы останавли-
ваетесь на минимуме в 6 футов.
С другой стороны, необходимо помнить о некоторых технических огра-
ничениях. Например, дизайнеры уровней делают дверные проемы с ми-
нимальной высотой в 8 футов (2,4 метра). Вам хочется, чтобы огры могли
пролезать в двери без специальной анимации приседания, поэтому ориен-
тируетесь на это значение как на максимальный рост. И оно же хорошо со-
гласуется с вашим представлением о том, каким должен быть большой огр,
так что добавлять дополнительные сложности для производства не при-
дется. Наконец, так сложилось, что в иерархии этой гипотетической игры
геометрия уровней стоит выше дизайна второстепенных монстров. Это
означает, что если рост огра конфликтует с геометрией уровня, то нужно
ограничить рост, а не просить переделать геометрию.
Итак, определив минимальный и максимальный рост —  6 и 8 футов
соответственно —  вычитаем минимум из максимума и получаем общий
диапазон роста огров —  в данном случае 2 фута (0,6 метра). Значит, рост
всех огров в игре будет находиться в пределах этого диапазона, как пока-
зано на иллюстрации 13.1.

Иллюстрация 13.1. Диапазон допустимых значений

Следующим шагом будет преобразовать этот диапазон в число, кото-


рое упорядочивается и с которым легче производить технические расчеты.
Чаще всего при этом используется диапазон от 0 до 100%, и вы можете при-
держиваться именно его, если нет веских причин использовать какой-то
другой диапазон (иллюстрация 13.2).
БАЛАНСИРОВКА ДИАПАЗОНА 263

Иллюстрация 13.2. Диапазон в виде процентов

Зная максимум, минимум, диапазон и  масштаб, вы теперь обладае-


те всей необходимой информацией для создания самых разных соответ-
ствующих вашим целям огров. Чтобы воспользоваться этой информацией,
нужно применить одну формулу, и тогда можно будет использовать дан-
ные многократно. Формула для перевода между масштабом разработчика
и масштабом пользователя выглядит следующим образом:

((Max – Min) × %) + Min = численное значение

С первого взгляда формула эта может показаться сложным алгебраи-


ческим выражением, но на самом деле она довольно проста. Разберем ее
на примере огров. Начнем с очень простого примера, с огра с ростом в 50%.
Остальные значения вы уже знаете.

Проценты = 50%
Диапазон = 2 (фута)
Max = 8 (футов)
Min = 6 (футов)
Значение = ((8 – 6) × 0,5) + 6
или
Значение = 7 (футов)

Иллюстрация 13.3. Пример с ростом огра

Проиллюстрировать такой перевод из одной шкалы в другую можно


с помощью интуитивно понятного примера. При линейном диапазоне ро-
ста огров от 6 футов до 8 футов, находящийся ровно посередине монстр
264 ГЛАВА 13 БАЛАНСИРОВКА ДИАПАЗОНА

будет ростом 7 футов, как показано на иллюстрации 13.3. Прикидывая это


в уме, вы в действительности интуитивно пользуетесь формулой баланси-
ровки диапазона. Возможно, вы уже пользовались ею бесчисленное коли-
чество раз в жизни, но никогда не задумывались, как она работает.
Чтобы лучше усвоить формулу балансировки диапазона, рассмотрим
более сложный пример. Предположим, нам нужно сбалансировать значе-
ния атрибута скорости бега для нескольких типов людей. В данном при-
мере мы начинаем с описаний, в которых нет никаких точных чисел, как
показано на иллюстрации 13.4.

Среднеста-
Тренированный Молодой Маленький Тяжело Чемпион тистический
Пожилой спортсмен и здоровый Ленивый ребёнок травмированный мира человек

Иллюстрация 13.4. Пример типов персонажей

На  иллюстрации 13.4 показан широкий спектр персонажей, у  кото-


рых будет разная скорость бега. Нужно определить эти показатели ко-
личественно. Прежде чем двигаться дальше, прочтите описание каждого
персонажа и подумайте, насколько быстро может бегать каждый из них.
Запишите для каждого из них процентное соотношение от 0 до 100%, срав-
нивая скорость бега каждого относительно скорости бега других. Важно
при этом не записывать конкретные числа —  например, мили в час или
километры в  час; вы можете представлять их мысленно, если это помо-
жет вам определиться с процентным соотношением, но записывать нуж-
но именно проценты. Записав все показатели, посмотрите на иллюстра-
цию 13.5, где показаны проценты, которые задал я.
Согласны ли вы с этими числами в процентах? Совпали ли они с ваши-
ми? Что еще важнее, расположили  ли вы персонажей в  том  же порядке
от  самого медленного к  самому быстрому? Если нет, не  волнуйтесь, вы
не  сделали ничего плохого. На  самом деле «правильный» ответ указан
только для одного персонажа, среднестатистического человека — 50%.
Во  время выполнения этого упражнения у  вас, возможно, возникли
примерно следующие вопросы.
БАЛАНСИРОВКА ДИАПАЗОНА 265

 «Тяжело травмированный» насколько? Это травма ног или рук?


 Насколько ленив «ленивый» человек?
 Какой именно «пожилой человек?»

Среднеста-
Тренированный Молодой Маленький Тяжело Чемпион тистический
Пожилой спортсмен и здоровый Ленивый ребёнок травмированный мира человек

Проценты
28% 86% 79% 32% 1% 10% 99% 50%

Иллюстрация 13.5. Типы персонажей с указанными процентами

Если это так, поздравляем: вы мыслите как гейм-дизайнер! Переводить


расплывчатые понятия в цифры — дело непростое, и оно всегда сопряжено
с разночтением и многозначностью. Во время перерыва на обед гейм-ди-
зайнеры часто спорят на такие темы и обсуждают их, а это свидетельству-
ет о том, что они хорошие специалисты.
В некоторых случаях даже нужно задавать дополнительные вопросы.
Если, допустим, дизайнер уровней попросит вас разработать персонаж
«ленивого человека», вам, скорее всего, захочется спросить: «Что значит
ленивый? Находящийся не в форме? С низкой мотивацией? Или какой-то
еще?» В  других случаях вам могут просто выдать подобный невнятный
список и попросить заполнить пробелы самостоятельно. К счастью, опи-
сываемая нами система отличается гибкостью, и  всегда можно подпра-
вить конкретные показатели позже.
После всех размышлений и рассуждений у вас получается список пер-
сонажей с процентными соотношениями скорости. Теперь нужно восполь-
зоваться формулой балансировки диапазона к  этим процентам, чтобы
они превратились в конкретные числа. Для этого нам нужны минималь-
ное и максимальное значения. Можно просто прикинуть в уме, что очень
медленный человек двигается со скоростью 3 мили (4,8 километра) в час.
Это очень медленно. Далее предположим, что очень быстрый человек про-
бегает за  час 20 миль (32 километра). В  реальном мире очень немногие
266 ГЛАВА 13 БАЛАНСИРОВКА ДИАПАЗОНА

бегают быстрее. Присвоив самому медленному бегуну наименьшее значе-


ние (min = 3), а самому быстрому наибольшее (max = 20), получаем все не-
обходимые для применения формулы данные. Электронная таблица может
легко автоматически вычислить скорость в милях для всех остальных пер-
сонажей на основе минимального, максимального и процентного соотно-
шения. В данном случае получаем набор численных значений, показанный
на иллюстрации 13.6. Теперь настало время протестировать эти числа.

Среднеста-
Тренированный Молодой Маленький Тяжело Чемпион тистический
Пожилой спортсмен и здоровый Ленивый ребёнок травмированный мира человек

Проценты
28% 86% 79% 32% 1% 10% 99% 50%
Min = 3, Max = 20
8 18 16 8 3 5 20 12

Иллюстрация 13.6. Персонажи с процентными соотношениями показателя


скорости и конкретными значениями

Кто что настраивает


После перехода на стадию тестирования объектов данных настройка раз-
деляется на две отдельные задачи.

 Системный баланс. Системный баланс относится к ощущениям от все-


го набора данных и к его функциям без затрудняющего такую настрой-
ку учета индивидуальных особенностей.
 Индивидуальный баланс . Индивидуальный баланс отвечает за  то,
чтобы каждый объект данных вызывал нужные ощущения, оставаясь
в рамках всей системы в целом.

В небольших проектах один человек может справиться с индивидуаль-


ным балансом, но в большой игре выполнить в одиночку всю работу по ба-
лансировке всех объектов данных просто невозможно. В ММО (массовых
многопользовательских онлайн-играх) бывают сотни различных персона-
жей и тысячи объектов. В таких ситуациях очень помогает балансировка
БАЛАНСИРОВКА ДИАПАЗОНА 267

диапазона. Отделив минимум и максимум от остальных индивидуальных


данных, можно регулировать их независимо от каждого конкретного объ-
екта. Такой метод оказывает огромное влияние как на игру, так и на реаль-
ный производственный процесс команды.
Допустим, вы работаете над скоростью бега персонажей-людей, и те-
стирование показало, что по ощущениям игроков все персонажи бегают
слишком медленно. Оказывается (и в видеоиграх это действительно так),
что для правильного восприятия игры многие реальные физические ха-
рактеристики должны быть усилены до нереальных уровней. Даже в «реа-
листичных» играх персонажи бегают быстрее, прыгают выше, дольше
задерживают дыхание, получают больше урона и регулярно совершают
множество других сверхчеловеческих подвигов, но именно это кажется
«правильным» игрокам. Поскольку ощущения от всех объектов в игре за-
висят только от двух показателей —  минимального и максимального — 
то на практике получается, что за эти значения, определяющие ощущения
игроков, отвечает один человек. Как правило, это ведущий гейм-дизай-
нер, работа которого заключается в обеспечении общего баланса игры. До-
пустим, ваша группа тестировщиков обнаружила, что значения слишком
низкие. После дополнительного игрового тестирования вы обнаружили,
что лучшие значения для минимума и максимума это min = 5 и max = 40.
Воспользовавшись формулой балансировки диапазона, вы меняете значе-
ния min и max, и скорость бега всех персонажей-людей мгновенно обнов-
ляется до новых значений (иллюстрация 13.7).

Среднеста-
Тренированный Молодой Маленький Тяжело Чемпион тистический
Пожилой спортсмен и здоровый Ленивый ребёнок травмированный мира человек

Проценты
28% 86% 79% 32% 1% 10% 99% 50%
Min = 3, Max = 20
8 18 16 8 3 5 20 12

Min = 5, Max = 40
15 35 33 16 5 9 40 23

Иллюстрация 13.7. Персонажи с модифицированными значениями


268 ГЛАВА 13 БАЛАНСИРОВКА ДИАПАЗОНА

На иллюстрации 13.7 показаны исходные проценты, первый вариант


значений и обновленные значения, к которым пришли в результате тестиро-
вания. В этом примере следует обратить внимание на несколько моментов.

 Числа в нижней части диапазона изменились не так сильно, как в верх-


ней. Это нормально, и это точно отражает незначительное изменение
минимума.
 Числа в  верхней части диапазона изменились значительно. Очевид-
но, именно здесь у  тестировщиков возникли проблемы. Возможно,
они были готовы смириться с ковыляющим пожилым NPC или с огра-
ничением скорости из-за особых условий (например, тяжелой трав-
мы). Но когда игроки узнавали о том, что персонаж — тренированный
спортсмен, они хотели видеть, как он буквально пулей проносится
по всему уровню.
 Процентное соотношение для чемпиона мира равно 99%, но при этом
значение максимально. Такое расхождение связано с округлением чи-
сел, показываемых игрокам. Как говорилось в главе 9 «Атрибуты: как
выразить жизнь на языке цифр», лучше не показывать десятичные или
дробные числа. Возможно, также вам захочется пересмотреть процент-
ное соотношение для чемпиона мира. Да, он чемпион, но вдруг в мире
есть еще некто, не показывающийся на публике, но бегающий быстрее
него? Поставив этому персонажу идеальный балл, вы не оставили ме-
ста для улучшения.

Когда команда довольна пределами системы, разработчики данных мо-


гут приступить к доработке и пересмотру показателей отдельных персона-
жей. Минимальное и максимальное значения всегда определяют весь диа-
пазон, а  отдельных персонажей следует корректировать в  соответствии
со шкалой. К счастью, это делается по большей части автоматически, по-
тому что сохраняются относительные отношения между персонажами, не-
зависимо от  изменения минимума или максимума. Обратите внимание,
что с этого момента настройку персонажей можно выполнять независимо
от диапазона данных в целом. Большие коллективы балансировщиков мо-
гут работать совместно друг с  другом и  с  ведущим гейм-дизайнером, со-
здавая огромное количество данных, естественным образом попадающих
в границы предполагаемой системы. Например, дизайнер уровня приходит
к балансировщику и просит создать персонажа-старушку — очень пожилую
и  едва передвигающуюся. Балансировщик легко может назначить этому
ОПОРНЫЕ ТОЧКИ ДАННЫХ 269

персонажу процентный показатель не 28%, а вообще 0%. В любом случае


персонаж попадет в диапазон, и для этого не нужно будет менять минималь-
ную и максимальную скорости, а дизайнер уровня останется доволен.
Хотелось  бы донести эту концепцию еще на  одном примере. На  заре
создания крупномасштабных видеоигр каждый атрибут объекта данных
приходилось вводить вручную, и  не  существовало такого понятия, как
сис тема балансировки диапазона. Представьте, что вы работаете балан-
сировщиком в игре с тысячами персонажей, и вас просят ускорить их всех.
Это потребовало бы от вас многодневной работы в базе данных, выполне-
ния отдельных вычислений или догадок, чтобы добавить каждому персо-
нажу по несколько очков. Если кто-то потом решит, что вы переборщили,
и попросит вас снова немного замедлить их всех, вам придется снова про-
делывать всю эту утомительную работу. Такова была реальность игровой
индустрии на протяжении многих лет; некоторые компании продолжают
работать так и сегодня.

Опорные точки данных


Древнегреческий математик Евклид сказал: «Вещи, равные одной и той же
вещи, равны и друг другу». Этот же принцип можно применить к большим
группам объектов данных. Если сравнить объекты данных с  каким-то од-
ним фиксированным образцом, то в некотором смысле это все равно что
сравнить все объекты друг с другом без необходимости проделывать это
вручную.
В главе 12 «Основы системного дизайна» вы узнали о формуле рукопо-
жатия и увидели, что добавление новых объектов приводит к увеличению
количества комбинаций. Создание большего количества комбинаций тре-
бует больших усилий. Что еще важнее, увеличивается и время тестирова-
ния и балансировки для каждой итерации. Как же у гейм-дизайнеров по-
лучается создавать большие наборы объектов? Как в ролевой игре может
насчитываться более сотни классов персонажей? Как в гоночной игре бы-
вают десятки автомобилей? Метод простого перебора и тестирования по-
требовал бы огромной армии гейм-дизайнеров. Такой способ непрактичен
даже для очень больших команд, а для маленьких он совершенно невоз-
можен. Но в своих играх большое разнообразие объектов поддерживают
многие средние и маленькие команды. Как это им удается? Опять же, су-
ществуют разные способы, но большинство из них можно свести к вариан-
там одной концепции: использованию опорных точек.
270 ГЛАВА 13 БАЛАНСИРОВКА ДИАПАЗОНА

Что такое опорная точка?


В  английском языке она называется fulcrum, и  одно из  основных значе-
ний этого слова —  «точка опоры, ось шарнира, центр вращения». В гейм-
дизайне опорная точка, или опорная точка данных 10,  —  то, что исполь-
зуется в качестве основы для сравнения, чтобы не прибегать к формуле
рукопожатий при большом количестве объектов и их вариаций. Возмож-
ность воспользоваться опорной точкой появляется каждый раз, когда у вас
так много игровых объектов, что их уже нельзя сбалансировать простым
перебором. Опорная точка —  это игровой объект, с которым будут срав-
ниваться все остальные объекты такого же типа. Часто этот объект даже
не появляется в игре, а используется гейм-дизайнерами исключительно
как технический инструмент балансировки.
Главное в опорной точке — это то, что она является «центром» баланси-
ровки. Этот объект не должен быть лучшим или худшим, как и не должен
быть каким-то особенным. В этом, собственно, и заключается весь смысл:
это наиболее базовый объект, с которым сравнивают остальные объекты
в группе.
Допустим, вы создаете мечи —  в таком случае опорной точкой послу-
жил  бы базовый меч. Не  лучший и  не  худший, а  самый основной, сред-
ний по  характеристикам. Некоторые мечи бывают большими и  мощны-
ми, но медленными. Другие бывают небольшими и быстрыми. «Опорный»
меч находится прямо посередине. Некоторые мечи могут быть заколдова-
ны или прокляты. Но опорный меч не заколдован и не проклят —  в этом
смысле он, опять же, находится посередине.
В качестве другого примера можно привести гоночную игру, в которой
есть автомобили с высокой скоростью, но плохой управляемостью. У дру-
гих автомобилей отличная управляемость, но  максимальная скорость
ниже средней. Некоторые автомобили быстрые и  хорошо управляемые,
но очень дорогие. Другие автомобили могут быть дешевыми, но медлен-
ными и плохо управляемыми. Опорный автомобиль будет занимать самое
среднее место и обладать средними параметрами по сравнению с другими
автомобилями: умеренной скоростью, умеренной управляемостью и уме-
ренной стоимостью. Если у вас имеется взвешенный рейтинг от 0 до 100
по всем этим аспектам —  скорость, управляемость и стоимость —  то рей-
тинг опорной точки был бы 50, 50, 50.
10
Часто используется термин «референсный» или «референтный объект», то  есть
объект, с  атрибутами которого происходит сравнение атрибутов других объек-
тов. — Прим. науч. ред.
ОПОРНЫЕ ТОЧКИ ДАННЫХ 271

примечание
В большинстве игр бывает больше одной опорной точки. В фэнтезий-
ных RPG могут быть опорные точки для мечей, щитов, брони, персо-
нажей, магических заклинаний и т. д.

Создание опорной точки


После того как вы определились с тем, для чего нужна опорная очка, со-
здать ее довольно просто. Начните с того, чтобы задать каждому атрибуту
значение в середине ожидаемого диапазона. Например, если в игре, над
которой вы работаете, у всех персонажей имеются атрибуты силы, ловко-
сти и интеллекта, а ожидаемый диапазон составляет 0–100, то значения
атрибутов опорного персонажа будут следующими.

 Сила: 50
 Ловкость: 50
 Интеллект: 50

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

Тестирование опорной точки


После установки начальных значений наступает время тестирования.
Нужно придумать наиболее распространенные ситуации, в  которых бу-
дет использоваться этот объект, и протестировать его в них. Конечно, для
разных видов игр такие ситуации отличаются, но можно для наглядности
рассмотреть конкретный пример.
Если игра сосредоточена на персонажах в боевых ситуациях —  напри-
мер, это ролевая игра или экшен-шутер, —  то лучше всего проводить те-
стирование именно на этом. Поместите опорного персонажа в различные
боевые сценарии. Если игра многопользовательская, протестируйте ваше-
го персонажа — опорную точку в бою против себя самого. Допустим, вы
создали шутер для восьми игроков с одним тестовым уровнем. Вам пона-
добятся опорные точки для персонажей и оружия. Затем вы используете
этого персонажа и это оружие восемь раз —  по одному разу для каждого
272 ГЛАВА 13 БАЛАНСИРОВКА ДИАПАЗОНА

из игроков — и проводите игровую сессию. Скорее всего, это будет далеко


не самая интересная игра, но она должна работать, а также демонстриро-
вать относительно интересный геймплей. Вполне вероятно, что она не сра-
ботает даже во время первого тестирования. Но ведь переделать опорные
точки и протестировать их снова достаточно легко.
Итерации тестирования над этим персонажем нужно продолжать
до тех пор, пока не будет достигнута цель —  работающая игра и относи-
тельно интересный бой. Нередко для достижения рабочего состояния по-
требуется десяток и более итераций. Допустим, у вас есть персонаж с та-
кими показателями.

 Сила: 50
 Ловкость: 50
 Интеллект: 50

В ходе игрового тестирования вы замечаете, что значение ловкости 50


слишком мало для всех; персонажи постоянно промахиваются, а бой затя-
гивается и становится скучным. Вполне возможно, что приемлемый диа-
пазон ловкости должен составлять 70–100, а все что ниже 70 можно заре-
зервировать для особых ситуаций, таких как травмы. В таком случае вы
меняете значение ловкости персонажа с опорной точкой на 85, потому что
это середина диапазона 70–100. Пусть и это значение будет неокончатель-
ным, но для начала это неплохое предположение.
После регулировки опорной точки нужно снова провести тестирова-
ние. Запишите, что изменилось, а что осталось прежним. Рекомендуется
менять значение только одного атрибута за один раз, потому что так бу-
дет легче увидеть эффект от изменения. Возможно, этот процесс придется
повторить неоднократно. Почувствовать точку опоры очень важно, пото-
му что она — основа для всех остальных объектов данных. Не волнуйтесь,
если настройка опорной точки займет намного больше времени, чем вы
выделили на балансировку отдельного объекта; скорее всего, на создание
хорошо выверенной опорной точки уйдет гораздо больше времени, чем
на балансировку других объектов.
Также важно протестировать опорную точку при как можно большем
количестве различных условий. Например, можно проверить, как опорная
точка опоры работает в бою один на один, в бою с тремя игроками, с че-
тырьмя игроками и так далее. Также по возможности следует проверять
различные типы окружения. Как она показывает себя в самой маленькой
ОПОРНЫЕ ТОЧКИ ДАННЫХ 273

игровой зоне? А в самой большой? Работает ли опорная точка одинаково


хорошо в этих областях? Какой участок в вашей игре самый открытый?
А что будет в самом узком? Постарайтесь по отдельности протестировать
опорную точку в самых различных ситуациях. Такое тестирование помо-
жет вам решить любые проблемы баланса не только с данным объектом,
но и с игровым окружением. Тестирование часто выявляет ограничения
игровых систем.

Фиксация (блокировка) опорной точки


После нескольких дней, недель или даже месяцев тестирования должна
появиться четкая картина того, что представляет собой игра и как будут
работать игровые объекты. Работа эта довольно изнурительная и утоми-
тельная, но в итоге она принесет свои плоды. Как только ваша команда
почувствует, что точка опоры сбалансирована, а основная механика игры
понятна, важно зафиксировать опорную точку, то есть больше не вносить
в нее никаких изменений. Опорную точку следует зафиксировать до того,
как создавать что-либо еще, если только не произойдет катастрофической
ошибки или серьезных изменений в проекте.
Зафиксированная опорная точка служит нескольким очень важным це-
лям. Прежде всего, она представляет собой измерительный образец для
всех других объектов такого же типа. Так, если вы создаете игру про гон-
ки на автомобилях, вы будете сравнивать с опорной точкой каждую новую
машину. Если это файтинг, то с опорной точкой будет сравниваться каж-
дый новый персонаж. Если это оружие, то с опорной точкой будет сравни-
ваться каждое новое оружие и т. д.
Зафиксированная опорная точка также служит ориентиром и для дру-
гих аспектов игры. Например, если игра позволяет подбирать в отряд не-
скольких персонажей с оружием, то опорную точку в виде персонажа можно
использовать для уравнения отрядов и тестирования оружия. И наоборот,
с помощью опорной точки в виде оружия можно проверять, как каждый пер-
сонаж это оружие использует. Наконец, опорная точка персонажа с опорной
точкой оружия — это установленный стандарт, эталон для сравнения.
В конце концов, надежная опорная точка необходима для тестирования
всего, что ее окружает. Например, в шутере с ареной вы можете создать
надежного персонажа, с помощью которого дизайнеры уровней будут те-
стировать новые уровни. При этом они будут уверены в том, что создают
именно такие уровни, которые станут работать с игровыми персонажами.
274 ГЛАВА 13 БАЛАНСИРОВКА ДИАПАЗОНА

Вы же как гейм-дизайнер будете уверены в том, что команда дизайнеров


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

Использование опорной точки для создания данных


После фиксации объекта опорной точки можно приступать к работе над
остальными данными. Рассмотрим снова пример с арена-шутером. Пред-
положим, что после долгих доработок и настроек у вас есть опорный пер-
сонаж со следующими показателями.

 Сила: 40
 Ловкость: 85
 Интеллект: 50

Допустим, что для этой игры вам нужно сделать еще 19 персонажей. Вы
уже прошли процесс, описанный в главе 11 «Атрибуты в числах» и опреде-
лились с прилагательными.

 Громила: самый сильный, очень медленный, с  очень низким интел-


лектом.
 Снайпер: слабый, ловкий, с хорошим интеллектом.
 Медик: слабый, не очень ловкий, с наилучшим интеллектом.

Перед созданием этих персонажей вы определились с тем, что вашим


приоритетом будет громила, и мы начнем с того, что присвоим значения
его атрибутам. При первом проходе получаем следующее.

 Громила
 Сила: 40
 Ловкость: 85
 Интеллект: 50
ОПОРНЫЕ ТОЧКИ ДАННЫХ 275

Казалось  бы, странно, что при первом проходе персонаж идентичен


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

 Громила
 Сила: 90
 Ловкость: 73
 Интеллект: 20

примечание
С этого момента все важнее становится постоянно сравнивать гро-
милу с опорной точкой.

Если вы проводите «бой насмерть» для восьми игроков, то для проверки


первой настройки значений громилы нужно использовать семь опорных
персонажей и одного громилу. Как ведет себя громила?
Проведите повторное тестирование и убедитесь, что результаты совпа-
дают. Если громила действует наравне с опорным персонажем, значит, вы
провели успешную настройку и не вызвали дисбаланса. После этих тестов
будет неплохо провести еще несколько тестов с другими составами —  на-
пример, два громилы и шесть опорных персонажей, или по четыре каж-
дого, или семь громил и один опорный. Такие тесты позволяют убедить-
ся в том, что небольшие отклонения от баланса не будут суммироваться
и не вызовут большой дисбаланс в более крупном масштабе.
276 ГЛАВА 13 БАЛАНСИРОВКА ДИАПАЗОНА

После завершения цикла тестирования громилы, следует внести боль-


ше поправок в  атрибуты и  еще раз протестировать только против опор-
ного персонажа. Такое тестирование может занять несколько итераций,
но процесс должен пройти гораздо быстрее, чем первоначальная настрой-
ка опорной точки.
Помните, что цель всего этого  —  достижение баланса между громи-
лой и опорным персонажем. У них должны быть равные шансы на победу.
Если громила доминирует, то его показатели нужно уменьшить; и наобо-
рот, если он постоянно проигрывает, то его показатели нужно повысить.
Но помните, что регулировать опорную точку после ее фиксации нельзя.
Когда показатели громилы будут хорошо работать против опорного
персонажа во всех тестовых ситуациях, можно оставить его. Далее процесс
повторяется со снайпером. Важно отметить, что изначально мы не тести-
руем его в сравнении с громилой. Именно здесь наличие опорного персо-
нажа начинает экономить время. Поскольку известно, что громила сба-
лансирован относительно опорного персонажа, то  можно справедливо
предположить, что если сбалансировать снайпера относительно опорно-
го персонажа, то снайпер будет сбалансирован и относительно громилы.
Закончив со снайпером, отложите его и займитесь медиком. Опять же,
тестировать медика нужно только против опорного персонажа, а не про-
тив громилы или снайпера. Продолжайте этот процесс для всех оставших-
ся персонажей. Фаза тестирования и настройки превращается из посто-
янно расширяющегося процесса в простой линейный тест. С добавлением
очередного персонажа его не приходится тестировать против всех осталь-
ных; достаточно только тщательно протестировать его против опорного
персонажа.

Неизбежное перекрестное тестирование


После создания всех 20 персонажей и  их тестов только против опорно-
го, придется сделать неизбежное: испытать их во  многих комбинаци-
ях. В  данном случае количество возможных комбинаций огромно. Что-
бы узнать точное число, воспользуемся функцией электронной таблицы
COMBIN (ЧИСЛКОМБ), описанной в главе 12. Чтобы определить, сколько
комбинаций из 20 персонажей может быть в игре на 8 игроков, воспользу-
емся следующей формулой:

=COMBIN(20;8)
ОПОРНЫЕ ТОЧКИ ДАННЫХ 277

Формула дает результат 125 970. Проверить такое количество комбина-


ций внутри студии было бы невозможно. К счастью, тестировать все их
необязательно; поскольку вы тестировали всех персонажей относительно
опорного, то все они должны быть более или менее сбалансированы уже
на первом тесте.
Благодаря предварительной подготовительной работе по  созданию
опорной точки, ее фиксации и использованию при тестировании всех пер-
сонажей, все они, естественно, уже будут близки к балансу. Поэтому вместо
того чтобы тестировать их всех против друг друга, достаточно протести-
ровать лишь некоторые комбинации, исходя из своей интуиции. Гейм-ди-
зайнеры и хорошая команда по контролю качества должны попробовать
комбинации, которые, по их мнению, могут быть проблематичными. Это
необходимый шаг в поиске окончательного баланса. (В главе 17 «Тонкая
настройка баланса, тестирование и решение проблем» мы подробнее об-
судим, как найти правильный баланс игровых данных.)

примечание
В  больших командах разработчики вместо тестирования методом
грубого перебора могут использовать автоматическое ИИ-тестиро-
вание или другие алгоритмы.

Прогрессия опорной точки


До сих пор в этой главе мы обсуждали лишь один срез игровых объектов,
но  в  более сложных играх этого бывает недостаточно. Если в  игре есть
концепция повышения уровня или другая форма прогрессии объектов
данных, то  одной опорной точки будет недостаточно. Например, игрок
начинает с первого уровня, сражаясь с орками первого уровня; далее он
повышает уровень до второго и сражается с более крупными и сильными
орками второго уровня; затем он повышает свой уровень до третьего и так
далее. В таком случае нужно создавать опорного персонажа для всех вер-
сий или уровней, прежде чем создавать остальные объекты данных и рас-
пределять их по уровням.
Опорного персонажа какого уровня нужно создавать первым? Мож-
но привести аргументы как для самого низкого, так и для самого высоко-
го, а также для среднего. Если есть сомнения, безопаснее всего начинать
278 ГЛАВА 13 БАЛАНСИРОВКА ДИАПАЗОНА

с середины. Например, если в игре есть объекты, переходящие с первого


по девятый уровень, то можно сначала создать опорную точку для пятого
уровня. Когда ощущения от опорной точки уровня будут такими, как заду-
мано, можно ослаблять объект, пока он не станет достаточно слабым для
первого уровня. После этого можно усиливать объект, пока он не достиг-
нет своего максимума, 9 уровня. (Более подробно об усилении см. главу 14
«Экспоненциальный рост и убывающая отдача».)
Когда установлены рамки и  центральные точки, можно тестировать
эти объекты друг против друга. Действительно ли пятый уровень настоль-
ко лучше первого, что игроки смогут ощутить прогрессию? Аналогичным
образом на максимальном уровне объекта в нем должно ощущаться явно
большое количество улучшений.

Иллюстрация 13.8. Прогрессия опорной точки

После того как будет создана точка опоры минимального, средне-


го и  максимального уровней, можно создавать все остальные объекты
ИЕРАРХИЧЕСКИЙ ДИЗАЙН 279

на среднем уровне прогрессии; все они будут уравновешены относитель-


но центральной опорной точки. После того как будут рассчитаны все уров-
ни опорной точки, можно на основе того же градиента менять значения
остальных объектов данных. В итоге получатся несколько рядов прогрес-
сии объектов данных, параллельных друг другу с минимального по мак-
симальный уровни, как показано на иллюстрации 13.8.
На  иллюстрации 13.8 видно, что центром всей совокупности объек-
тов данных является опорный объект среднего уровня. Все остальные со-
здаются и балансируются с опорой на центральную точку прогрессии — 
в данном случае это пятый уровень. Для каждого добавляемого объекта
данных создается свой ряд прогрессии, и каждый его уровень ориентиру-
ется на фиксированный уровень опорной точки.

Иерархический дизайн
Не только в играх, но и в любой сложной системе со множеством настраивае-
мых переменных возникает общая проблема: какую переменную настраи-
вать? Например, если вы работаете над игрой, в которой игровой персонаж
сражается с монстром, и вы пришли к мнению, что монстр слишком труд-
ный, то как сделать его легче в сражении? Исходя из предположения, что
у монстра стандартные боевые атрибуты ролевой игры (RPG), можно сде-
лать так, чтобы монстр наносил меньше урона, реже атаковал или начинал
с меньшим количеством очков здоровья. Или же можно сделать наоборот,
чтобы игровой персонаж наносил больше урона, чаще атаковал или начинал
с большим количеством очков здоровья. Значения всех этих атрибутов мож-
но менять в любых комбинациях. Но что именно следует изменить? И что
оставить прежним? Как говорилось ранее, к моменту балансировки персона-
жей опорная точка данных должна быть зафиксирована и не должна менять-
ся. От чего тогда зависит выбор изменяемого значения для персонажей? От-
вет слегка отличается для каждой игры, но можно воспользоваться методом,
облегчающим принятие решения: методом иерархического дизайна.
В своей основе метод иерархического дизайна очень прост: составить
линейный список элементов игры с  самых важных вверху до  наименее
важных внизу. Далее, если между собой конфликтуют какие-то две харак-
теристики, следует проверить, на каком месте в списке находится каждая
из них. Изменять следует ту, которая ниже. В случае сомнений начните
с самых глобальных, влияющих на всю игру характеристик в верхней ча-
сти списка и переходите к самым локальным характеристикам в нижней
280 ГЛАВА 13 БАЛАНСИРОВКА ДИАПАЗОНА

части. Как правило, именно локальные характеристики следует подстраи-


вать под глобальный дизайн, а не наоборот.

Начало составления иерархии


Приступить к созданию иерархии можно на самых ранних этапах процес-
са создания игры 11. Начните с очень широких концепций, подобных сле-
дующим.

 Общая концепция игры


 Игровой движок
 Платформа (консоль)
 Игровое управление
 Игровая камера
 Клавиши/кнопки управления
 Игровой пользовательский интерфейс
 Игровой персонаж
 Атрибуты
 Меш
 Анимации
 Ограничения дизайна уровней
 Опорный уровень с максимальной высотой потолка, шириной две-
рей и т. д.
 Опорный вражеский персонаж
 Все другие вражеские персонажи
 Опорный неигровой персонаж (NPC)
 Все другие неигровые персонажи (NPC)
 Усиления
 Отдельные уровни
 Геометрический поток
 Интерактивные установки
 Награды макросистем
11
Иерархию структуры удобно делать, разбивая игру на  игровые системы  —  это
крупные функциональные блоки, которые можно логически отделить друг
от друга, инкапсулировать. — Прим. науч. ред.
ИЕРАРХИЧЕСКИЙ ДИЗАЙН 281

 Звук
 Музыка
 Спецэффекты (SFX)

Даже такой простой пример иерархии уже поможет частично ответить


на заданный выше вопрос: должен измениться монстр, но не игровой пер-
сонаж. Допустим, вы измените атрибуты игрового персонажа, чтобы сде-
лать бой с одним монстром получше. Но что это сделает с остальной иг-
рой? Очень вероятно, что нарушит баланс во многих или во всех других
боях с  монстрами. Другим гейм-дизайнерам придется их перенастраи-
вать, а возможно, и менять показатели игрового персонажа (ИП). Такое
решение приведет к бесконечному циклу перебалансировки ИП в попытке
приспособиться ко множеству ситуаций. С другой стороны, если изменить
монстра, все остальные бои между ИП и другими монстрами останутся
прежними. Изменения останутся как можно более локальными, а  пере-
делка пройдет быстро и точно.
Чтобы определить, какие атрибуты нужно изменить у монстра, можно
в качестве ориентира воспользоваться опорным монстром, потому что он
выше по рангу, чем этот отдельный. Далее можно составить дополнитель-
ный список атрибутов по порядку, либо предоставить свободу действий кон-
кретному гейм-дизайнеру, работающему над этим конкретным вопросом.

Преимущества иерархического дизайна


Вот почему команда или даже отдельные разработчики должны выстраи-
вать игровую иерархию.

 Она помогает решать споры. Глядя на четко определенный список, лег-


че принимать решения и придерживаться их.
 Она облегчает коммуникацию. Если вся команда имеет представление
об иерархии и знает, что наиболее важно, то все работают более сла-
женно, не мешая друг другу.
 Она проясняет приоритеты в производстве. В указанном выше примере
иерархии очень высокое место в списке занимает игровая камера. Это
значит, что работа над игровой камерой должна начинаться и даже за-
канчиваться гораздо раньше, чем над элементами ниже по списку, та-
кими как геометрия уровней. В  процессе разработки эти два аспек-
та часто противоречат друг другу, поэтому если более важный из них
282 ГЛАВА 13 БАЛАНСИРОВКА ДИАПАЗОНА

зафиксировать на  ранней стадии, то  сократится время на  доработку


и переделку.
 Иерархию можно отражать в обновляемом документе. Учтите, что при-
веденный выше пример довольно расплывчатый, и в нем перечислены
только одни из основных особенностей и характеристик игры. По мере
разработки игры иерархия должна расти. При необходимости можно
перечислить в ней каждого отдельного монстра или каждое усиление.
 Она гибкая по  охвату. Перечислить в  иерархии можно все функции
и  объекты данных игры, но  обычно такая детализация не  требуется.
Команда может органично подобрать подходящий для проекта уро-
вень детализации во время работы над проектом, начиная с высокого
уровня, то есть общего обзора, и добавляя детали при необходимости.
В  очень большом проекте с  сотнями разработчиков и  тысячами объ-
ектов данных иерархия может быть очень большой и подробной. И на-
оборот, для одиночного проекта или небольшой команды вполне может
сгодиться иерархия высокого уровня, вроде показанной выше.

После создания первоначальной иерархии ее следует обсудить в коман-


де. Каждый должен знать, какое место в списке занимают те особенности,
над которыми он работает. Между разработчиками могут возникнуть не-
которые споры по поводу «важности» их особенностей. Лучше провести
эти разговоры на ранней стадии, чем оставлять их без внимания до воз-
никновения реальной проблемы.

Дальнейшие шаги
После завершения этой главы рекомендуется некоторое время попракти-
коваться на реальных примерах и попробовать использовать рассмотрен-
ные здесь концепции. Чтобы лучше усвоить такие понятия, как «иерар-
хический дизайн» и  «балансировка диапазона», выполните следующие
упражнения.

 Создайте электронную таблицу с персонажами из вашей собственной


или любимой игры. Внесите значения их атрибутов и рассчитайте ми-
нимальное и максимальное значения. Затем используйте эти числа для
определения диапазона и выполните балансировку диапазона для пер-
сонажей.
ДАЛЬНЕЙШИЕ ШАГИ 283

 Создайте нового опорного персонажа для игры, над которой вы рабо-


таете, или для существующей игры. Рассмотрите всех действующих
персонажей и попытайтесь вычислить, какими должны быть точные
центральные значения для каждого атрибута.
 Создайте иерархию для проекта, над которым вы работаете. Начните
с самых общих концепций, а затем добавьте конкретные детали проек-
та и подумайте, как придется менять приоритет этих деталей по мере
его развития. Взглянуть на свой проект с такой точки зрения бывает
очень полезно.
ГЛ А В А 14

ЭКСПОНЕНЦИАЛЬНЫЙ
РОСТ И  УБЫВАЮЩАЯ
ОТДАЧА
В системе с экспоненциальным ростом линейные
шаги подразумевают постоянно растущий объем
ввода или вывода. Хороший пример из реального
мира — соотношение стоимости автомобилей с разной
скоростью. В целом более быстрые автомобили
стоят дороже. Но скорость и стоимость автомобилей
не увеличиваются одинаково. Чтобы приобрести
автомобиль с ненамного большей скоростью,
приходится платить все больше и больше. Каждая
дополнительная миля в час становится все дороже.
Такой тип увеличения называется экспоненциальным
ростом. С другой стороны, максимальная скорость
автомобиля, за который вы платите, становится меньше
в пересчете на доллары. Такое снижение предельного
(дополнительного) приращения производительности
при постепенном увеличении количества одного
фактора производства и неизменных остальных
факторов называется убывающей отдачей. Обе эти
концепции взаимосвязаны и работают вместе.
286 ГЛАВА 14 ЭКСПОНЕНЦИАЛЬНЫЙ РОСТ И УБЫВАЮЩАЯ ОТДАЧА

Простым играм, таким как шахматы, нарды и шашки,  не нужны сис-


темы экспоненциального роста или убывающей отдачи. В целом необхо-
димость в системах роста возникает только при создании механик вроде
кампаний. Экспоненциальный рост в игровых системах —  это потребле-
ние постоянно увеличивающихся ресурсов и отдача только с линейным
приращением. Простой и распространенный пример — зарабатывание оч-
ков опыта для повышения уровня персонажа. В системе экспоненциально-
го роста для повышения персонажа на один последующий уровень требу-
ется все больше очков опыта.
Гейм-дизайнеры создают системы экспоненциального роста по  не-
скольким причинам.

 Они «зацепляют» игрока, предоставляя ранние циклы вознаграждения.


 Они побуждают играть дольше и формируют более глубокие отноше-
ния с игрой на более поздних этапах.
 Они позволяют разработчикам быстро вводить новые простые механи-
ки для расширения игровых возможностей.
 Они позволяют распределять последующие вознаграждения по интер-
валам, соответствующим целям разработки и механики.

Схему экспоненциального роста можно разработать для всего, что про-


грессирует по уровням или усложняется с течением времени или в про-
странстве. Вот несколько примеров.

 Сложность прогрессирующих уровней в аркадном автомате с моне-


тами.
 Качество оружия в сравнении со стоимостью.
 Скорость транспортного средства в сравнении со стоимостью.
 Опыт, необходимый для повышения уровня.
 Игровое время для получения достижения.
 Количество побежденных врагов для завершения квестовой линии.
 Количество ежедневных отжиманий, выполняемых в  течение трени-
ровки.
 Количество материалов, собранных для изготовления более совершен-
ного оборудования.
ЭКСПОНЕНЦИАЛЬНЫЙ РОСТ 287

Линейный рост
Прежде чем описывать экспоненциальный рост, неплохо для сравнения
узнать, что такое линейный рост. Линейный рост означает, что общая сум-
ма просто растет совместно с увеличением какой-то величины. Например,
если после каждого хода в игре вы добавляете 2 очка к общей сумме, то по-
сле 10 ходов у вас будет 20 очков, а после 100 ходов —  200 очков. График
такого роста показан на иллюстрации 14.1.

Иллюстрация 14.1. График линейного роста

Линейный рост в играх используется там, где нужен простой и устойчи-


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

Экспоненциальный рост
Как уже упоминалось выше, экспоненциальный рост —  это рост, степень
которого повышается пропорционально растущей сумме или размеру. Гра-
фик экспоненциального роста показан на иллюстрации 14.2. В играх та-
кой тип роста можно использовать бесчисленным количеством способов,
и  каждый из  них имеет свои сильные и  слабые стороны. Поскольку эта
книга представляет собой лишь введение в дизайн систем, то рассматри-
ваемая здесь формула — отличная для начала; на протяжении всей книги
мы будем называть ee базовой формулой экспоненциального роста. Усвоив
288 ГЛАВА 14 ЭКСПОНЕНЦИАЛЬНЫЙ РОСТ И УБЫВАЮЩАЯ ОТДАЧА

простую формулу и протестировав ее в своих играх, вы, скорее всего, най-


дете способ настроить ее и приспособить к своим потребностям.

примечание
Чтобы получить максимальную пользу от этой главы, откройте элек-
тронную таблицу и проработайте в ней все описанные примеры.

Экспоненциальный рост
40000,000

30000,000
Рост

20000,000

10000,000

0,000

Иллюстрация 14.2. График базового экспоненциального роста

Части базовой формулы экспоненциального роста


В базовой формуле экспоненциального роста имеется всего несколько пе-
ременных, но даже незначительные их изменения приводят к огромному
количеству вариаций. Вот эти части:

 количество итераций;
 начальное значение;
 аддитивное значение итерации («рост роста»);
 множитель итерации.
ЭКСПОНЕНЦИАЛЬНЫЙ РОСТ 289

С помощью этих четырех переменных и одной формулы можно создать


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

Иллюстрация 14.3. Базовые вводимые переменные

В этом примере имена переменных были сокращены, чтобы лучше по-


меститься на странице. Itt означает «количество итераций», и это должно
быть заголовком столбца, в котором будет много ячеек с записями. Init (на-
чальное значение), Add (аддитивное значение итерации) и Mult (значение
множителя итерации) выделены цветом в качестве подзаголовков, и на-
против них находятся отдельные ячейки для переменных. Пустые столб-
цы в этой таблице оставляют место для последующего добавления вычис-
лений.

примечание
В  примере с  конкретной игрой можно, например, заменить «ите-
рации» на «уровень игрока», чтобы найти опыт, необходимый для
повышения уровня.

Первым делом нужно решить, сколько всего будет итераций (или «ша-
гов»). Это может быть количество уровней, через которые игрок будет про-
ходить, пока не достигнет максимального развития. Либо это стоимость
различных мечей, которые может купить игрок, или уровни мощности
космических кораблей, или что-то еще, что растет экспоненциально. Ба-
зовая формула экспоненциального роста потому и  называется базовой,
что ее можно применять в самых разных областях. Для примера возьмем
100 итераций, чтобы построить достаточно длинную кривую. В вашей соб-
ственной игре вы можете воспользоваться кривой гораздо меньшего или
даже большего размера.
290 ГЛАВА 14 ЭКСПОНЕНЦИАЛЬНЫЙ РОСТ И УБЫВАЮЩАЯ ОТДАЧА

Чтобы добавить номера итераций, начните с того, что введите число 1


в ячейку A2, а затем автоматически заполняйте последующие ячейки (как
говорилось в главе 5 «Основы работы с электронными таблицами»), пока
не получите нужный вам список чисел. Далее нужно будет вести значения
оставшихся переменных (Init, Add и Mult); для начала присвоим каждой
значение 1. Теперь ваша электронная таблица должна выглядеть так, как
показано на иллюстрации 14.4.

Иллюстрация 14.4. Настройка таблицы

Далее нужно добавить вычисляемое значение для результата каждого


шага, начиная с ячейки B2. Результат самого первого шага будет равен зна-
чению Init, поэтому в данном случае в ячейке B2 делаем ссылку на ячей-
ку G1. В столбец B также следует добавить заголовок Value («Значение»),
потому что в нем будут отображаться вычисленные значения для каждого
шага. После этого в ячейке B3 можно будет ввести формулу, определяю-
щую график экспоненциального роста, как описано далее.

Строительные блоки формулы экспоненциального роста


На каждом шаге базовой формулы экспоненциального роста значение пре-
дыдущей ступени умножается на значение множителя итерации, а затем
к результату добавляется аддитивное значение итерации:

(Предыдущий шаг × значение множителя итерации) + аддитивное


значение итерации = Новый шаг
ЭКСПОНЕНЦИАЛЬНЫЙ РОСТ 291

Эта формула повторяется сколько нужно итераций. На  иллюстра-


ции 14.5 показана электронная таблица с формулой, примененной впервые.

Иллюстрация 14.5. Применение базовой формулы


экспоненциального роста

Обратите внимание, что ссылка на ячейку B2 на иллюстрации 14.5 от-


носительна, а это значит, что она будет обновляться с каждой итерацией
по мере заполнения списка. Также обратите внимание, что ссылки на ад-
дитивное значение итерации и значение множителя итерации абсолют-
ны (это обозначается символом $ в ссылке на ячейку). Эти ссылки должны
быть фиксированными и неизменными, потому что расположение этих
значений никогда не меняется. Введя эту формулу как показано на иллю-
страции 14.5, воспользуемся автозаполнением для вычисления значений
каждой итерации. Введенные нами значения переменных дают довольно
скучный список чисел, показанный на иллюстрации 14.6.

Иллюстрация 14.6. Шаги вычислений


292 ГЛАВА 14 ЭКСПОНЕНЦИАЛЬНЫЙ РОСТ И УБЫВАЮЩАЯ ОТДАЧА

Это не совсем экспоненциальный рост, потому что значение множите-


ля равно единице. Любое число, умноженное на 1, равно самому себе, по-
этому получается линейный, а не экспоненциальный график роста. Чтобы
изобразить это визуально, выберите столбец B и вставьте линейный гра-
фик. На  иллюстрации 14.7 показан график, изображающий базовый ли-
нейный рост.

Иллюстрация 14.7. График базового линейного роста

Иллюстрация 14.8. «Сломанный» график с множителем 3


ЭКСПОНЕНЦИАЛЬНЫЙ РОСТ 293

В этом примере нашей целью было нечто другое, но все необходимые


компоненты уже на месте. Ключевой элемент экспоненциального роста — 
множитель. Без множителя экспоненциального роста не будет. Но какое
значение ему присвоить? Учтите, что игрок, скорее всего, никогда не уви-
дит эту переменную, поэтому не  нужно беспокоиться о  том, чтобы это
было именно целое или какое-либо другое доступное для восприятия чис-
ло. Возможно, вы удивитесь, но для такого большого количества итераций
нужны очень маленькие значения. Убедиться в этом можно, введя значе-
ние множителя (в ячейку G3) и посмотрев, что получится. Даже с таким
небольшим целым числом, как 3, ближе к концу график сильно взлетает,
и значения становятся такими огромными, что для их отображения тре-
буется научная нотация.
Множитель можно представить в виде процента, причем небольшого.
Неплохое значение для начала —  2% роста; график при этом получается
не слишком крутым, но четко показывающим рост по мере итераций. Что-
бы записать 2% в виде значения Mult, нужно ввести число 1,02; этот мно-
житель дает график, показанный на иллюстрации 14.9.

Иллюстрация 14.9. Экспоненциальный рост с множителем 1,02

Теперь график действительно отображает экспоненциальный рост;


формально можно остановиться и на этом. Однако с этим ростом связаны
294 ГЛАВА 14 ЭКСПОНЕНЦИАЛЬНЫЙ РОСТ И УБЫВАЮЩАЯ ОТДАЧА

некоторые практические проблемы. Чтобы увидеть первую проблему, об-


ратите внимание на значения в столбце B и представьте их в игровом кон-
тексте очков опыта, необходимых для достижения следующего уровня.
Игрок начинает с уровня 1, и ему говорят набрать 1 XP (очко опыта) для
повышения уровня. На уровне 2 игроку скажут набрать 2,02 XP. Здесь воз-
никает первая проблема: игроку предъявляют число с десятичной дробью.
Один из способов решить проблему десятичных дробей —  создать более
понятное для игрока производное значение (или «отображаемое» значе-
ние) и округлить десятичное значение с помощью функции. На иллюстра-
ции 14.10 показан столбец, добавленный для отображаемого значения
(столбец C).

Иллюстрация 14.10. Добавление столбца для отображаемого значения

В столбце Display («Отображение») теперь представлены цифры, с кото-


рыми игрокам легче работать, но образовалась еще одна проблема. На ран-
них уровнях итерации рост почти линеен, что может вызвать недоразуме-
ние у игроков и, что еще хуже, создает сложные математические проблемы
для разработчиков.
Представим, что в столбце Display отображается количество XP (очков
опыта) для повышения уровня автомобиля в гоночной игре. Вы сделали
так, чтобы игрок мог заработать 1 XP в  легком заезде и  2 или более XP
ЭКСПОНЕНЦИАЛЬНЫЙ РОСТ 295

в сложном, где выше шанс неудач. При значениях, показанных на иллю-


страции 14.10, игрок станет набирать уровни очень быстро, и у него не бу-
дет стимула участвовать в более сложных гонках. В таком случае для по-
вышения уровней достаточно просто «гриндить» (раз за разом повторять)
легкую трассу.
Проблему можно решить, увеличив множитель, но это приведет к уже
обозначенной проблеме очень больших чисел в конце списка. Нам же ну-
жен более заметный, но устойчивый рост в начале и более значительный,
экспоненциальный рост в конце. Для этого можно изменить значение па-
раметра Add. Значение Add аддитивное («добавляемое»), а это значит, что
оно не влияет на форму кривой роста, но меняет приращения в начале кри-
вой. Например, изменив значение Add на 10, получаем график, показан-
ный на иллюстрации 14.11.

Иллюстрация 14.11. Округленные числа

На  данном этапе кривая все еще показывает комфортный темп,


но на ранних уровнях виден отчетливый рост для каждой итерации. Иг-
роки могут интуитивно заметить его, и  этого будет достаточно, чтобы
побудить их выполнять задания для получения необходимых ресурсов
(в данном случае XP). Но здесь скрыта еще одна проблема. Чтобы лучше ее
увидеть, прокрутите вниз столбец итераций и посмотрите на рост ближе
к числу 100 (см. иллюстрацию 14.12); сравните этот рост с тем, что пока-
зан на первых 10 уровнях.
296 ГЛАВА 14 ЭКСПОНЕНЦИАЛЬНЫЙ РОСТ И УБЫВАЮЩАЯ ОТДАЧА

Иллюстрация 14.12. Рост ближе к концу итераций

Иллюстрация 14.13. Верхняя часть списка итераций

Ничего страшного, если вы не замечаете проблемы. Она может быть


неочевидной, пока не столкнешься непосредственно, не увидишь в виде
кривой или не введешь в игру и не протестируешь. Но выявить проблему
можно и в электронной таблице с помощью еще одной проверки: выраже-
ния прироста для каждой итерации в процентах от значения предыдущей
ЭКСПОНЕНЦИАЛЬНЫЙ РОСТ 297

итерации. То есть, иными словами, нужно определить размер «скачка» ко-


личества очков XP, необходимых для повышения уровня. Равномерен ли
он на протяжении всего цикла или где-то резко меняется?

Иллюстрация 14.14. Нижняя часть списка итераций

Для наглядности возьмем предыдущее значение каждой итерации


и разделим его на значение новой итерации. Так мы увидим, насколько
сильно в процентах изменилось значение, необходимое для повышения
уровня. Сравните верхнюю часть списка итераций (иллюстрация 14.13)
с нижней (иллюстрация 14.14).
Как показывает проверка, чтобы перейти с уровня 2 на уровень 3, не-
обходимо увеличить количество очков на 1102%! Это огромное увеличе-
ние; скорее всего, при таком огромном скачке значений возникнут проб-
лемы с подбором значений XP для продвижения по первым уровням, ведь
его требуется так много. Сравните это со значениями в конце списка, где
в последней итерации увеличение составляет 102,33%. Обратите внима-
ние, что такое увеличение почти совпадает с множителем роста, а это зна-
чит, что аддитивное значение уже не оказывает существенного влияния.
Для исправления ситуации нужно, чтобы количество аддитивного при-
роста за итерацию составляло меньший процент от начального значения.
Поскольку начальное значение по умолчанию по-прежнему равно 1, а ад-
дитивное имеет относительно большую величину 10, прирост в процентах
298 ГЛАВА 14 ЭКСПОНЕНЦИАЛЬНЫЙ РОСТ И УБЫВАЮЩАЯ ОТДАЧА

сильно замедляется. Поскольку мы уже изменили аддитивное значение


для достижения желаемого результата, осталось настроить начальное зна-
чение так, чтобы оно было достаточно большим. Так аддитивное значе-
ние не будет создавать резкого процентного увеличения в начале кривой.
В данном примере можно ввести начальное значение 100 и посмотреть,
что произойдет (иллюстрация 14.15).

Иллюстрация 14.15. Базовые значения для каждой переменной


в формуле роста

Максимальное процентное увеличение снизилось до 112% и составля-


ет 102,27% в последней итерации. Может показаться, что это все еще мно-
говато, но посмотрите на отображаемые цифры. Первые итерации идут
от  100 до  112 и  от  112 до  124. Игрок не  заметит большого процентного
увеличения, потому что фактически числа относительно невелики — вто-
рое всего на 12 очков больше первого. Последнее изменение решило об-
щую проблему базовых кривых экспоненциального роста. Такие числа — 
надежный старт для работы практически с любой кривой, какую только
можно представить.

Настройки базовой формулы экспоненциального


роста
Отталкиваясь от уже изученного материала, можно легко создавать свои
варианты экспоненциального роста и  получать широкий спектр эффек-
тов. Лучший способ усвоить концепцию —  поиграть со значениями в ко-
пии этой электронной таблицы. Взяв за  основу указанные значения,
ЭКСПОНЕНЦИАЛЬНЫЙ РОСТ 299

попробуйте поменять количество итераций, начальное значение, адди-


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

Примечание про итерации


В примере, который мы разбирали в этой главе, мы не меняли количество
итераций, но эта переменная очень важна. При определении количества
итераций следует учитывать следующее основное правило: чем больше
итераций, тем меньше должен быть множитель. В качестве примера на ил-
люстрации 14.16 показан график точно такого же списка итераций, как
и на иллюстрации 14.15, но на нем отображены только первые десять ите-
раций.

Иллюстрация 14.16. Небольшое количество итераций

Обратите внимание, что кривая выглядит почти полностью прямой


(похожей на линейный график). При небольшом количестве итераций при-
рост в 2% слишком мал, чтобы оказывать значительное влияние на график.
Как видно, прежде чем строить подобный график, необходимо опреде-
литься с количеством итераций для общего роста. К счастью, переменные
можно легко и быстро изменить с учетом любого количества итераций.
300 ГЛАВА 14 ЭКСПОНЕНЦИАЛЬНЫЙ РОСТ И УБЫВАЮЩАЯ ОТДАЧА

Экспоненциальный рост и игровая иерархия


Скорректировав график экспоненциального роста, можно быстро и  лег-
ко полностью подправить персонажа игры, но такое изменение вызовет
«эффект домино» по всей игре. Достаточно изменить значение всего лишь
одной переменной в  формуле, чтобы нарушить баланс каждого уровня
и каждого взаимодействия в игре. В связи с этим настоятельно рекоменду-
ется придавать каждому графику экспоненциального роста высокий прио-
ритет в иерархии гейм-дизайна (как говорилось в главе 13 «Балансировка
диапазонов, опорные точки данных и иерархический дизайн») и фиксиро-
вать их на ранних этапах разработки.

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

 Создайте электронную таблицу и постройте график экспоненциально-


го роста, как на иллюстрации 14.15. Обязательно используйте функцию
диаграммы для визуализации данных. Начните с 200 итераций, уста-
новите начальное значение 100, значение Mult, равное 1,02, и значение
Add, равное 10. Такой график станет хорошей отправной точкой для на-
чала экспериментов.
 Создав описанный в  предыдущем упражнении график, сделайте ко-
пию листа в той же рабочей книге и назовите этот лист Play («Игра»,
«Эксперименты»). Изменяйте входные значения до тех пор, пока график
не «поломается» (по сути, это цель упражнения). Попробуйте вводить
очень большие или очень маленькие числа. Вводите отрицательные
числа, десятичные дроби или даже формулы и функции. Придумывайте
самые причудливые и неожиданные варианты, какие только можно во-
образить, и наблюдайте за тем, что происходит с графиком. Можно ли
придать ему форму конуса? Или сплошной полосы? Можно ли сделать
его похожим на  кардиограмму, какие показывают медицинские при-
боры? Определить истинные границы системы можно только выйдя
за ее границы. Обратите внимание, что даже целенаправленно ломая
ДАЛЬНЕЙШИЕ ШАГИ 301

данные, вы не  наносите никакого ущерба первоначальному графику,


потому что сделали копию и не работаете с оригиналом; ваши данные
и структура находятся в полной безопасности. Это одно из главных пре-
имуществ работы в цифровом мире.
 Усвоив некоторые основные принципы, согласно которым результаты
меняются в зависимости от значений переменных, создайте еще одну
копию исходного листа и попробуйте придумать несколько разновид-
ностей графиков, которые вам понравятся. Насколько ровной можно
сделать кривую, прежде чем она, по сути, станет линейной? Насколько
крутой можно ее сделать, прежде чем она утратит функциональность?
Опять же, поэкспериментировав с экстремальными значениями, вы по-
лучите более четкое представление о границах допустимого.
ГЛ А В А 15

АНАЛИЗ ИГРОВЫХ
ДАННЫХ

До этого момента в книге мы уделяли


внимание созданию отдельных объектов
данных и последующей их оценке
по отдельности в сравнении с другими
объектами данных. Следующим шагом
будет общая оценка объектов вместе, будь
то небольшой набор из 10 штук или десятки
тысяч объектов. Сделать это можно на примере
создаваемых вами данных или данных
существующей и полностью законченной
игры, а также данных игры на любой стадии
разработки.
304 ГЛАВА 15 АНАЛИЗ ИГРОВЫХ ДАННЫХ

Существует множество способов просмотра и  анализа игровых данных,


но  в  этой главе в  целях знакомств с  ними основное внимание уделяет-
ся двум методам. Первый — обзорный анализ, подразумевающий обзор
ключевых особенностей и характеристик набора данных. Второй метод — 
сравнительный анализ, подразумевающий сравнение двух разных объек-
тов данных и их более глубокий анализ.

Обзорный анализ
Обзорный анализ предполагает рассмотрение данных на высоком уровне,
обнаружение некоторых тенденций и получение более полной картины
происходящего. Один из  стандартных способов высокоуровневого пред-
ставления — нахождение среднего значения. Однако само по себе среднее
значение не дает много информации, и иногда даже может дезинформиро-
вать. Рассмотрим простой пример того, как можно ошибочно истолковать
среднее значение. Каково среднее значение следующего списка?
10
10
10
10
10
10
10
10
10
10
10
999 910
Среднее значение равно 100 000,00. Но  помогает  ли оно понять, что
происходит в этом списке? Нет. При взгляде на список сразу видно, что
большинство чисел в нем небольшие (10), но последнее огромное и явно
выбивается из общего числа —  это так называемый статистический «вы-
брос». Среднее значение, 100 000, слишком мало по сравнению с выбро-
сом и  слишком велико по  сравнению с  основным массивом данных, по-
этому оно не дает никаких полезных намеков о структуре данных. Чтобы
ОБЗОРНЫЙ АНАЛИЗ 305

сгладить эту проблему, можно найти среднее значение и медиану, а затем


сравнить эти два показателя. В данном примере медиана равна 10. Итак,
вот что нам известно о списке.

Среднее: 100 000


Медиана: 10

При взгляде на два этих числа сразу понятно, что с данными происхо-
дит нечто странное. При равномерном и однородном распределении чисел
среднее и медиана находятся довольно близко друг к другу, но в этом при-
мере они отличаются на порядок. Такое различие требует более глубокого
погружения в данные — нужно выяснить, что происходит.
В таблице 15.1 показан случай, с которым вы можете столкнуться при
создании игры. В  ней перечислены фантастические существа, каждое
из которых имеет определенный набор атрибутов.

Таблица 15.1. Данные существ

Тип персонажа STR DEX HP AV DG MV


Гоблин 3 4 5 1 3 5
Зомби 4 2 6 0 0 2
Темный волк 4 4 7 2 3 6
Кусающая черепаха 6 4 10 10 2 1
Варвар 7 3 13 2 4 5
Дварф 6 4 13 3 2 4
Гнолл 3 7 8 4 6 6
Хафлинг 3 7 6 1 8 5
Проточеловек 6 4 9 3 3 5
Кобольд 3 8 5 3 5 5
Легионер 4 6 10 1 5 5
Человек-ящерица 3 7 7 2 4 7
Огр 8 3 17 5 1 5
Орк 6 4 10 5 1 5
306 ГЛАВА 15 АНАЛИЗ ИГРОВЫХ ДАННЫХ

Тип персонажа STR DEX HP AV DG MV


Крысочеловек 2 8 8 2 8 8
Лесной эльф 3 8 8 1 6 6
Адская гончая 5 4 12 3 3 6
Вервольф 7 5 7 1 1 5
Блоб 7 3 20 7 2 2
Гигантский муравей 6 5 10 6 2 5
Варг 7 4 8 3 3 6
Глиняный голем 7 5 12 6 3 4
Болотник 5 5 25 2 2 4
Мумия 10 4 20 6 2 2
Гигантский скарабей 8 5 15 9 2 4
Вепрь 6 6 15 6 3 5
Змей 6 6 15 6 3 5
Гигантский скорпион 6 5 15 6 6 4
Черный медведь 7 6 15 6 4 6
Гарпия 6 8 15 6 5 7
Горгулья 7 5 15 6 5 6
Каменный голем 8 5 25 8 3 4
Гигантский краб 8 5 15 12 5 6
Горилла 9 7 15 3 3 4
Железный голем 9 5 30 10 3 4
Горный тролль 12 4 20 5 1 4
Снежный человек 9 6 15 4 6 5
Пещерный пожиратель 10 8 3 1 1 4
Саблезубый тигр 10 6 20 7 5 6
Гигантский паук 8 7 15 6 5 6
ОБЗОРНЫЙ АНАЛИЗ 307

Тип персонажа STR DEX HP AV DG MV


Горгона 6 9 20 4 6 4
Минотавр 10 7 20 5 6 5
Крокодил 10 7 20 8 3 4
Медведь гризли 10 8 20 7 5 6
Человек-тигр 11 8 18 7 6 6
Человек-лев 11 8 15 7 6 6
Человек-носорог 13 7 20 9 3 4
Пещерный медведь 12 8 20 8 5 6
Гидра 12 6 30 9 6 5
Циклоп 11 8 30 9 7 5
Древесный человек 15 5 50 20 3 1
Драконлинг 11 7 40 10 7 10

Рассмотрим один отдельный атрибут из этой таблицы — STR (Сила) — 


и  проведем его обзорный анализ. Самый простой способ заключается
в том, чтобы вывести среднее значение STR для всех персонажей. После
этого можно найти медиану и сравнить ее со средним значением. На ил-
люстрации 15.1 показаны эти два расчета.

Иллюстрация 15.1. Расчеты среднего значения


и медианы атрибута STR для всего списка персонажей

Сравнение уже дает некоторое представление о  наборе данных. Вид-


но, что среднее значение и медиана отличаются друг от друга менее чем
на  один пункт, поэтому вполне вероятно, что значения данного атрибу-
та распределены относительно равномерно (хотя это и не гарантировано).
Также можно получить представление о том, какие числа представлены
308 ГЛАВА 15 АНАЛИЗ ИГРОВЫХ ДАННЫХ

в этом списке: в нем, вероятнее всего, представлены средние и большие


однозначные числа.
Следующий шаг анализа —  узнать размер набора данных (то есть ко-
личество элементов списка). Для этого можно воспользоваться функцией
COUNT (СЧЁТ) для подсчета количества значений атрибута STR, включен-
ных в набор данных (иллюстрация 15.2).

Иллюстрация 15.2. Нахождение количества элементов набора данных

Теперь, когда мы знаем, насколько велик набор данных, на  основе


этих знаний можно сделать несколько выводов. Чем меньше набор дан-
ных, тем большее влияние оказывают на него отклонения (выбросы). На-
пример, в списке из 10 элементов даже 1 выброс легко изменит результа-
ты, но если в списке 10 000 элементов, то такой набор данных настолько
велик, что несколько выбросов, скорее всего, останутся незамеченными.
В данном примере количество элементов 52 означает, что большие вы-
бросы, скорее всего, будут заметны при сравнении среднего и медианы,
а маленькие — нет.
Еще одно наблюдение, которое можно сделать на  основе этого срав-
нения, заключается в том, что среднее значение действительно немного
больше медианы. Это означает, что в наборе данных, скорее всего, круп-
ных чисел чуть больше или, может быть, присутствует одно или несколь-
ко очень крупных чисел, что искажает результаты. Уже по трем проверкам
мы получили достаточно много информации.
Чтобы копнуть еще глубже, полезно знать, какое число встречается
в  данных чаще всего. Такое число называется «мода», и  найти его мож-
но с помощью функции MODE (МОДА). Но анализ при помощи моды тоже
имеет некоторые ограничения, поэтому рассмотрим еще один небольшой
пример, прежде чем использовать моду для анализа списка персонажей
RPG. Какова мода следующего списка чисел?
ОБЗОРНЫЙ АНАЛИЗ 309

1 8 14
2 9 15
3 9 16
4 10 17
5 11 18
6 12 19
7 13

Этот пример настолько прост, что определить моду можно и без элек-
тронной таблицы. Чаще всего встречается число 9 —  но при этом всего
лишь дважды. Важен ли тот факт, что для данного списка мода —  это 9?
Вероятно, нет. Список содержит всего несколько чисел, и почти все они
уникальны. Мода бывает полезна, но, как и в случае со средним значением,
обычно требуется еще одна проверка, чтобы определить, насколько она
значима. В данном случае желательно знать, какая доля чисел списка явля-
ется модой. Если эта доля мала, то мода не имеет особого смысла. Если же
процент чисел, являющихся модой, высок, то это более важный фактор,
который следует учитывать. В представленном выше простом списке мо-
дой являются два числа из 20, то есть 10%. Процент этот достаточно мал,
чтобы мода была очень важным фактором при оценке этих данных. На ил-
люстрации 15.3 показан ряд формул, примененных к данным о персона-
жах ролевой игры.

Иллюстрация 15.3. Некоторые из типичных методов проведения


высокоуровневого анализа
310 ГЛАВА 15 АНАЛИЗ ИГРОВЫХ ДАННЫХ

На иллюстрации 15.3 видно, что мода меньше медианы и среднего зна-


чения. Также видно, что значение STR, равное 6, имеют 19,2% персонажей
в игре. 19,2% — не такой уж и большой процент, но он дает некоторую ин-
формацию. В данном случае он показывает, что у значительной части пер-
сонажей значение STR ниже среднего или медианы, а это свидетельству-
ет о том, что в данных, скорее всего, есть несколько больших отклонений.

Иллюстрация 15.4. Функции, используемые


для вычислений (показаны в ячейках)

Далее нужно определить степень от-


клонения от нормы, существующей для
данных. Для этого найдем минимальное
и максимальное значения данного атри-
бута. После этого подсчитаем, сколько
всего имеется минимальных значений
и сколько максимальных. На иллюстра-
ции 15.4 показан набор функций, кото-
рые можно использовать для получения

Иллюстрация 15.5. Добавление подсчёта


максимальных и минимальных значений
и других расчётов для более глубокого
анализа
ОБЗОРНЫЙ АНАЛИЗ 311

полезных статистических сведений об относящихся к персонажам данных,


находящихся на другом листе.
На  иллюстрации 15.5 показаны результаты этих функций. Исходя
из них, можно сказать, насколько часто встречаются самые экстремаль-
ные выбросы.
При взгляде на  таблицу, показанную на  иллюстрации 15.5, карти-
на происходящего немного проясняется. Можно высказать ряд довольно
обоснованных предположений.

 Этот атрибут имеет довольно широкое распределение, но большинство


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

Все эти показатели вместе рисуют картину довольно стандартного на-


бора персонажей, большинство из которых находятся на среднем уровне,
но при этом есть несколько выделяющихся —  с высоким и низким уров-
нем.
Последний шаг при обзорном анализе (также очень важный) заклю-
чается в  том, чтобы вернуться к  исходным данным и  внимательно рас-
смотреть их. Теперь атрибут STR для вас имеет хотя  бы немного боль-
ше смысла. Не так уж важно, что вы еще не знаете, как он на самом деле
представлен в  игре и  что он в  ней делает. На  данном этапе неплохо на-
чать сопоставлять имена (и по возможности описания) объектов с данны-
ми. Персонажи с какими именами ассоциируются с большими числами,
а какие — с меньшими? В ходе такого анализа у вас начнет складываться
представление о том, какими будут все эти типы персонажей в игре.
Вслед за анализом показателя STR в таком же объеме можно провести
анализ каждого из других атрибутов. Применив те функции, что показаны
на иллюстрации 15.4, для всех остальных атрибутов, получим результаты
с иллюстрации 15.6.
312 ГЛАВА 15 АНАЛИЗ ИГРОВЫХ ДАННЫХ

Иллюстрация 15.6. Расширенный анализ атрибутов

На основе такого обзора данных можно сделать еще больше выводов.

 Атрибут HP (очки здоровья) имеет большую шкалу значений по сравне-


нию с другими атрибутами. MV и DG имеют меньшую шкалу.
 Все атрибуты имеют тенденцию к  средним однозначным числам,
но есть и отклонения.
 Средние и  медианные показатели для всех атрибутов близки друг
к другу, что указывает на последовательное распределение относящих-
ся к персонажам этой игры данных.
 Мода более показательна для одних атрибутов и менее показательна
для других. Возможно, существует какая-то внутриигровая причина,
по которой так много персонажей имеют 6 MV (очков передвижения).
Когда в играх используются однозначные числа или небольшие целые
числа, то, скорее всего, на моду будет приходиться больший процент
объектов данных, потому что в таком масштабе просто недостаточно
чисел для большого их разброса.
 Ни одно из значений минимума или максимума не имеет большого ко-
личества примеров. Это говорит о том, что большинство атрибутов пер-
сонажей группируются ближе к центру, а несколько — выделяются как
экстремальные.
ГЛУБОКИЙ АНАЛИЗ СЛЕДУЮЩЕГО УРОВНЯ 313

Для базового высокоуровневого представления об игре такого анали-


за может быть достаточно. Он подойдет для игры на серьезном уровне или
для простой игры. В некоторых же случаях необходимо провести дополни-
тельный анализ, как описано далее.

Глубокий анализ следующего уровня


Для более сложных или крупных игр может потребоваться более глубокое
исследование. Следующий шаг в этом направлении — найти числа, задей-
ствованные конкретно для каждого атрибута. Цель этого анализа —  вы-
яснить, какие значения используются для каждого атрибута и насколько
часто. Получить эту информацию можно с помощью функции SORT элек-
тронной таблицы в сочетании с функцией UNIQUE. Составная функция
просматривает список повторяющихся чисел, извлекает только один эк-
земпляр каждого числа и сортирует эти экземпляры в список по возраста-
нию. На иллюстрации 15.7 показано, как эта составная функция исполь-
зуется для нахождения распределения значений атрибута STR в столбце B
на листе ChaData.

Иллюстрация 15.7. Использование функций SORT и UNIQUE


для создания списка

Из  предыдущего анализа уже известно, что максимальное значе-


ние равно 15, а минимальное —  2. То же самое показывает и процедурно
314 ГЛАВА 15 АНАЛИЗ ИГРОВЫХ ДАННЫХ

сгенерированный список. Обратите внимание, что в списке нет числа 14,


потому что ни один персонаж не имеет значения атрибута 14. В этом спис-
ке показано то  же самое, что было видно и  при первоначальном анали-
зе столбца B, но  на  этот раз результаты представлены более подробно.
В  столбце J использована функция COUNTIF (СЧЁТЕСЛИ), которая про-
веряет, сколько раз каждое из возможных значений встречается во всем
списке данных. Как и следовало ожидать, наиболее распространенное зна-
чение — это 6; то же самое показала нам и мода. Любопытно, что распреде-
ление не совсем похоже на распределение колоколообразной кривой. Здесь
очень мало значений 5 и 4, больше — 3. В другой половине количество зна-
чений понижается ровнее, как и ожидалось (с небольшими исключения-
ми). На иллюстрации 15.8 показана диаграмма этих данных.

Иллюстрация 15.8. Диаграмма данных (значения атрибута и количество


значений)

Эта диаграмма дает еще больше информации о том, как данные рабо-
тают в игре. Похоже, что есть три пика частоты, которые затем снижают-
ся до следующего пика. Это указывает на то, что среди персонажей могут
существовать «классы» по атрибуту STR — возможно, «низкий», «средний»
и «высокий» или «слабый», «средний» и «сильный» — с вариациями в этих
группах. Аналогичный анализ можно применить ко всем атрибутам, что-
бы получить полную картину распределения значений каждого признака
(иллюстрация 15.9).
ГЛУБОКИЙ АНАЛИЗ СЛЕДУЮЩЕГО УРОВНЯ 315

Иллюстрация 15.9. Расширенный анализ атрибутов

При взгляде на  более полную картину можно сделать следующие на-
блюдения.

 Видно, что значения атрибута MV сгруппированы вокруг числа 5.


 Значение 3 атрибута DG встречается очень часто, и,  вероятно, оно
каким-то образом очень важно для игры.
 Атрибут AV имеет традиционный пик в середине, а затем частота значе-
ний снижается с одним очень высоким отклонением (выбросом) в вы-
сокой части и одним очень низким отклонением в нижней части. Эти
отклонения легко можно было упустить, потому что они уравновеши-
вают друг друга в общем списке значений.
 Атрибут DEX демонстрирует более слабую закономерность по сравне-
нию с другими атрибутами и более линейное распределение.

Анализ можно легко продолжить, но мы уже получили неплохое пред-


ставление о  данных с  помощью только описанных выше инструментов.
Кроме того, чем глубже анализ, тем более он становится индивидуальным,
относящимся к конкретной игре, конкретному набору данных и конкрет-
ным атрибутам. Рассмотренные же до сих пор методы применимы к любой
игре, в которой есть списки объектов данных с атрибутами.
316 ГЛАВА 15 АНАЛИЗ ИГРОВЫХ ДАННЫХ

Анализ данных на практике


Если вы с  трудом следили за  ходом рассуждений в  предыдущих разделах,
то имейте в виду, что эти рассуждения — самая сложная часть анализа. К сча-
стью, практиковаться в таких наблюдениях и рассуждениях довольно легко.
Один из лучших способов освоить принципы анализа на практике — 
попробовать применить описанные выше методы на уже известных вам
играх. Как на  официальных сайтах, так и  на  сайтах, созданных фаната-
ми, можно найти множество таблиц данных со списками объектов данных
и их атрибутов. Скорее всего, вам захочется проанализировать игру, кото-
рая вам нравится и ощущения от которой вам хорошо знакомы. В ходе ана-
лиза постарайтесь сделать выводы о том, какие детали вызывают у вас, как
у игрока, такие ощущения. Какие механики и какие технические ограни-
чения, о которых вы уже знаете, могли повлиять на найденные вами зна-
чения атрибутов данных? Проанализировав несколько игр, вы, скорее все-
го, начнете видеть связи между тем, что происходит в игре, и тем, какие
ощущения она вызывает.

Сравнительный анализ
В сложных играх с большими списками объектов бывает полезно сосредото-
читься на изолированном сравнении двух объектов. Например, в предыду-
щем примере с персонажами ролевой игры можно одновременно рассмотреть
двух персонажей и сравнить их показатели. Для этого можно с помощью про-
верки данных (как описано в главе 5 «Основы электронных таблиц») создать
выпадающий список всех объектов данных, а затем воспользоваться функци-
ей VLOOKUP (ВПР) для получения значений каждого атрибута двух объектов
данных. Пример сравнения показан на иллюстрации 15.10.

Иллюстрация 15.10. Использование функции VLOOKUP (ВПР)


для сравнения объектов данных
КАНАРЕЙКИ 317

Здесь персонаж-зомби сравнивается непосредственно с  персонажем-


варваром, и такой тип сравнения —  основа для более тщательного изуче-
ния данных. Ниже приведены несколько примеров того, на что следует об-
ращать внимание.

 Разница в значениях атрибутов объектов.


 Место, какое занимает каждый персонаж по сравнению с минимумом
и максимумом.
 Диаграммы, показывающие детальное сравнение между объектами.

Изолированное сравнение небольшого количества объектов данных


позволяет расширить глубину анализа каждого объекта. Каждая игра тре-
бует уникального анализа, поэтому постарайтесь как следует подумать
о том, какие объекты было бы полезнее сравнить между собой.

Канарейки
При анализе новых или чужих данных часто возникает одна общая проб-
лема: неизвестно, когда вы допустили ошибку. Если неизвестно, каких
результатов ждать от  анализа, то  нельзя утверждать наверняка, что по-
лучилось правильно или неправильно. Полностью избавиться от  этой
проблемы сложно, но есть инструмент, которым можно воспользоваться
в качестве защиты от нее, —  так называемая канарейка (canary). Если ка-
нарейка обнаружит, что с вашими данными что-то не так, то это с какой-то
долей вероятности свидетельствует о более серьезной проблеме.

примечание
Термин «канарейка» возник по  аналогии с  канарейками, которых
использовали шахтеры для определения пригодности для дыхания
воздуха в некоторых участках шахты.

Чтобы понять, как работает цифровая «канарейка», рассмотрим спи-


сок процентных значений на  иллюстрации 15.11. Интуитивно понятно,
что сумма всех долей в большинстве случаев равна 100%. Исходя из это-
го, корректен  ли список на  иллюстрации 15.11? Одного простого взгля-
да на него недостаточно для ответа. Такого рода проблема при анализе
318 ГЛАВА 15 АНАЛИЗ ИГРОВЫХ ДАННЫХ

данных возникает повсеместно: на первый взгляд


кажется, что результаты корректны, но  трудно
утверждать это наверняка.
Канарейка  —  это некое вычисление, резуль-
тат которого уже известен, либо потому, что он
интуитивно понятен (например, сумма всех ча-
стей в  процентном соотношении равна 100%),
либо потому, что его можно перепроверить други-
ми способами  —  например, для получения сред-
него значения можно воспользоваться сначала
функцией AVERAGE (СРЗНАЧ), а  затем функция-
ми SUM (СУММ) и COUNT (СЧЁТ). Избыточность
и  подобные проверки могут здорово уменьшить
количество ошибок (хотя какая-то вероятность их
появления остается). Что
касается примера с  про-
центами, то  на  иллюстра-
ции  15.12 видно, что здесь
есть какая-то ошибка, пото-
му что сумма меньше 100%.

Иллюстрация 15.11. Составляют ли все


эти значения в сумме 100%?

Для немного более сложного примера вернем-


ся к персонажам ролевой игры. Допустим, на этот
раз мы хотим перепроверить распределение значе-
ний атрибутов. Известно, что всего элементов с ат-
рибутами 52, и можно быстро просуммировать ко-
личество элементов в каждом столбце атрибутов,
чтобы убедиться, что их действительно 52 (иллю-
страция 15.13).

Иллюстрация 15.12. Обнаружена ошибка


ДАЛЬНЕЙШИЕ ШАГИ 319

Иллюстрация 15.13. Использование канарейки для проверки корректности


результатов

Благодаря последовательному использованию «канареек» вы можете


быть уверены, что большинство ваших данных (если не все) будут рабо-
тать так, как вы от них ожидаете.

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

 Создайте электронную таблицу и либо импортируйте, либо скопируй-


те в нее данные из любимой игры. Уделите некоторое время их очистке
и упорядочиванию —  расположите их таким образом, чтобы их мож-
но было легко оценить (например, чтобы у каждого атрибута был свой
столбец, а у каждого объекта данных — своя строка).
 После того как данные будут импортированы и упорядочены, восполь-
зуйтесь описанными в  этой главе методами анализа данных. Затем
подумайте, можно  ли данные выбранной вами игры проанализиро-
вать как-то иначе. Какой тип анализа лучше всего подходит для вашей
320 ГЛАВА 15 АНАЛИЗ ИГРОВЫХ ДАННЫХ

игры —  общий обзор или более детальное сравнение отдельных объ-


ектов?
 На основании анализа данных сделайте какие-то выводы относитель-
но выбранной вами игры. Это упражнение должно научить вас глубже
понимать мотивы разработчиков. Вместе с тем не забывайте о возмож-
ных ошибках. В современных играх они встречаются нечасто, но все же
встречаются.
ГЛ А В А 16

МАКРОСИСТЕМЫ
И  ВОВЛЕЧЕННОСТЬ
ИГРОКА

С помощью разных способов настройки


сложности можно не только сделать труднее или
легче всю игру в целом, но и приспособить ее под
конкретные потребности игрока. Часто, особенно
если речь идет о больших играх, для достижения
лучшего баланса используются несколько
методов одновременно. В этой главе говорится
о настройке баланса игры на очень высоком
уровне и по всем интегрированным системам.
322 ГЛАВА 16 МАКРОСИСТЕМЫ И ВОВЛЕЧЕННОСТЬ ИГРОКА

Настройка сложности макросистем


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

 Чистый баланс.
 Положительная обратная связь.
 Отрицательная обратная связь.
 Динамическая настройка сложности.
 Многоуровневая настройка сложности.
 Перекрестная настройка.

Чистый баланс
Игра с чистым балансом «честна» сама по себе, и ее не настраивают специ-
ально для какой-либо из сторон.

примечание
Чистый баланс  —  древнейшая форма настройки баланса, и  она
используется в  большинстве спортивных игр, а  также в  таких ста-
ринных играх, как шахматы и  нарды. Вот для чего она подходит
и не подходит.
Подходит для: серьезных соревнований.
Не подходит для: получения удовольствия, доступных игр.

При чистом балансе неважно, что делает каждый из игроков, какую по-
зицию он занимает и насколько хорошо играет в эту игру. Игра проходит
без всяких дополнительных настроек и поправок.
Например, если два игрока играют в  шахматы и  Игрок 1 выигрывает,
то можно предположить, что Игрок 1 просто играет лучше соперника. Из-
вестно, что в игре нет ничего такого, благодаря чему Игрок 1 мог бы полу-
чить преимущество или, наоборот, что могло бы ему помешать победить12.
12
Несмотря на  то что в  шахматах силы и  расположение фигур обеих сторон дей-
ствительно сбалансированы, в игре существует дисбаланс, связанный с правом
первого хода. Играющий белыми фигурами априори ставит игрока, играющего
черными, в зависимую позицию от своего хода. — Прим. науч. ред.
НАСТРОЙКА СЛОЖНОСТИ МАКРОСИСТЕМ 323

Недостаток здесь в том, что если Игрок 1 играет сильно лучше Игрока 2,
то Игрок 2 никогда не выиграет. Игрок 1 будет выигрывать всегда, и игра
вскоре станет скучной для обеих сторон. Не так уж увлекательно играть
в игру, когда знаешь, что обязательно победишь или проиграешь. Часть
удовольствия состоит как раз в неопределенности исхода, а если исход из-
вестен заранее, то это не так интересно.
Чистый баланс отлично подходит для состязаний, в которых нужно вы-
яснить, кто лучше, например, в спорте. В профессиональном спорте никто
не ожидает, что каждая игра будет напряженным и увлекательным противо-
стоянием отчаянно пытающихся обогнать друг друга сторон; предполагается,
что выигрывает тот, кто лучше умеет играть. С другой стороны, если нужно,
чтобы игра была увлекательной и интересной — а это обычная цель разработ-
чиков коммерческих игр, — то чистый баланс для этого не подходит.

Положительная обратная связь


Еще один распространенный тип балансировки помимо чистого баланса — по-
ложительная обратная связь, которую еще иногда называют механикой «бо-
гатые становятся богаче, бедные становятся беднее» или расходящейся кри-
вой. На иллюстрации 16.1 показан принцип положительной обратной связи.

Иллюстрация 16.1. Положительная обратная связь


324 ГЛАВА 16 МАКРОСИСТЕМЫ И ВОВЛЕЧЕННОСТЬ ИГРОКА

примечание
Положительная обратная связь используется в  покере и  боулинге.
Вот для чего она подходит и не подходит.
Подходит для: выхода из тупиковой ситуации, когда на протяжении
длительного времени счет игроков примерно равен.
Не подходит для: ситуаций, когда игроку нужно наверстать упу-
щенное и при этом получить удовольствие; не очень серьезных игр.

Положительная обратная связь способствует расхождению игроков,


предоставляя преимущество лучшим игрокам и ставя в невыгодное поло-
жение худших игроков. Реализовать в игре такой тип балансировки легко:
для этого достаточно предусмотреть хорошим игрокам награду, облегчаю-
щую игру. Если пользователь играет все лучше и лучше и еще при этом по-
лучает хорошую награду, то, вероятно, он продолжит улучшать свои пока-
затели. Точно так же этот способ балансировки можно использовать и для
наказания игроков за плохие результаты. Оба метода формируют положи-
тельную обратную связь.
Допустим, вы играете в шутер от первого лица, и всякий раз, кода вы со-
вершаете удачный выстрел, вам предоставляют оружие получше, нанося-
щее больше урона и имеющее повышенную точность. И наоборот, каждый
раз, когда вы промахиваетесь, ваше оружие становится хуже. Это быстро
приведет к тому, что лучшие игроки станут совершенно непобедимыми,
а те, кто играет хуже, не смогут им противостоять. В целом такая ситуация
может показаться плохой, ведь, казалось бы, зачем увеличивать расхожде-
ние между игроками. Если кто-то постоянно действует все лучше, а другой
все хуже, игра теряет увлекательность.
Но эту механику можно использовать и для некоторых хороших эффек-
тов. Один из подходящих для нее случаев — патовая ситуация, или ситуа-
ция, когда игра заходит в тупик. Если показатели игроков на протяжении
длительного времени близки или они постоянно вырываются немного
вперед, а  потом немного отстают, то  положительная обратная связь по-
зволит выйти из тупика. Получивший поощрение игрок, дела у которого
идут немного лучше, вырвется вперед и доведет игру до конца.
Хороший пример игры, в которой с пользой применяется положитель-
ная обратная связь, — это боулинг. В боулинге одним броском можно сбить
максимум десять кеглей. Игрок получает десять шансов сбить все кегли, так
НАСТРОЙКА СЛОЖНОСТИ МАКРОСИСТЕМ 325

что всего он может набрать максимум 100 очков (если за каждую сбитую
кеглю присуждать по очку). Но те, кто играет постоянно, повышают мастер-
ство и все чаще сбивают десять кеглей с одной попытки. Если бы максималь-
ный счет был равен 100, игроки часто находились бы рядом друг с другом,
и набирали бы равное количество очков. На профессиональном уровне они
набирали бы по 96–98 очков в каждой игре. Процесс стал бы менее непред-
сказуемым и увлекательным как для игроков, так и для зрителей. Для под-
держания интереса существует правило, согласно которому при выбивании
всех десяти кеглей с первой попытки (это называется «страйком»), фрейм
(заход) оценивается в 10 очков плюс сумма двух следующих фреймов игро-
ка. Так хороший игрок может получить до 30 очков за один фрейм, а мак-
симальный результат может достигать 300 очков. Поскольку один промах
может привести к  значительному снижению количества очков, из-за не-
скольких оставшихся кеглей результаты расходятся гораздо сильнее, чем
без такого правила, и игра становится менее предсказуемой.
Другой пример —  классическая «Монополия». В «Монополии» чем луч-
ше у игрока результат броска, тем больше недвижимости он может при-
обрести и тем больше денег он может получить; это позволяет ему приоб-
ретать все больше недвижимости и все больше денег. Цикл продолжается
до тех пор, пока один из игроков не одержит неизбежную победу. Если бы
игрокам было сложнее получать деньги и недвижимость, игра продолжа-
лась бы вечно. При том, что игра и так занимает много времени, расшире-
ние процесса, скорее всего, вызвало бы только сильную скуку у игроков.

Отрицательная обратная связь


Отрицательную обратную связь иногда еще называют «эффектом рези-
новой ленты», потому что вырывающийся вперед игрок получает больше
штрафов и  меньше наград. И  наоборот, плохо играющий игрок получа-
ет больше наград и меньше штрафов. Представьте себе резиновую ленту,
удерживающую ведущего игрока и  тянущую за  собой отстающего. Эта
концепция изображена на иллюстрации 16.2.
Одно из наиболее очевидных применений такого рода баланса —  ис-
пользование его в  гоночных играх, рассчитанных на  массовый рынок,
то  есть в  играх, где игроки состязаются между собой в  гонке и  получа-
ют в  процессе некоторые усиления, или «бонусы», способные незначи-
тельно или сильно повлиять на  ход состязания. Как правило, чем силь-
нее игрок отстает в таких играх, тем лучше предоставляемые ему бонусы,
326 ГЛАВА 16 МАКРОСИСТЕМЫ И ВОВЛЕЧЕННОСТЬ ИГРОКА

позволяющие наверстать упущенное. И наоборот, чем дальше он отрыва-


ется, тем хуже бонусы, что заставляет его замедлять ход. Такой тип ба-
лансировки способствует тому, что все игроки держатся ближе к середине.
Хороших игроков это может расстроить, потому что им кажется, что игра
награждает за  плохое поведение и  наказывает за  хорошее  —  и  это дей-
ствительно так. Отрицательная обратная связь используется в  не  слиш-
ком серьезных или «казуальных» играх, чтобы игроки с разным уровнем
мастерства ощущали, что у них всегда есть шанс на победу.

Иллюстрация 16.2. Отрицательная обратная связь

примечание
Обычно отрицательная обратная связь используется в гонках и пар-
тийных играх. Вот для чего она подходит и не подходит.
Подходит для: несерьезных игр, в которых главное — это веселье.
Не подходит для: серьезных состязательных игр.

Механизм обратной связи обычно используется для предоставления


«форы» (или «гандикапа»), то есть начисления дополнительных очков иг-
рокам с более низким уровнем мастерства. В реальном мире такая схема
используется в боулинге, гольфе и на скачках. Рассмотрим для примера
НАСТРОЙКА СЛОЖНОСТИ МАКРОСИСТЕМ 327

видеоигру в боулинг с гандикапом. Как уже было сказано в начале главы, мак-
симальное количество очков, которое может набрать игрок в боулинге, равно
300. Предположим, что два игрока имеют следующие средние показатели:

Игрок 1: в среднем 100 очков


Игрок 2: в среднем 200 очков

Каждый игрок получает гандикап в размере максимального счета ми-


нус его средний счет:

Игрок 1: 300 максимум – 100 среднего = 200 очков гандикапа


Игрок 2: 300 максимум – 200 среднего = 100 очков гандикапа

Перед очередной игрой каждый из них прибавляет свой гандикап к сче-


ту последней игры. Теперь у менее опытного игрока он составляет 200 оч-
ков, а у более опытного — 100 очков. Если бы эти игроки играли друг про-
тив друга без гандикапа с  таким  же уровнем мастерства, первый игрок
всегда проигрывал бы, а второй всегда выигрывал. При чистом балансе
никакой непредсказуемости бы не было, и, скорее всего, они даже не ста-
ли бы состязаться между собой. Для соревнований высокого уровня это хо-
рошо, но для дружеской игры нужна некоторая загадка.
Теперь предположим, что в очередной игре каждый из них набирает
по 150 очков. Чтобы вычислить результат для каждого, нужно сложить по-
следние набранные очки и гандикап. К 150 очкам Игрока 1 добавляется
гандикап в 200 очков, таким образом, у игрока 1 теперь 350 очков, хотя
это и больше, чем возможно в боулинге без гандикапа. (Когда использует-
ся система гандикапа, результаты часто превышают допустимые для игры
без него.) К 150 очкам Игрока 2 добавляется гандикап, равный 100 очкам,
так что всего у него получается 250 очков. Или, говоря проще:

Гандикап Игрока 1 200 + счет 150 = 350 очков за эту игру


Гандикап Игрока 2 100 + счет 150 = 250 очков за эту игру

В этой игре побеждает Игрок 1, пусть даже они оба набрали одинаковый
счет. Это может показаться несправедливым, но  гандикап выравнивает
ситуацию; счет игрока соотносится с его средними показателями, а не не-
посредственно со счетом соперника. Система подсчета очков как бы гово-
рит: «Сегодня у Игрока 1, который обычно играет хуже, выдался неплохой
328 ГЛАВА 16 МАКРОСИСТЕМЫ И ВОВЛЕЧЕННОСТЬ ИГРОКА

день. У Игрока 2, который в целом играет лучше, день выдался плохим».


Так можно сравнить конкретные результаты игрока с его показателями
в целом, что привносит некоторую неопределенность в исход игры.

Динамическая настройка сложности


Динамическая настройка сложности (ДНС) —  интерактивный метод на-
стройки сложности в процессе игры в зависимости от условий с помощью
решений человека или искусственного интеллекта.

примечание
ДНС используется в условно-бесплатных мобильных играх и совре-
менных экшен-играх категории ААА. Вот для чего она подходит
и не подходит.
Подходит для: предоставления последовательного опыта для огром-
ного количества игроков.
Не подходит для: предоставления уникального или контролируе-
мого опыта отдельному игроку.

До распространения компьютеров одним из способов применения ДНС


были арбитры (или судьи), и такой метод до сих пор используется в раз-
личных современных играх. Мастер подземелий, или «гейм-мастер», мо-
жет динамически (на  ходу) изменять сценарий, опираясь на  интуицию.
Он следит за действиями игроков и ведет их по определенному сценарию.
Обнаружив, что сценарий слишком сложен для игроков, он может тут же
внести некоторые изменения и скорректировать сложность, чтобы группе
в целом было интереснее играть. Обнаружив, что игроки нашли какие-то
лазейки в его сценарии или справляются слишком хорошо, гейм-мастер
может увеличить сложность. В ходе игры может оказаться и так, что неко-
торые участки слишком трудны для группы, а другие слишком легки, и то-
гда сложность может регулироваться в обоих направлениях. Такова анало-
говая форма динамической настройки сложности.
В  видеоиграх игровыми процессами заведуют компьютеры с  искус-
ственным интеллектом. Мы достаточно хорошо освоили теорию созда-
ния игр, чтобы запрограммировать искусственный интеллект на  внесе-
ние корректировок, подобных тем, что вносят в свои игры гейм-мастера.
Компьютеры могут регулировать сложность игры в реальном времени без
НАСТРОЙКА СЛОЖНОСТИ МАКРОСИСТЕМ 329

вмешательства человека и тем самым обеспечивать динамическую настрой-


ку сложности. Например, если в игре есть босс, которого игрок безуспешно
пытается победить несколько раз, то при следующей попытке босс оказыва-
ется намного легче, потому что меняются некоторые невидимые для игро-
ка цифры настроек — это делается, чтобы игрок не испытал разочарование
и не покинул игру. Игра меняется количественно — например, сокращается
количество очков здоровья босса или наносимый им урон.
ДНС целесообразно использовать, когда желательно обеспечить одина-
ковый опыт для всех игроков на протяжении всей игры. Одна из больших
проблем при создании массовых игр заключается в том, что способности иг-
роков сильно разнятся. У некоторых игроков не очень хорошо развита зри-
тельно-моторная координация, а у других она просто потрясающая. Некото-
рые игроки плохо решают головоломки, а другие — невероятно хорошо. Как
сделать так, чтобы игра произвела на всех этих игроков одно и то же впе-
чатление? Здесь и пригождается незаметная для игроков динамическая на-
стройка сложности, позволяющая регулировать настройки таким образом,
чтобы предоставлять одинаковый опыт разным игрокам. Вернемся к при-
меру с боссом и предположим, что один игрок не слишком хорошо освоил
игру и обладает не слишком развитой зрительно-моторной координацией.
Другой же игрок играет в видеоигры на профессиональном уровне. Вам как
гейм-дизайнеру хочется, чтобы оба игрока вступили битву с боссом, проиг-
рали один или два раза, а затем справились с третьей или четвертой попыт-
ки. Вы закладываете в игру желаемые метрики, такие как скорость, с кото-
рой босс теряет хит-пойнты по сравнению с игроком, количество попыток
победить и время, затраченное игроком на сражение. Затем вы устанавли-
ваете пороговые значения. Например, если при первой попытке босс теряет
здоровье в три раза быстрее, чем игрок, то сложность повышается. И наобо-
рот, если дело дошло до четвертого боя, то сложность понижается.
Иногда ДНС нецелесообразна. Например, лучше не пользоваться таким
методом балансировки, если предполагается, что каждый игрок будет по-
лучать уникальный опыт, основанный на его способностях и выборе. Если
вы считаете, что игроки с разным уровнем навыков должны получать раз-
ный опыт в игре, то, конечно, использовать ДНС не нужно. В качестве при-
мера можно привести большие ролевые игры с открытым миром, в кото-
рых у людей должна быть возможность выбирать свой собственный опыт.
Аналогично, в  играх-песочницах игроку позволяется самому выбирать
свой опыт, а его способности ведут его туда, куда он хочет. Не рекоменду-
ется использовать ДНС и тогда, когда нужно ограничить время разработки
330 ГЛАВА 16 МАКРОСИСТЕМЫ И ВОВЛЕЧЕННОСТЬ ИГРОКА

и ресурсы. Определение каждой из метрик и кодирование триггеров для


ДНС — занятие довольно сложное, и на него можно потратить столько же
времени, сколько и на создание игры. При добавлении даже небольшой
сис темы ДНС следует закладывать на это дополнительно примерно поло-
вину того времени, что разрабатывался весь проект.

примечание
Разные типы игроков реагируют на ДНС по-разному. Те, кто хочет пока-
зать свое мастерство или получить уникальный опыт, отказываются
от  игры, даже если просто заподозрят в  ней ДНС. С  другой стороны,
есть много геймеров, предпочитающих получать заранее определен-
ный опыт и плавно проходить игру до конца, и таких ДНС привлекает13.

Многоуровневая настройка сложности


Если вы когда-нибудь пробовали игру, в  которой есть легкий, средний
и трудный режимы, то вы точно сталкивались с многоуровневой сложно-
стью. Принцип многоуровневой настройки сложности заключается в том,
чтобы просто предоставить игрокам возможность самим регулировать ее.

примечание
Вот для чего подходит и  не  подходит многоуровневая настройка
сложности.
Подходит для: предоставления игрокам возможности сделать соб-
ственный выбор.
Не подходит для: предоставления игрокам последовательного
и контролируемого опыта.

13
К  ДНС также нужно относиться с  осторожностью в  случае, если вы продае-
те игроку усилители за  реальные деньги (например, в  играх с  типом монетиза-
ции Free-to-play). Игрок ожидает, что при приобретении усилителя он увеличит
свою эффективность, допустим, в бою, но система ДНС автоматически подстроит
сложность под полученную новую силу персонажа игрока, что, по сути, обнулит
ценность такого приобретения. Для таких случаев разработчики придумали сис-
тему запоздалой реакции ДНС, при которой сложность плавно нарастает до тре-
буемой новой силы игрока, давая ему возможность некоторое время насладиться
приобретением усилителя. — Прим. науч. ред.
НАСТРОЙКА СЛОЖНОСТИ МАКРОСИСТЕМ 331

Очень часто в играх можно увидеть выбор между различными спосо-


бами прохождения. Допустим, один вариант дает больше наград, но свя-
зан с большими опасностями. Другой вариант проще, но и наград он дает
меньше. При этом награды даже необязательно должны быть связаны
с уровнем сложности. Некоторый вариант или режим может быть слож-
нее просто потому, что он сложнее. В тех файтингах, где можно выбирать
противника, и игрок выбирает все более и более сложных — это тоже при-
мер многоуровневой сложности.
Преимущества многоуровневой настройки сложности заключаются
в том, что она дает игрокам много возможностей для выбора и предостав-
ляет им широкую агентивность 14. У них возникает чувство контроля над
происходящим.
В  игровой индустрии про особенно труднопроходимые игры иногда
говорят, что у них «сложность 90-х». В 1990-х годах игры создавались по-
чти исключительно для опытных геймеров. При этом сложность постепен-
но повышалась, потому что играющие улучшали свои навыки, из-за чего
игры становились еще сложнее —  и цикл продолжался. В то время, если
пользователь запускал игру и не мог ее пройти, на этом игра и заканчива-
лась. Сегодня же такая ситуация, когда игру пройти совсем не получается,
для массового рынка по большей части недопустима. Разработчики игр
хотят привлечь как можно больше игроков посредством того, чтобы пре-
доставить им как можно больше игрового опыта.
Если в игре нет выбора уровней сложности и игрок «застревает», то та-
кая ситуация его расстроит. Очень часто негативные эмоции игрока на-
правляются на  игру, на  команду разработчиков или даже на  отдельно-
го гейм-дизайнера, который работал над данным квестом. Можно часто
услышать отзывы о том, что игра «нечестная» или «читерская». Но если
в игре есть выбор уровней сложности и игрок выбирает сложный, то ре-
акция обычно другая. В  такой ситуации игроку легче признать, что он
столкнулся с трудностями по собственной вине. Он понимает, что облада-
ет агентивностью, и что сам несет ответственность за свой выбор.
В качестве другого примера приведем ситуацию в игре с открытым ми-
ром, в котором вы сталкиваетесь с неким существом в логове. Победить его
непросто, но вступать в бой с ним необязательно, потому что мир открыт,
и всегда можно пойти куда-нибудь в другое место. Если вы решите прой-
ти именно этот квест, но он окажется слишком сложным, то всегда можно
14
Агентивность — это ширина возможностей игрока. Чем выше агентивность, тем
больше разнообразных действий может совершать игрок. — Прим. науч. ред.
332 ГЛАВА 16 МАКРОСИСТЕМЫ И ВОВЛЕЧЕННОСТЬ ИГРОКА

уйти и по желанию вернуться позже. Да, можно расстроиться от сложно-


сти квеста, но можно найти что-нибудь другое, более подходящее для вас.
Если бы не было варианта обойти этот квест и выбрать какой-то другой,
то разочарование, скорее всего, продолжило бы нарастать.
Следует избегать многоуровневой сложности при ограниченности вре-
мени и ресурсов для разработки. Добавить новый уровень сложности — 
это не то же самое, что добавить коэффициент сложности, как в случае
с уроном или очками здоровья. Это гораздо труднее, чем просто изменить
несколько универсальных чисел. При добавлении нового режима сложно-
сти придется не  только перебалансировать всю игру, но  и  внести нели-
нейные изменения. Аналогично, если в игре есть какие-то области, от ко-
торых игрок может отказаться, то получится, что команда зря потратила
на их разработку время и ресурсы.

Перекрестная настройка
Перекрестная настройка  —  вид баланса, позволяющий игрокам приме-
нять различные навыки для выполнения одной и  той  же задачи. Пере-
крестную настройку часто используют в играх жанра «стелс-комбат» или
в ролевых играх (RPG) с разными классами.

примечание
Вот для чего подходит и  не  подходит перекрестная настройка
сложности.
Подходит для: предоставления игрокам выбора и  уникальной
истории.
Не подходит для: балансировки сложности и предоставления после-
довательного опыта.

Классический пример перекрестной настройки —  возможность побе-


дить босса различными способами. Например, один из способов — потра-
тить дополнительное время на получение очень мощного снаряжения, ко-
торое позволит победить босса даже при недостаточно развитых боевых
навыках. Другой способ — лобовая атака с  плохим снаряжением, когда
игрок полагается на свое умение сражаться. В одном сценарии игрок хоро-
шо добывает снаряжение, но не особенно хорош в бою. В другом сценарии
игрок умеет хорошо сражаться, но ему не нравится искать более мощное
СОЧЕТАНИЯ МЕТОДОВ БАЛАНСИРОВКИ 333

снаряжение. При перекрестной настройке вы позволяете игроку решать


задачу любым способом.
Перекрестная настройка особенно подходит для больших игр со мно-
жеством взаимосвязанных механик. Возможность выполнить задание раз-
личными способами придает игре индивидуальность и разрешает игроку
быть свободным в действиях. Благодаря этому повышается интерес к игре,
игроки общаются между собой и обсуждают различные варианты прохож-
дения. Для нас, гейм-дизайнеров, это один из лучших комплиментов, ко-
торые мы можем получить от игроков относительно того, как мы создали
наши системы.
Один из недостатков перекрестной настройки заключается в том, что
она не  применима к  очень простым играм. Другой недостаток заключа-
ется в  том, что бывает трудно сбалансировать отдельные квесты, когда
гейм-дизайнер не знает, как именно игрок будет решать поставленную за-
дачу. Еще один недостаток перекрестной системы настройки — при нали-
чии нескольких вариантов решения квеста один из них может оказаться
явно самым плохим. В некоторых играх встречаются механики, которые
кажутся почти бесполезными, хотя ими и можно воспользоваться. Вполне
вероятно, что их добавили только для перекрестной настройки баланса,
но сами эти механики не были достаточно сбалансированы, и потому ока-
зались бесполезными.
Плохая реализация перекрестной настройки приводит к пустой трате
времени и усилий и разочарованию со стороны игроков. Представьте, на-
пример, шутер со множеством разных видов оружия. Если гейм-дизайнер
создал 50 различных видов оружия, но  один из  них явно лучше осталь-
ных, игроки будут выбирать именно его и игнорировать остальные 49. Это
значит, что разрабатывавшие эти виды оружия гейм-дизайнеры, коман-
да художников и тестирующая команда контроля качества зря потратили
свое время на них. Что еще? Игроки будут говорить, что игра скучная и ей
не хватает разнообразия, пусть даже на самом деле в ней и заложено боль-
шое разнообразие.

Сочетания методов балансировки


По  мере усложнения игр, скорее всего, в  них будут использоваться не-
сколько методов балансировки в сочетании друг с другом. Например, в со-
стязательном режиме «игрок против игрока» может быть использована от-
рицательная обратная связь, а в режиме одиночной игры — динамическая
334 ГЛАВА 16 МАКРОСИСТЕМЫ И ВОВЛЕЧЕННОСТЬ ИГРОКА

настойка сложности. В одних областях игры чистый баланс будет давать


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

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

 Выберите несколько игр разных жанров, которые вам нравятся (напри-


мер, видеоигры, настольные или бумажные игры, спортивные игры).
Изучите их правила и подумайте, какие там используются методы ба-
лансировки из  тех, что описаны в  этой главе. В  некоторых играх ис-
пользуется только один метод балансировки, а в других сочетаются не-
сколько методов.
 Определив методы балансировки в выбранных играх, попробуйте из-
менить их правила и подумать, к чему это приведет. Вот несколько ги-
потетических примеров для начала:
 баскетбол с положительной обратной связью;
 «Монополия» с отрицательной обратной связью;
 Mario Kart с перекрестной настройкой.
Г Л А В А 17

ТОНКАЯ НАСТРОЙКА
БАЛАНСА, ТЕСТИРОВАНИЕ
И  РЕШЕНИЕ ПРОБЛЕМ

Больше всего времени гейм-дизайнер тратит


не на собственно дизайн игры. Больше всего времени
уходит на настройку, тестирование и решение
проблем. В этой главе рассматриваются некоторые
конкретные методы, позволяющие облегчить эти
задачи и сделать их более контролируемыми.
336 ГЛАВА 17 ТОНКАЯ НАСТРОЙКА БАЛАНСА, ТЕСТИРОВАНИЕ И РЕШЕНИЕ ПРОБЛЕМ

Баланс
С точки зрения гейм-дизайна баланс —  это способ настроить данные так,
чтобы у игроков возникло ощущение контроля над игрой. На протяжении
всей игры постоянно возникают вопросы вроде таких:

 Взять моему персонажу меч или топор?


 Поставить на мой гоночный автомобиль переднюю или заднюю веду-
щую ось?
 Посадить моему фермеру кукурузу или пшеницу?

В хорошей игре ответы на подобные вопросы далеко не очевидны. Кро-


ме того, у разных игроков должна быть возможность воспользоваться раз-
личными вариантами, а  для разных ситуаций должны быть разные ре-
шения. Игру можно считать сбалансированной, если в ней в те или иные
моменты в тех или иных местах, или при разных стилях игры можно вос-
пользоваться всеми системами и объектами, а для поиска верного реше-
ния нужно будет подумать.
Для баланса игры одного лишь ощущения сбалансированности недоста-
точно. Нужны доказательства, полученные на основании четких и количе-
ственных показателей. Некоторые из таких доказательств получают благода-
ря наблюдению во время тестирования, но другие аспекты можно проверить
с  помощью анализа действий тестировщиков или с  помощью телеметрии.

Почему баланс так важен


Люди играют в игры, чтобы обрести агентивность. Агентивность — это ши-
рота влияния игрока на способы прохождения игры. Если предлагать одну
лишь видимость разнообразия, то игрок не станет тратить время на игру.
Предположим, вам в игре предстоит труднейшая битва из всех, в кото-
рых вы участвовали до сих пор, и вам нужно подготовиться к ней. Вы захо-
дите в арсенал, и вам предлагают на выбор два варианта.

 Меч разрушения: наносит 100 единиц урона; шанс попадания 100%


 Бутерброд с ветчиной: наносит 1 единицу урона; шанс попадания 2%

Это некорректный выбор. Вряд ли так уж много игроков выбрали бы бу-


терброд. Такой выбор дается лишь «для галочки». Игра предлагает вам вы-
брать оружие в арсенале, но совершенно ясно, какое из них нужно выбрать,
БАЛАНС 337

так что вы просто лишний раз нажимаете на кнопку. Вряд ли вы почув-


ствуете особую связь с игрой или будете размышлять над вариантами.
Более сбалансированный выбор, предоставляющий игроку некоторую
агентивность, выглядел бы следующим образом.

 Меч разрушения: наносит 25 единиц урона; шанс попадания 100%


 Меч «Бадабум»: наносит 500 единиц урона; шанс попадания 5%

При математическом анализе видно, что оба меча в долгосрочной пер-


спективе наносят 25 единиц урона за удар. (См. главу 9 «Атрибуты: как
выразить жизнь на языке цифр».) Но на практике они будут ощущаться
совершенно по-разному. Понятно, что с помощью Меча разрушения мож-
но уничтожить противника регулярными рубящими ударами, нанося-
щими последовательный и предсказуемый урон. С другой стороны, Меч
«Бадамум» —  это большая авантюра. Возможно, вам удастся уничтожить
противника одним ударом, и на этом все закончится, но также возможно,
что вы будете размахивать мечом и  промахиваться целую вечность. Со-
гласны ли вы на такую вероятность? Выбор неочевиден. Он явно зависит
от личности игрока. Отдельные игроки могут отдавать предпочтение тому
или иному варианту, и это будет предметом споров и разногласий. Каж-
дому игроку придется какое-то время подумать над выбором. И именно
это вам и нужно от игры. Вне зависимости от сделанного игроком выбо-
ра, он ощущает свою агентивность и сам решает, что ему лучше подходит.
Это усиливает вовлеченность и стимулирует продолжать делать выборы
в дальнейшем. Это же способствует развитию сообщества игроков —  сре-
ди них, например, могут возникнуть сообщество «Меча разрушения» и со-
общество «Меча “Бадабум”», их члены начнут спорить между собой и при-
водить свои аргументы. Баланс игры очень важен для гейм-дизайнеров,
потому что он дает игрокам агентивность и повышает их интерес.
Рассмотрим последний пример с  выбором оружия, чтобы проиллю-
стрировать еще одну проблему с балансом.

 Бутерброд с ветчиной: наносит 1 единицу урона; шанс попадания 2%


 Сломанная палка: наносит 2 единицы урона; шанс попадания 1%

С математической точки зрения решение сбалансировано, но проблема


очевидна: оба варианта ужасны. Предоставить игрокам ложную свободу
действий и одновременно настроить их на неудачу —  гарантированный
338 ГЛАВА 17 ТОНКАЯ НАСТРОЙКА БАЛАНСА, ТЕСТИРОВАНИЕ И РЕШЕНИЕ ПРОБЛЕМ

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


сбалансированных и обоснованных вариантов на выбор.
Баланс в игре очень важен еще по одной практической причине —  он
играет серьезную роль в распределении ресурсов команды при создании
игры. Если выделить время и ресурсы на создание 20 автомобилей для го-
ночной игры, но игроки выбирают только 2 из них, то это значит, что вы
зря потратили время на создание и тестирование остальных 18. Вряд ли
вам захочется оказаться в такой ситуации. Если же эффективными будут
все 20 вариантов, то у игроков появится больше возможностей, и больше
людей заинтересуются вашей игрой. Баланс помогает распределять и вре-
мя разработчиков. В индустрии ходит много историй о том, как разработ-
чики, просматривая телеметрию, обнаруживали, что какой-то части игры
уделяла внимание лишь крошечная часть аудитории, а это ужасное откры-
тие для любого разработчика.

Общий баланс игры


Точной формулы баланса или набора критериев, которые окончательно под-
твердили бы сбалансированность игры, не существует, но есть несколько по-
казателей, которые можно объективно измерить и отследить. Начать работу
над балансом можно с теоретической числовой настройки баланса, но по-
нять, действительно ли сбалансирована игра, можно только на стадии тести-
рования. Во время тестирования можно следить за следующими индикато-
рами, показывающими, насколько игра близка к балансу или достигла его.

 Время, потраченное на выбор. Обращайте внимание на то, насколько


быстро игрок принимает решение, когда понимает суть игры и оказы-
вается перед выбором. Это может быть выбор между мечом и топором
перед битвой. Это может быть выбор между спортивным автомобилем
или маслкаром перед гонкой на новой трассе. Это может быть выбор
между посадкой кукурузы или пшеницы в  игре про ферму. В  любом
случае, когда есть выбор, нужно особенно внимательно следить за тем,
как игроки его делают и насколько они его придерживаются. Если все
тестировщики за секунду выбирают топор, то это говорит о дисбалан-
се. С  другой стороны, если многие тестировщики затягивают с  окон-
чательным выбором, не  решаясь предпочесть какой-то из  вариантов,
и,  возможно, даже предварительно задают вопросы, то  это хороший
показатель сбалансированности игры. При этом важно отметить, что
паузы и  вопросы также могут свидетельствовать о  недопонимании
БАЛАНС 339

со стороны игрока. Важно убедиться в том, что тестировщики медлят


именно потому, что хотят сделать лучший выбор, а не потому, что они
что-то не понимают или расстроены.
 Разногласия среди игроков. Важно предоставить тестировщикам,
принявшим разные решения, возможность объяснить, почему они
так поступили. Если среди них наблюдаются разногласия, а в идеале
кое-кто из  них страстно защищает свой выбор, то  игра отлично сба-
лансирована. Даже если в группе всего два тестировщика, но каждый
из них придерживается своих убеждений, то это хороший знак. Такая
обратная связь говорит о том, что у вас получилось разработать вари-
анты, показавшиеся эффективными хотя бы одному человеку. Если же
все тестировщики быстро приходят к единому мнению, то, вероятно,
в  игре есть дисбаланс. И  это  же отличная возможность расспросить
участников тестирования о причинах их решений и поискать подсказ-
ки о том, как устранить этот дисбаланс.
 Равномерное распределение выбранных вариантов. При работе
с большим количеством тестировщиков начинаешь замечать некие за-
кономерности в распределении их выбора. Они могут проявиться на эта-
пе игрового тестирования, но по-настоящему проявляются на этапе те-
леметрии. Если игрокам предлагается пять вариантов и каждый из них
выбирается примерно в 20% случаев, то лучшего и желать нельзя! Одна-
ко такая ситуация маловероятна даже в самых сбалансированных играх,
потому что на игроков всегда влияют какие-то внешние факторы. Не так
уж важно, чтобы все варианты выбирались в абсолютно равных пропор-
циях, но важно, чтобы все они выбирались хотя бы иногда.
 Изменение условий игры. Если игроки меняют используемые предме-
ты или стиль прохождения на протяжении игры в зависимости от усло-
вий, то это еще один отличный показатель баланса. Этот показатель
довольно легко навязать искусственно с  помощью таких концепций,
как типы урона (например, в «Огненных землях» урон наносит только
«ледяное оружие»). Помимо искусственной и принудительной смены
предметов и тактик, существуют и более естественные, органические
формы изменений. Предпочтения игроков меняются в  зависимости
от условий, которые они видят, и от доступного выбора. Пока игрокам
для каждой точки выбора предлагают несколько эффективных вариан-
тов и не все игроки выбирают один и тот же, возможность менять пред-
меты и тактики — великолепный способ расширить баланс.
340 ГЛАВА 17 ТОНКАЯ НАСТРОЙКА БАЛАНСА, ТЕСТИРОВАНИЕ И РЕШЕНИЕ ПРОБЛЕМ

 Комбинации типа «камень, ножницы, бумага». Еще один хороший


признак баланса — когда у любого варианта есть явное преимущество
и явный недостаток, как в игре «камень, ножницы, бумага». Такие ком-
бинации часто закладываются в игровую механику специально, но мо-
гут возникать и естественным образом по мере развития игры.
 Смена лидера. Признаком баланса игры может служить смена лиде-
ра, когда один игрок или команда перехватывает лидерство у другой
стороны. Это не  всегда идеальный показатель, но  он дает некоторые
подсказки о балансе, в частности в многопользовательских играх. Если
в игре есть измеряемые конкурентные элементы, следите за частотой
смены лидера. Это относится и к играм реального мира. Посмотрите
любое спортивное соревнование и обратите внимание на смену лидер-
ства. Игры, в которых лидирующее положение часто меняется, наблю-
датели чаще считают захватывающими.

Нарушение данных
После проведения широкого спектра тестов, давших более или менее аде-
кватное представление об игре, возникает соблазн остановиться и «зафик-
сировать прибыль». Но не поддавайтесь этому искушению. Вместо этого
продолжайте вносить изменения. Чем больше у вас времени, тем больше
вы должны экспериментировать. Нужно намеренно нарушать границы
сис темы, чтобы посмотреть, что произойдет в том или ином случае. Такие
эксперименты следует проводить отдельно, на копиях игры, а не на ее го-
товом к отправке варианте. На этом важном этапе данные могут меняться
от технически приемлемых до весьма инновационных.

Проблемы с судейской оценкой состязаний


Если вам когда-нибудь приходилось в сердцах кричать на рефери или су-
дью, вы прекрасно знаете, какие бывают проблемы с судейской оценкой
состязаний. Очень часто люди не соглашаются с решениями судей и счи-
тают, что различные конкурсы, соревнования и  состязания оценивают
нечестно. Игра, которую считают несправедливой, может сильно упасть
в глазах игроков и зрителей. Если обвинение в нечестности не так уж силь-
но грозит старым играм, укоренившимся в культурных традициях и имею-
щих огромную поддержку на протяжении долгого времени, то новые игры,
правила которых сочтут несправедливыми, очень рискуют.
БАЛАНС 341

Существует два основных способа решения проблем с судейской оценкой.

 Игра на судью. Это довольно элегантное решение, поскольку оно пол-


ностью обходит проблему. Если цель кулинарного конкурса — угодить
судье, то оценка этого судьи, выбравшего блюдо по своему вкусу, может
считаться совершенно справедливой. О  том, является  ли выбранное
судьей блюдо объективно лучшим, спорить не приходится, потому что
от судьи и не ожидают беспристрастности. Предвзятость уже заложена
в конкурс как механика. Самый большой минус этой системы заключа-
ется в том, что она определяет победителя только с точки зрения судьи;
судья не определяет, кто лучше в  чем-то объективно. Например, судья
может выбрать блюдо, в которое положили много его любимых ингре-
диентов. Это блюдо может не отличаться великолепным дизайном или
исполнением, но в нем есть то, что нравится судье. В результате кон-
курс демонстрирует лишь вкусы судьи, а не способности конкурсантов.

примечание
В игровой индустрии игра на судью возникает всякий раз во время
презентаций предложений («питчей»). Если вам повезло и  у  вас
появился шанс представить идею своей игры руководителю или
инвестору, то  вряд  ли вам захочется тратить время на  то, чтобы
доказать неоспоримое превосходство вашего проекта; вам, скорее,
захочется показать, что ваша игра —  лучшая для реализации, с их
точки зрения. Инвестор имеет полное право быть предвзятым, и он
может выбрать проект, который вам кажется не  совсем качествен-
ным, только потому, что он ему больше понравился. В  этом нет
ничего плохого. Инвесторы вправе вкладывать свои средства, куда
хотят и во что хотят.

 Количественная оценка (квантификация). Другой метод решения


проблем с судейской оценкой — это четкая оценка по количественным
параметрам, на которые ориентируются судьи, чтобы свести к мини-
муму несоответствия. Преимущество видеоигр в этой сфере очевидно.
Поскольку вся игровая вселенная программируется вашей командой
и находится под вашим контролем, то можно задать точные и идеаль-
но выверенные количественные критерии буквально для каждой си-
туации, там, где это необходимо. Например, в  файтинге, в  отличие
от реальных соревнований по боевым искусствам или по боксу, можно
342 ГЛАВА 17 ТОНКАЯ НАСТРОЙКА БАЛАНСА, ТЕСТИРОВАНИЕ И РЕШЕНИЕ ПРОБЛЕМ

на 100% гарантировать, что не будет запрещенных ударов. Для этого


нужно только запрограммировать игру так, чтобы она их не допускала.
В реальном же мире всегда будут «серые зоны».
Если вы разрабатываете аналоговую игру или некую разновидность
спортивных состязаний, то  можно принять дополнительные меры
и убедиться в том, что все ситуации поддаются количественной оцен-
ке. Раньше судьям в таких играх, как теннис, было трудно определить,
куда именно приземлился мяч и был он в игре или нет. Сегодня у нас
есть высокоскоростные управляемые компьютерами камеры, которые
следят за игрой и могут четко показать состояние мяча в любой момент,
так что споры по поводу того, был ли мяч вне игры, резко сократились.
Похожие камеры используются и  на  скачках, чтобы беспристрастно
и почти без всяких сомнений доказать, кто именно победил.
Для аналоговой игры рекомендуется свести к минимуму — а в идеале во-
обще исключить — любые ситуации, которые разные люди могут интер-
претировать по-разному. Хороший способ определить, правильно ли вы
определили количественные характеристики оцениваемых действий, — 
попросить нескольких квалифицированных судей понаблюдать за  не-
сколькими оцениваемыми ситуациями и  затем высказать свое мне-
ние. Если все судьи последовательно придут к одному и тому же выводу,
то можно быть уверенным в том, что механика была определена количе-
ственно правильно и готова к использованию. Если же судьи расходятся
во мнениях, то понятно, что с механикой есть какая-то проблема.

Как приступить к настройке баланса данных


Чтобы сбалансировать игру, необходимо провести множество тестов. Что-
бы полностью протестировать видеоигры, нельзя просто так взять и на-
чать тестирование. Для начала вам потребуется программная база, движок,
структура данных, системы, временные объекты («заглушки») и многое
другое. Но еще до всего этого можно начать проводить тесты на баланс.

Прототипирование
Один из способов балансировки —  прототипирование, то есть создание
небольшого фрагмента игры с конкретной целью получить какое-то по-
лезное для работы знание. Прототипы должны быть как можно более де-
шевыми и быстрыми в изготовлении, и от них сразу же избавляются, как
только те выполнят свою задачу.
БАЛАНС 343

примечание
Не  совершайте ошибку, когда вы быстро, «на  коленке», собираете
прототип, а  затем влюбляетесь в  него и  хотите сохранить. Созда-
вайте прототип с четким намерением избавиться от него сразу же
после использования.

С прототипом связана концепция вертикального среза —  ранней вер-


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

Прототип «крафта»
Допустим, вы создали систему «крафта» (создания объектов) для игры про
исследование мира. Вместо того чтобы реализовать ее на полноценном иг-
ровом движке, можно собрать часть данных в электронной таблице, а за-
тем оформить правила и действия на физических карточках. Ваш план — 
создать временный аналоговый набор правил, имитирующий работу
механик, а затем протестировать систему. При этом вы стараетесь вклю-
чить в свой прототип как можно меньше таких посторонних аспектов, как
механика сбора урожая, графика и  элементы пользовательского интер-
фейса. В прототипе вам нужно сосредоточиться только на одном факто-
ре: как накапливать материалы и как обменивать их на готовые предметы.
Во время тестирования прототипа нужно обращать внимание на пред-
меты, которые используются постоянно или не используются вообще. Су-
ществуют ли некие комбинации, которые кажутся очевидным выбором
в большинстве ситуаций? Существуют ли предметы или комбинации, ко-
торые не используются никогда? Наконец, если вы нашли слабое место,
нужно выяснить, с чем связана проблема — с игровыми данными или с са-
мим прототипом. Помните о том, что в прототип не всегда можно легко пе-
ренести все данные, поэтому не может быть стопроцентной уверенности
в том, что все, что есть в прототипе, будет работать точно так же и в гото-
вой игре.
344 ГЛАВА 17 ТОНКАЯ НАСТРОЙКА БАЛАНСА, ТЕСТИРОВАНИЕ И РЕШЕНИЕ ПРОБЛЕМ

Сосредоточившись только на  этих аспектах, вы сможете приступить


к созданию прототипа еще до того, как будет написана хотя бы одна строч-
ка кода или выбран игровой движок. Часто от идеи прототипа до завер-
шенного теста проходит всего несколько часов. Если повезет, прототип
окажется по-настоящему интересным. Возможно, он даже породит какую-
нибудь идею дальнейшего развития игры или ее ответвления. В  инду-
стрии такое случалось неоднократно. Но  ничего страшного, если этого
не произойдет. Ваша цель  не создать законченную игру; вам просто нуж-
но сосредоточиться на каком-то одном факторе.

Прототип системы повышения уровней


Допустим, у  вас есть ролевая игра, которая позволяет персонажам вы-
бирать новые навыки из  дерева навыков после получения очков опыта.
Опять же, можно сделать аналоговый прототип и протестировать эту сис-
тему с  какой-то определенной целью —  в данном случае, чтобы подобрать
наилучший темп набора очков опыта для системы повышения уровней. При
этом можно воспользоваться карточками для заметок с описаниями навы-
ков. Можно нарисовать дерево навыков с характеристиками на белой дос-
ке или на бумаге. Можно даже выдавать очки опыта в виде покерных фи-
шек, монет или других материальных предметов. По такому прототипу вы
не сможете многое сказать об игре в целом, но сможете углубиться в один
отдельный аспект и проработать многие его детали до создания собственно
игры. Скорее всего, при интеграции системы с остальной игрой потребует-
ся внести в нее некоторые изменения, но, по крайней мере, прототип послу-
жит отправной точкой для дальнейшей работы. При определенной практи-
ке можно будет создавать все внешние системы игры отдельно и довольно
точно предсказывать, как они будут работать после интеграции.

Прототип прыжков
Теперь предположим, что вы собираетесь создать классический платфор-
мер. Вместо того чтобы создавать уровни для всей игры, можно в стандарт-
ном движке (например, Unity или Unreal) сделать пустой уровень с одним
лишь полом, без врагов, без бонусов и без целей и провести тестирование
в нем. Такой тест называется прокси-тестом, потому что в этом случае ис-
пользуется не настоящий игровой движок, а стандартный или «прокси» (то
есть «заменяющий»). Для этого подойдет любой движок или любая систе-
ма, которую можно модифицировать в достаточной степени, чтобы полу-
чить нужную информацию. Существует много игровых движков, которые
БАЛАНС 345

можно легко переделать и использовать в качестве прокси-движков для


прототипов. Если вы все равно собираетесь избавиться от прототипа по-
сле тестирования, то не нужно беспокоиться о лицензировании, аппарат-
ных ограничениях и прочих факторах, возникающих при использовании
движка для полноценной игры.
После настройки прокси-игры можно будет создать главного героя и за-
дать числовые показатели его прыжка —  скорость, направление, управ-
ление и  т. д.  —  но  только для самого ограниченного набора атрибутов,
который только возможен для прыжков. Затем можно записать цель те-
стирования — например: «Найти высоту прыжка, которая ощущается луч-
ше всего». Далее переходим к  собственно тестам… многочисленным те-
стам. Да, прыгать по пустому уровню неинтересно, и такая игра была бы
невероятно скучна, но прототип создается не ради веселья. Вам нужно со-
средоточиться на механике прыжков отдельно от всего и учитывать при
этом размеры отображаемого на экране персонажа и расстояние, которое
он должен преодолевать за один прыжок.
К моменту окончания тестов у вас уже должны быть кое-какие надеж-
ные цифры для начала. Скорее всего, эти тесты подтолкнут вас к каким-то
другим прототипам и тестам. Например, добившись нужных ощущений
от  простого прыжка, можно сделать коробку, через которую должен пе-
репрыгивать персонаж, и снова провести тесты. Далее цикл повторяется,
тесты становятся сложнее, а представление о механике —  все более чет-
ким. К тому времени, когда будет готов настоящий игровой движок, моде-
ли персонажей и анимация, у вас уже будут отличные начальные предпо-
ложения для значений атрибутов данных.

Прототип макросистем
Допустим, вы планируете создать крупномасштабную военную игру, в ко-
торой игроки в  небольших локациях будут вести сражения, влияющие
на большую стратегическую карту. Вам нужно определить, как работать
с информацией о сражениях на большой карте. В этом случае можно вос-
пользоваться сочетанием аналогового и прокси-прототипирования. Для
небольших сражений можно выбрать уже существующую игру, пример-
но соответствующую той, что вы хотите создать (даже если она подходит
не идеально). Затем вы разыгрываете сражения в этой игре и переноси-
те результаты на полностью аналоговую карту из бумаги. Таким образом
часть тестирования проводится в другой игре, а часть на большом листе
бумаги.
346 ГЛАВА 17 ТОНКАЯ НАСТРОЙКА БАЛАНСА, ТЕСТИРОВАНИЕ И РЕШЕНИЕ ПРОБЛЕМ

примечание
Получать как можно быстрее результаты тестов и переходить к новым
итерациям позволит любое сочетание прокси, аналоговых и  других
методов прототипирования. Некоторые команды разработчиков для
быстрого создания сценариев и тестирования игровых механик исполь-
зуют даже игрушечные фигурки, резинки и  миниатюрные модели.
Фаза прототипа — лучшее время в жизненном цикле разработки игры,
когда можно проявить творчество и смекалку. Прототип также дает воз-
можность гейм-дизайнерам и балансировщикам чем-то заняться, пока
создается основной движок, и они не сидят сложа руки в ожидании.
Помните, что первая итерация будет самой неудачной, поэтому
стоит как можно быстрее избавиться от нее и перейти к следующей.

Игровое тестирование
Игровое тестирование — это в большей степени тестирование, чем игра. В за-
висимости от этапа создания игры и предполагаемого результата тестирова-
ние может проводиться по-разному. Как правило, оно начинается с проверки
минимальной работоспособности, а затем, по мере разработки игры, добав-
ляются многие другие виды тестов. По мере расширения тестов первоначаль-
ные виды остаются неизменными, а объем тестирования увеличивается.
Выбирая тестировщиков, помните, что «свежий взгляд» возможен лишь
единожды. Поэтому, если у вас ограниченный круг тестировщиков, не сто-
ит использовать для первых тестов сразу всех. По возможности новичков
следует привлекать с каждым новым раундом тестирования, всегда остав-
ляя кого-то для последующих тестов. Тот, кто никогда раньше не видел
игру, будет воспринимать ее совершенно не так, как тот, кто уже немного
ознакомился с ней. Кроме того, тестировщики, повидавшие ранние версии
игры, будут отличаться некоторой предвзятостью. Они будут мысленно
сравнивать более поздние варианты с более ранними. У основной вашей
аудитории такой предвзятости не будет, поэтому в  каком-то смысле мне-
ние этих тестировщиков менее полезно для предположительной оценки
восприятия игры после выпуска. Например, если на ранней стадии тести-
ровщик жаловался на  какой-то уровень, а затем этот уровень изменился,
он с гораздо большей вероятностью похвалит изменение, потому что ощу-
щает личную связь с ним — в конце концов, он попросил что-то поменять,
ИГРОВОЕ ТЕСТИРОВАНИЕ 347

и увидел, к чему привело такое изменение. Но это не значит, что тестиров-


щики бывают полезными только один раз. Иногда наличие тестировщика,
который уже освоился с игрой и знаком с ней, бывает большим преимуще-
ством. В таком случае экономится время на инструкции, а вы знаете, что
игра тестировщику понравилась, по крайней мере, достаточно, чтобы он
согласился принять участие в еще одном тесте. Важно только помнить, что
опытные тестировщики будут вести себя не так, как новички, и соответ-
ственно корректировать свои ожидания.
Далее разбираются основные типы и этапы игрового тестирования:

 тестирование минимальной работоспособности;


 тестирование баланса;
 тестирование на ошибки;
 пользовательское тестирование;
 бета-тестирование, или телеметрия после выхода.

Тестирование минимальной работоспособности


Тестирование минимальной работоспособности обычно проводит непо-
средственно создатель игры, и ее нужно проводить постоянно. Всякий раз,
внося изменения в игру, вы должны протестировать ее. На этапе проверки
минимальной работоспособности вы убеждаетесь в том, что все внесен-
ные вами изменения работают так, как задумано. Гораздо лучше перестра-
ховаться и провести больше тестов, чем нужно, чем провести их слишком
мало. В случае с видеоигрой (вероятно) потребуется скомпилировать ее
в движке, а затем быстро пройти, чтобы проверить, как работают измене-
ния. Когда речь идет о механиках или о программном коде, такие тесты
проводятся каждый раз после одного-единственного изменения.
Если вы планируете добавить сразу много изменений, то проверка каж-
дого объекта данных может оказаться нецелесообразной. Например, если
вы создали сразу 200 разных видов оружия в электронной таблице и гото-
вы перенести их в игровой движок, то проверять каждый из них было бы
непрактично. Вместо этого на данном этапе рекомендуется протестиро-
вать первый объект, без остальных. Для тщательной проверки следует
себе задавать примерно следующие вопросы:

 Может ли герой экипировать это оружие?


 Наносит ли оружие предполагаемый урон?
348 ГЛАВА 17 ТОНКАЯ НАСТРОЙКА БАЛАНСА, ТЕСТИРОВАНИЕ И РЕШЕНИЕ ПРОБЛЕМ

 Действительно ли у него заявленная частота атаки?


 Работает ли оружие с существующей анимацией?

После того как первый объект данных —  как правило, опорная точка — 
реализован и протестирован, можно переходить к небольшой группе, напри-
мер к пяти объектам данных. Сможете ли вы успешно реализовать пять объ-
ектов в одной группе, а затем провести удачные тесты с одним-двумя? Если
да, то можно внедрить более крупную партию, каждый раз выборочно про-
веряя, правильно ли импортируются данные. Никогда не следует надеяться
на то, что если вы настроили одну вещь и она работает, то она будет рабо-
тать правильно каждый раз. Как только минимальные тесты на работоспо-
собность пройдут успешно и у вас будет достаточно данных, чтобы провести
более тщательную проверку, пора переходить к тестированию баланса.

Тестирование баланса
После того как данные введены в игру, самое время начать тестирование ба-
ланса. Если данные были сопоставлены с опорной точкой, то тестирование
баланса должно пройти быстро. Как упоминалось в главе 13 «Балансировка
диапазона, опорные точки данных и иерархический дизайн», нужно начать
с тестирования опорной точки против нее самой. Затем можно выбрать объ-
екты данных, наиболее далекие от опорной точки, и протестировать их друг
против друга, поскольку именно здесь, вероятнее всего, и кроется дисбаланс.
Например, вы работаете над ролевой игрой в  стиле фэнтези и  сдела-
ли опорной точкой рыцаря. Орки, гоблины, кобольды, варвары, викинги
и солдаты — все это довольно похожие персонажи, но при создании лучни-
ков вы дали им дальнобойное оружие вместо оружия ближнего боя, а ги-
гантским паукам дали яд для атаки. Таким образом, лучники и гигантские
пауки сильно отличаются от опорного персонажа и друг от друга, и, хотя
они уже сбалансированы по отношению к опорной точке, было бы непло-
хо запланировать выборочную проверку этой комбинации отдельно. Чем
сильнее отличается объект данных от  опорного и  больше его уникаль-
ность, тем тщательнее нужно его тестировать.
Следующий шаг — попросить поиграть с новыми данными кого-то дру-
гого. Вы и ваша команда как создатели данных знаете то, чего не знает
никто другой, и поскольку данные создавали вы сами, вы в полной мере
представляете весь их потенциал. Другие игроки ничего этого не знают,
а при тестировании очень важен свежий взгляд. При этом не помешает
ИГРОВОЕ ТЕСТИРОВАНИЕ 349

проинструктировать других игроков и  сказать им, чего стоит ожидать


от игры. На этом раннем этапе можно объяснять им элементы управления,
контекст теста, который они могут не знать, и поведать им другую инфор-
мацию, важную для тестирования в нужных для вас условиях.
При тестировании баланса советуйте тестировщикам делиться вслух
своими мыслями; по возможности подберите для этого кого-то разговор-
чивого. Безостановочный поток сознания от тестировщика —  отличная
вещь, особенно на этапе баланса. Попросите людей много говорить о сво-
их чувствах. Удивлены ли они? Раздражены, озадачены? Совпадают ли эти
чувства с желаемыми? Особое внимание нужно уделять примерно следую-
щим высказываниям.

 Я не знаю, что делать.


 Вот это ощущается лучше, чем вон то.
 Я знаю, что делать, но лучше поделаю что-нибудь другое.
 Я сомневаюсь, какой из этих вариантов лучше.

Подобные заявления во время проверки баланса — на вес золота. Обяза-


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

Тестирование на ошибки
После запуска игры в  производство обычно привлекается независимая
команда по  обеспечению качества, или команда по  контролю качества
(QA, Quality Assurance). Хотя члены этой команды, безусловно, могут по-
мочь и в тестировании баланса, их основная работа заключается в поис-
ке ошибок. Их цель —  сэкономить деньги компании. Если крупная игра
попадет к издателю с ошибками, нарушающими игровой процесс, она бу-
дет отклонена. Сроки выхода игры, скорее всего, сдвинутся, издатель про-
пустит рекламное окно, а из-за этого и других факторов будет увеличена
350 ГЛАВА 17 ТОНКАЯ НАСТРОЙКА БАЛАНСА, ТЕСТИРОВАНИЕ И РЕШЕНИЕ ПРОБЛЕМ

стоимость проекта. Чтобы избежать подобных проблем, команда по обес-


печению качества должна очень глубоко погрузиться в игру и убедиться,
что она находится в достаточно хорошей форме перед отправкой к издателю.
Вам как гейм-дизайнеру нужно поддерживать тесное общение с коман-
дой по обеспечению качества на тему систем и данных. Гейм-дизайнеры
создают контент быстрее, чем успевают тестировать его сами. Нужно раз-
рабатывать план тестирования качества сразу же с началом работы над
системами. Члены команды по  обеспечению качества могут быть и  от-
личными тестировщиками баланса. В конце концов, это высококвалифи-
цированные игроки, которые играют каждый день. По возможности об-
щайтесь с ними во время тестирования вашей части работы. Они очень
открыто относятся к критике (в отличие от обычных игроков). Будьте го-
товы к жестким и откровенным отзывам и внимательно относитесь к ним.
Да, не  очень-то приятно выслушивать отзывы о своих ошибках и недоче-
тах, но это, безусловно, лучший способ повысить навыки.

Пользовательское тестирование
К  пользовательскому тестированию приступают по  мере приближения
к завершению работы над игрой. Цель пользовательского тестирования — 
выяснить, как пользователи взаимодействуют с  игрой, как работает ба-
ланс и получают ли игроки удовольствие.
Найти хороших испытуемых на этом этапе гораздо важнее, чем в пре-
дыдущих раундах тестирования. В идеале тестировщики для первых не-
скольких раундов должны точно соответствовать целевой аудитории. При
обращении к  тестировщикам уточните, кого именно вы ищете. Необя-
зательно составлять такой же тщательный профиль тестировщиков, как
профиль целевой аудитории, но составить его все же нужно, чтобы исклю-
чить некоторых людей из пула. Для конкретной игры подойдет не каждый
игрок, поэтому правильный выбор так важен. Ниже приведены примеры
обращений к игрокам, в которых указываются типы тестировщиков.

 Требуются тестировщики, увлекающиеся быстрыми шутерами от пер-


вого лица (FPS).
 Требуются тестировщики, увлекающиеся условно бесплатными мо-
бильными играми и желающие играть на протяжении часа.
 Требуются тестировщики. Идеальный вариант — фанаты аниме и япон-
ских RPG, но подойдут и просто любители RPG.
ИГРОВОЕ ТЕСТИРОВАНИЕ 351

Обратите внимание на то, что в этих обращениях использованы сокра-


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

 Как долго игроки осваивают управление?


 Насколько хорошо они ориентируются в  главном меню и  проходят
обучение?
 Отдают  ли игроки предпочтение одному классу персонажей над дру-
гими?
 Какие моменты в игре кажутся игрокам самыми непонятными?

Не  стесняйтесь собирать как можно больше информации, даже если


она выходит за рамки заявленной цели. Обращайте особое внимание на то,
как ведут себя тестировщики и какие они испытывают чувства в ситуаци-
ях, касающихся цели тестирования.
Для пользовательского тестирования можно создать сценарий, кото-
рый наблюдатель зачитает тестировщику перед началом теста. Для тести-
рования начального этапа игры сценарий может быть примерно таким:

Запустите игру и комментируйте все, что замечаете. Тест продлится


полчаса. Учтите, что мы не  будем отвечать на  любые ваши вопросы
по ходу, мы ответим на них только после теста, но все равно спраши-
вайте. Мы их запишем и объясним все, что было непонятно, после те-
стирования.

Такой сценарий поможет поддерживать организацию, и его можно пе-


редать кому-то другому. Если вы пользуетесь услугами одних и тех же те-
стировщиков на разных этапах цикла разработки —  что бывает распро-
страненной практикой —  то в сценарии потребуются дополнения. В нем
352 ГЛАВА 17 ТОНКАЯ НАСТРОЙКА БАЛАНСА, ТЕСТИРОВАНИЕ И РЕШЕНИЕ ПРОБЛЕМ

нужно будет описать, в какое место в игре помещают тестировщиков и что


в ней было до этого, но не более того.

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

Самое важное, что может сделать наблюдатель во время пользовательско-


го тестирования, —  это наблюдать. По возможности он должен строго хра-
нить молчание и только следить за происходящим. Так как игра уже близ-
ка к завершению, она должна сама говорить за себя. Если в какой-то момент
тестирования наблюдателю приходится вмешиваться, то это свидетельству-
ет о наличии довольно серьезной проблемы, которую необходимо решить,
преж де чем продолжать пользовательское тестирование. Обнаружив серь-
езную ошибку, поблагодарите тестировщиков за потраченное на вас время
и займитесь устранением проблемы. Если тестировщики продолжат играть
с ошибками, от получаемой с их помощью информации будет меньше пользы.
Во время тестирования принято делать видеозаписи действий тести-
ровщиков и записи игрового процесса в самой игре. Когда тестировщики
по-настоящему погружаются в  игру, наблюдатели могут не  успевать де-
лать заметки. Хорошую обратную связь предоставляет лицо тестировщи-
ка, но если наблюдатель смотрит «через плечо», то он не заметит эмоций
человека. По возможности камера должна быть направлена на лицо тести-
ровщика и одновременно на экран игры. В крупных проектах разработчи-
ки игр могут даже записывать команды, вводимые пользователем через
контроллер. Такая запись полезна тем, что можно всегда пересмотреть ее
и обнаружить какие-то полезные для анализа состояния игры детали.
После пользовательского тестирования неплохо провести заключи-
тельную беседу с тестировщиком, задать заранее подготовленные вопро-
сы или подробно рассмотреть любые комментарии тестировщика. Тести-
ровщик, который добровольно согласился на  тестирование и  потратил
на него свое время, гораздо охотнее даст положительный отзыв по сравне-
нию с обычной аудиторией, и это важно помнить. Конечно, выслушивать
похвалу приятно, но гораздо полезнее честная и конструктивная критика.
ИГРОВОЕ ТЕСТИРОВАНИЕ 353

примечание
Игровые тестировщики не  должны быть профессионалами в  обла-
сти контроля качества (QA) (если только они и  не  есть целевая
аудитория игры). Игроки-любители не имеют такой же подготовки
и таких же навыков, как профи. Это говорится не для того, чтобы усо-
мниться в их способностях, а для того, чтобы наблюдатель учитывал
этот важный факт.

При формулировании вопросов для беседы после тестирования наблю-


дателю следует избегать открытых, двусмысленных и наводящих вопро-
сов типа «Как вам понравилась игра?» Конкретно этот вопрос является на-
водящим, потому что предполагает, что игроку понравилась игра, и сам
собой напрашивается самый неудовлетворительный ответ, какой только
может получить наблюдатель: «Ну, в целом понравилась». Такая обратная
связь не дает разработчикам практически ничего полезного. Вместо этого
вопросы должны быть сформулированы так, чтобы поощрять тестировщи-
ков предлагать полезную информацию. Рассмотрим несколько примеров
вопросов, которые задаются в основном об одном и том же, но формули-
руются по-разному.

Первоначальный вопрос: «Показались ли вам какие-то уровни непо-


нятными?»

Такой вопрос наводит на ответы, вроде «Нет» или «Не совсем», в кото-


рых мало смысла. Если тестировщик ответит «Да» или «Вроде бы да», то это
уже лучше, но все равно на их основе наблюдатель не получит никакой
особо ценной информации.

Переформулированный вопрос: «Какой из завершенных вами уров-


ней показался самым непонятным», а за ответом следует уточняющий
вопрос: «Почему?»

Видите, как этот вопрос мягко подталкивает к изложению дополнитель-


ной информации? Вместо того чтобы дать простой ответ «да/нет», пользо-
ватель мысленно расставляет уровни в порядке их понятности и выбирает
один из них. У наблюдателя же появится повод задать следующие вопросы:
«Какой уровень показался самым понятным?» или «Какие уровни кроме
354 ГЛАВА 17 ТОНКАЯ НАСТРОЙКА БАЛАНСА, ТЕСТИРОВАНИЕ И РЕШЕНИЕ ПРОБЛЕМ

этого показались вам запутанными?» Это весьма плодотворный цикл об-


щения с тестировщиком.
Рассмотрим другой вопрос, требующий переделки.

Первоначальный вопрос: «Какие улучшения мы могли  бы внести


в игру?»

Задавать такой вопрос игроку довольно нечестно. Игрок-тестиров-


щик — не гейм-дизайнер, и, вероятно, он не имеет ни малейшего представ-
ления о том, как улучшать игру. Вопрос также очень широко сформулиро-
ван, и сам собой напрашивается ответ «Никакие». Если же тестировщик
предлагает улучшения  —  в  ответ на  вопрос или экспромтом  —  к  нему
нужно прислушиваться! Помните, что тестировщики понятия не имеют,
что происходит внутри игры, и потому могут высказывать совершенно не-
реалистичные предложения, но это нормально. Вы ведь хотите услышать,
о чем они думают. Выслушивая обратную связь, стоит думать не о том, воз-
можно ли внести такие изменения, а о том, помогут ли они игре и нет ли
чего-нибудь другого, что могло бы улучшить проект.

Переформулированный вопрос: «Мы задумали внести три изменения


в ту часть игры, в которую вы играли. Какие из них вы бы предпочли?»

Такой вопрос подталкивает давать нужные вам ответы. Возможно,


на  этом этапе вы уже представляете себе, что хотите узнать. Формули-
ровка побуждает тестировщика выйти за рамки простого ответа «да/нет»
и задуматься о простых вариантах, а в силу ограниченности вариантов
сделать это будет нетрудно.
Один из хороших способов задать вопрос —  сформулировать его на ос-
нове противопоставления (например, «Какой аспект этого класса персона-
жей лучший и какой худший?»). Удачные и неудачные аспекты бывают даже
в великолепных играх. Вопрос, сформулированный как противопоставле-
ние, заставляет игрока проявлять больше искренности в своих ответах.
При игровом тестировании неплохо также помнить о следующем.

 Благодарите тестировщиков, будьте вежливы с ними. Это они оказыва-


ют вам услугу, а не вы им.
 Никогда не спорьте с тестировщиками, исключая те случаи, когда они
неправы фактически. Любой их отзыв — хорошая обратная связь. Если
ИГРОВОЕ ТЕСТИРОВАНИЕ 355

тестировщик говорит нечто абсурдное и  совершено нереалистичное,


отвечайте просто в духе: «Спасибо за отзыв, я запишу это». Так вы про-
пустите этот момент, чтобы перейти к более полезной информации.
 Привлекайте хороших тестировщиков неоднократно. Большинство игр
требуют не одной сессии тестирования, поэтому хорошие тестировщи-
ки не только востребованы, но и необходимы.
 Не привлекайте по второму разу плохих тестировщиков. Если тестиров-
щик не дает практически никакой обратной связи или явно хотел бы из-
менить игру на нечто совершенно другое, от него мало пользы. Во вре-
мя тестирования будьте вежливы с таким человеком, но предупредите,
что его услуги для дальнейших тестов не понадобятся. Возможно, вам
даже придется удалить данные, полученные от него. Если тестировщик
намеренно играет в игру не так, как было задумано, или явно не заин-
тересован в изучении игры, вряд ли его можно назвать хорошим пред-
ставителем настоящих игроков. Почти все данные, полученные от те-
стировщиков, полезны, но в редких случаях это не так.
 Подберите разных тестировщиков из вашей общей целевой аудитории
или вокруг нее. Найдите тестировщиков разного возраста и социально-
го происхождения и с разными игровыми предпочтениями. Нелишним
будет также пригласить нескольких тестировщиков, профиль которых
находится далеко за пределами вашего целевого рынка, чтобы они по-
смотрели на вашу игру свежим взглядом. При оценке отзывов следует
обращать внимание на характеристики тестировщиков. Если родители
приводят юных помощников, то это отличные сторонние тестировщики.
 Не ожидайте потрясающих отзывов от каждого отдельного тестиров-
щика. У всех разные мнения, желания и предпочтения в играх. По мере
приближения к  концу разработки игры вы будете получать меньше
по-настоящему ценных отзывов, и многие будут повторяться.
 Обращайте внимание на повторяющиеся отзывы. Любой отзыв ценен.
Но если многие или большинство дают одинаковые отзывы, то это кри-
тически важная обратная связь, и ее не стоит игнорировать.

После проведения пользовательского тестирования и  анализа всех


отзывов важно вовлечь в процесс команду и рассказать ей о том, как все
прошло. Особенно это касается гейм-дизайнеров, которые должны по-
нимать, что произошло во  время тестирования и  почему по  его резуль-
татам вносятся изменения. По возможности покажите гейм-дизайнерам
356 ГЛАВА 17 ТОНКАЯ НАСТРОЙКА БАЛАНСА, ТЕСТИРОВАНИЕ И РЕШЕНИЕ ПРОБЛЕМ

необработанные видеозаписи того, как играют тестировщики. Смотреть


на  то, как новый игрок сталкивается с  трудностями и  пытается понять,
что происходит в игре, на которую вы потратили много времени и усилий, 
не очень приятно, но весьма познавательно.

Бета-тестирование или телеметрия после выхода


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

Средства перехвата данных


Телеметрическое тестирование подразумевает установку средств пере-
хвата данных 15, или «зацепок» (data hooks), и последующую отправку ин-
формации команде разработчиков из любой точки, где играют в их игру.
Средство перехвата данных может быть простым, таким как одна стро-
ка программного кода, описывающая переменную для отправки данных.
Например, всякий раз при гибели персонажа игрока добавляется еди-
ница к значению переменной «общее количество смертей игрового пер-
сонажа», которое отсылается разработчикам. Они получают эти данные
и заносят их в базу данных. В некоторых студиях есть целые команды,
единственная функция которых —  оценивать такие данные и анализи-
ровать их в  целях улучшения игры 16. В  небольших командах эта зада-
ча часто ложится на плечи самих гейм-дизайнеров, часто использующих
в своей работе электронные таблицы. В любой команде любого размера
гейм-дизайнеры принимают активное участие в разработке средств пе-
рехвата и анализа данных.

15
В кругу разработчиков, когда говорят о сборе данных в определенных точках взаи-
модействия игрока с игрой, чаще используется термин «событие». Гейм-дизайнеры
составляют специальные таблицы событий, куда вносят информацию о наименова-
нии события, его типе и данных, которые под него собираются. — Прим. науч. ред.
16
Специалист, который анализирует и интерпретирует данные телеметрии, назы-
вается игровым аналитиком. — Прим. науч. ред.
ИГРОВОЕ ТЕСТИРОВАНИЕ 357

Ниже приведены некоторые из практически бесконечного количества


показателей, которые анализируют с помощью внедряемых в игру средств
перехвата данных.

 Время, проведенное в игре.


 Продолжительность игровой сессии.
 Время, проведенное в главном меню.
 Время, потраченное на прохождение уровня.
 Количество заработанной за уровень внутриигровой валюты.
 Количество раз, когда игровой персонаж умирал или терпел поражение.
 Выбор класса персонажа, определенного транспортного средства или
другого предмета.
 Полное прохождение игры.
 Количество очков опыта или валюты, заработанной различными методами.
 Количество игроков в многопользовательской игре.
 Лучшие и худшие результаты в соревновательном матче.
 Размер экрана пользователя.
 Операционная система.
 Географическое положение.
 Язык по умолчанию.
 Количество потраченных игроком в игре денег.

Для каждого из  этих показателей необходимо внедрить в  игру фраг-


мент кода, собирающий описанные данные. Для каждого из них данные
должны быть определены количественно. Например, для записи времени
сессии игрока необходимо определить начало и конец сессии. Для форму-
лировки задач средств перехвата данных используются те же методы, что
и при опросе о данных, описанные в главе 3 «Как задавать вопросы».
После внедрения всех средств перехвата, когда игра разослана тести-
ровщикам (или даже пользователям), программа игры регулярно отправ-
ляет данные разработчикам. Как и следовало ожидать, этот процесс может
генерировать очень большой объем данных. Иногда бывает полезно ана-
лизировать данные отдельного пользователя или сессии, но обычно дан-
ные рассматриваются во всей своей совокупности —  так в них можно бы-
стрее найти какие-то закономерности, которые можно будет использовать
для улучшения игры.
358 ГЛАВА 17 ТОНКАЯ НАСТРОЙКА БАЛАНСА, ТЕСТИРОВАНИЕ И РЕШЕНИЕ ПРОБЛЕМ

Некоторые соображения по поводу телеметрии


Телеметрические данные —  это не некое волшебное средство и не пана-
цея, решающая все проблемы. С помощью телеметрии можно получить
огромное количество информации и выявить некоторые неизвестные ра-
нее закономерности, но для правильной интерпретации данных необхо-
димы реальные люди. При создании средств перехвата данных для теле-
метрии возникает соблазн ввести «зацепки» для всего, что только можно
придумать, но следует избегать создания «информационного шума». По-
этому нужно как следует подумать о том, какие именно данные действи-
тельно полезны для создания и улучшения игры.
Пока выборка данных невелика, следите за отклонениями (статистиче-
скими выбросами). Следить за расхождениями данных важно, даже когда
выборка станет большой. Здесь снова стоит вспомнить о методах анализа
данных. Не полагайтесь только на средние значения или минимальные
и максимальные значения полученных данных. Они неплохи для отправ-
ной точки, но легко могут исказить результаты. Важность этого соображе-
ния иллюстрируют следующие два примера.

Первый пример телеметрии: время, проведенное в обучении


В  одной простой мобильной игре было реализовано средство обучения.
В ходе игрового тестирования разработчики выяснили, что обучающие
подсказки надоедают игрокам примерно через 5 минут, поэтому они раз-
работали обучающий сценарий со средним временем прохождения в 4 ми-
нуты. В  программу игры они внедрили средство перехвата данных для
подсчета времени, которое потребовалось игрокам на  прохождение ту-
ториала, и запустили небольшое бета-тестирование. Через сутки работы
игры разработчики оценили время, которое игроки тратили на обучение,
и  результат их поразил. Среднее время прохождения обучения состави-
ло более 2 часов! Что же пошло не так? Если вспомнить главу 15 «Анализ
игровых данных», ответ вполне очевиден: наблюдались большие откло-
нения. Проанализировав тщательнее игру и  имеющиеся средства пере-
хвата, разработчики выяснили, что некоторые игроки начинали прохо-
дить обучение, затем откладывали телефон на ночь и отправлялись спать;
проснувшись, они заканчивали обучение следующим днем. Поэтому раз-
работчики отбросили все данные о  времени, превышающем 20 минут,
и воспользовались другими средствами анализа, таким как медиана, что-
бы получить более точную картину. Рассмотрев данные под новым углом,
они обнаружили, что большинство игроков проходили обучение примерно
РЕШЕНИЕ ПРОБЛЕМ 359

за рассчитанное время. Также выяснилось, что больше времени на обуче-


ние тратили игроки, не  владевшие языком игры. Так разработчики по-
няли, что при анализе также следует учитывать и основной язык игрока.

Второй пример телеметрии: заброшенные уровни


В другой игре к разработке уровней привлекли большую команду гейм-ди-
зайнеров. Каждый гейм-дизайнер в первую очередь заботился о своем уров-
не и хотел, чтобы тот получился великолепным. К моменту выпуска игры
в нее было установлено средство перехвата данных для отслеживания дан-
ных, связанных с  уровнями: когда игроки начинали проходить уровень,
сколько времени им требовалось на прохождение уровня, забрасывали ли
они проходить уровень. Через несколько недель после выхода игры данные
об уровне были проанализированы. Оказалось, что чаще всего игроки забра-
сывали уровни, принадлежавшие одному и тому же гейм-дизайнеру. С пер-
вого взгляда на данные казалось, что гейм-дизайнер просто не очень хорошо
справился со своей работой. Но команда знала, что это лучший гейм-дизай-
нер. Его просто очень поздно привлекли к проекту, и ему специально дали
самые «поломанные» и несбалансированные уровни, чтобы он попытался
спасти их за ограниченное время, что оставалось до выхода игры. Опять же,
на этом примере видно, что прежде чем делать какие-то выводы, очень важ-
но не ограничиваться сырыми данными и глубже вникать в смысл цифр.

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

Решение проблем
При создании игр неизбежно возникает множество проблем. Придумать
концепцию и  какие-то начальные идеи бывает легко. Реализовать идеи
при наличии опыта также можно довольно быстро. Но  решение проб-
лем с  идеями и  их реализацией  —  это медленный процесс, и  он будет
360 ГЛАВА 17 ТОНКАЯ НАСТРОЙКА БАЛАНСА, ТЕСТИРОВАНИЕ И РЕШЕНИЕ ПРОБЛЕМ

медленным всегда. На иллюстрации 17.1 показано примерное распределе-


ние времени на создание игры.
Для решения проблем в такой высокотехничной системе, как игра, ис-
пользуются те же шаги, что и при создании игровой системы, только в бо-
лее сжатой структуре.
Решение проблем состоит из ряда шагов. Конкретные действия зависят
от проблемы, но шаги остаются относительно одинаковыми в любом случае.

1. Определить проблему.
2. Исключить переменные.
3. Придумать решения.
4. Пообщаться с командой.
5. Создать прототип и протестировать.
6. Документировать изменения.

Творческая работа
10%

Реализация
20%

Решение проблем
70%

Иллюстрация 17.1. Время, которое гейм-дизайнеры тратят на игру

Определение проблемы
Это первый и, возможно, самый важный шаг в процессе решения пробле-
мы. Однако он не так очевиден, как кажется. На этом этапе велик соблазн
определить симптомы, но определить нужно именно проблему. Например,
первоначальная постановка вопроса может звучать так: «Как нам удержать
игроков после третьего уровня?» В действительности же это не проблема,
а симптом. Никаких параметров или переменных, которые можно было бы
настроить так, чтобы игроки задерживались в игре дольше, не существу-
ет. При определении проблемы важно выявить аспекты, которые можно
РЕШЕНИЕ ПРОБЛЕМ 361

контролировать. Если, например, игроки рано выходят из игры из-за того,


что у них разрядился аккумулятор в телефоне, то такую проблему испра-
вить невозможно. Нужно копнуть глубже, чтобы найти настоящую проб-
лему, вызывающую внешние симптомы. В примере с мобильным телефо-
ном проблемой может быть аппаратное обеспечение, сильно загружающее
телефон и приводящее к быстрой разрядке аккумулятора. Это уже под ва-
шим контролем, и  вопрос можно сформулировать получше. Что касает-
ся упомянутого выше вопроса, то, скорее всего, игроки выходят из игры
на третьем уровне, потому что в нем что-то плохо продумано. Лучше сфор-
мулировать проблему так: «Исследовать уровень 3, чтобы выяснить, поче-
му батареи телефонов игроков постоянно разряжаются на этом уровне».

Исключение переменных
Следующий шаг после определения проблемы — устранение переменных.
Какие переменные могут быть причиной проблемы? Какие из них под ва-
шим контролем? Лучший способ найти проблемную переменную —  изо-
лировать ее и протестировать отдельно.
В примере с игрой на мобильном телефоне нужно посмотреть, какие
процессы выполняются во  время игры, отделить их и  протестировать
по отдельности. Если сделать уровни пустыми, продолжат ли они разря-
жать аккумулятор? Если неигровые персонажи и игровые объекты нахо-
дятся на пустом уровне без геометрии, разряжают ли они аккумулятор?
Если в одном случае это происходит, а в другом нет, значит, вы приблизи-
лись к определению реального источника проблемы. Продолжайте разби-
вать игру на более мелкие части, пока точно не определите проблему.

Поиск решения
Разработка решений очень похожа на поиск новых идей, и при этом можно
пользоваться теми же методами, что описаны в главе 8 «Разработка идей».
Единственное реальное отличие заключается в том, что темой мозгового
штурма будет проблема, а не какая-то концепция.

Коммуникация с командой
На  позднем этапе создания игры важно, чтобы задействованные разра-
ботчики знали о проблеме и понимали, что им, возможно, придется при-
нять участие в  ее устранении. Получить всеобщее одобрение решения
362 ГЛАВА 17 ТОНКАЯ НАСТРОЙКА БАЛАНСА, ТЕСТИРОВАНИЕ И РЕШЕНИЕ ПРОБЛЕМ

получается далеко не всегда, но лучше, чтобы с решением согласились как


можно больше участников. На данном этапе команда должна опираться
на иерархию разработки игры, о которой говорилось в главе 13 «Баланси-
ровка диапазона, опорные точки данных и иерархический дизайн». Если
для решения проблемы можно изменить более одной системы, то лучше
изменить ее как можно ниже по иерархии с учетом дальнейших эффектов.

Создание прототипа и тестирование


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

Документирование изменений
После нахождения подходящего решения не забудьте задокументировать
его. Документация помогает команде понять, какие изменения нужно
было сделать, и она же послужит справочником в будущем, если возник-
нет аналогичная проблема.

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

 Спланируйте и проведите несколько игровых тестов какой-нибудь ва-


шей простой игры или очень простой игры, новой для ваших тести-
ровщиков (например, нарды или шашки). Понаблюдайте за действия-
ми тестировщиков и отметьте, сколько индикаторов, перечисленных
в  разделе «Общий баланс игры», вы заметили. Часто  ли тестировщи-
ки задумываются над выбором? Меняется ли лидирующее положение?
Расходятся ли игроки во мнениях по поводу оптимальной стратегии?
ГЛ А В А 18

СИСТЕМНАЯ
КОММУНИКАЦИЯ
И  ПСИХОЛОГИЯ

В отличие от книг, фильмов, песен, картин


и других форм художественного выражения,
коммуникация в играх идет в нескольких
направлениях. Фильм на экране показывается
всякий раз одинаково, независимо от того,
что думает или делает зритель. Игры
отличаются от других видов искусства в одном
важном аспекте, который всегда следует
иметь в виду. У игрока есть возможность
повлиять на результат игры, а игра влияет
на реакцию игрока; вместе они образуют цикл
коммуникации.
364 ГЛАВА 18 СИСТЕМНАЯ КОММУНИКАЦИЯ И ПСИХОЛОГИЯ

В каком-то смысле игры похожи на человеческое общение (коммуника-


цию). Общение подразумевает взаимодействие между двумя и более ин-
дивидами. Этой теме было посвящено множество исследований, и неко-
торые из  них напрямую применимы к  играм. В  этой главе освещаются
некоторые концепции из области человеческой коммуникации, проще го-
воря применимые к созданию игр и особенно игровых систем.

Игры как коммуникация


Однопользовательскую игру, в которую играет человек с помощью машины,
можно представить как разговор между двумя людьми (диалог). По той же
аналогии многопользовательскую игру можно представить как беседу меж-
ду несколькими людьми. В обеих аналогиях игра —  это язык. В шахматы,
например, могут сыграть между собой два человека, не говорящие на од-
ном языке. Они могут сыграть полную партию, узнать об игровых привыч-
ках друг друга и завершить игру, не зная общего языка, кроме правил игры.
В  однопользовательских играх правила, регулирующие начало игры,
как бы открывают диалог с игроком. Разработчики составляют набор пра-
вил, которые игрок должен понять и использовать для сообщения своих
мыслей игре или другому игроку (иллюстрация 18.1).

Правило

Коммуникация Правило

Иллюстрация 18.1. Игрок, осваивающий правила


ЗНАЧЕНИЯ СЛОВ 365

На иллюстрации 18.2 показан довольно стандартный цикл коммуни-


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

Коммуникация

я
аци
муник
Ком

Иллюстрация 18.2. Пример игрока и цикла игровой коммуникации

Значения слов
Язык по своей природе несовершенен, и это важно учитывать при написа-
нии правил игры. Главная цель языка — передать идею из сознания одного
человека в сознание другого, но язык недостаточно точен, и потому не все-
гда эффективно справляется с этой задачей.
Рассмотрим для примера следующее предложение:

Собака любит есть мясо.

Казалось  бы, простое предложение. Но  как вы представляете у  себя


в  мыслях собаку, которая ест мясо? Похож  ли ваш мысленный образ
на одно из изображений на иллюстрации 18.3?
Все эти изображения подходят под описание, но совершенно не похожи
друг на друга. Какое из них походит больше на то, что хотел сказать автор
предложения? Неизвестно.
366 ГЛАВА 18 СИСТЕМНАЯ КОММУНИКАЦИЯ И ПСИХОЛОГИЯ

Иллюстрация 18.3. Собака любит есть мясо

Проблема неточности языка усугубляется использованием местоиме-


ний, служащих удобным сокращением в повседневной речи, но способных
стать источником недоразумений в письменной речи, особенно при описа-
нии правил. Рассмотрим следующее правило:

Когда игровой персонаж бьет врага Посохом Чистоты, он получает не-


восприимчивость к яду.

Кто становится невосприимчивым к яду: персонаж игрока или враг?


Из-за такой формулировки определить невозможно, и мы не знаем, к кому
относится местоимение «он».
Разбираться в значениях слов —  сложная задача, с которой сталкива-
ются все люди, но  разработчикам игр следует проявлять особое внима-
ние к формулировкам, потому что в игре должны быть четкие правила.
К сожалению, не существует каких-то быстрых и универсальных средств
ЗНАЧЕНИЯ СЛОВ 367

решения этой проблемы. Донести свои идеи до аудитории можно различ-


ными способами, некоторые из которых довольно эффективны. Возможно,
вы слышали высказывание «Показывай, а не рассказывай». Такой такти-
кой можно пользоваться и в играх, но в вашем распоряжении имеется так-
же ряд других инструментов.
Ниже приведены некоторые из  этих инструментов, перечисленные
в порядке от наиболее эффективного к наименее эффективному.

 Взаимодействие. Покажите игроку, что нужно делать. Предложи-


те ему это сделать и поправьте его, если он делает что-то неправиль-
но. Прежде чем он двинется дальше, проверьте, хорошо ли игрок понял,
что можно, а что нельзя. В видеоиграх такая функция часто называется
«привратником» (gatekeeper). Например, если основная механика игры
заключается в том, чтобы стрелять из лука и стрел, то можно показать
игроку запертую дверь, которую он должен открыть, попав стрелой
в легкую цель в ситуации низкого стресса, после чего он сможет дви-
гаться дальше. Усвоив концепцию «привратника», вы начнете узнавать
эту механику в видеоиграх повсюду.
 Демонстрация. Если невозможно объяснить правила в  интерактив-
ном режиме, покажите игроку правила с помощью видео и аудио. На-
пример, можно показать, как полезный NPC (неигровой персонаж) вы-
полняет действие, которое вы ожидаете от игрока, или использовать
кат-сцену, забирающую управление у  игрока и  показывающую, как
персонаж игрока выполняет нужное действие. Либо, как было показа-
но ранее в этой главе на примере любящей мясо собаки, можно пока-
зать простую картинку —  например, карту или диаграмму —  которая
поможет пользователю понять, что ему делать.
 Рассказ. Если использовать видео не  представляется возможным,
то  можно просто дать звуковые инструкции с  хорошей обратной зву-
ковой связью.
 Письменное объяснение. Игроки обычно хуже воспринимают пись-
менные указания, чем указания, представленные вышеупомянутыми
методами, но если нет возможности взаимодействовать с игроком, по-
казать или рассказать ему, как работает то или иное правило, то можно
дать и письменные инструкции. Бывает полезно добавить письменные
инструкции к  описанным выше средствам. Например, пользователь
может захотеть обратиться к письменной информации, чтобы быстро
освежить в памяти правила.
368 ГЛАВА 18 СИСТЕМНАЯ КОММУНИКАЦИЯ И ПСИХОЛОГИЯ

 Подсказки. Если не получается дать пользователю письменные инструк-


ции, можно предоставить подсказки (например, в  виде иконографии)
и тем самым помочь игроку понять, чего от него ожидают. Так, допустим,
трещины в стене указывают на то, что нужно атаковать эту стену и после
ее разрушения найти там скрытую дверь. В некоторых ситуациях можно
использовать более явные подсказки — например, нарисованную на сте-
не стрелку, показывающую игроку, куда нужно повернуть.

примечание
Для многих игровых механик подсказки  —  предпочтительный
метод коммуникации, поскольку удовольствие для игрока отча-
сти заключается в том, чтобы понять, что делать в игре. Разработ-
чики должны как следует продумать все возможные «шпаргалки».
О каких аспектах игры игрок должен догадаться интуитивно и какие
должен понять с помощью подсказок? Старые видеоигры заставляли
игроков разбираться практически во всем самим. Сейчас этот метод
считается примитивным и вызывающим разочарование у современ-
ной аудитории, а гейм-дизайнеры стараются соотносить различные
механики с различными уровнями коммуникации.

 Догадки. Самый разочаровывающий (и наименее предпочтительный)


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

Шум
С точки зрения теории коммуникации, шум —  это не просто фоновые зву-
ки. Шум —  это все, что мешает коммуникации или приводит к недопони-
манию (иллюстрация 18.4). В играх шумом может быть что угодно, в том
числе игровые контроллеры, понимание правил, физические условия игры,
звуковой шум в буквальном смысле слова, визуальный шум на экране ком-
пьютера или все остальное, что может препятствовать коммуникации. Шум
неизбежен в  любой момент коммуникации; гейм-дизайнер должен при-
знать этот факт и по мере возможностей минимизировать влияние шума.
ШУМ 369

ШУМ

М
ШУ

Иллюстрация 18.4. Шум в цикле коммуникации

При составлении или кодировании правил вы представляете себе,


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

 Непонятные правила. Если правила плохо написаны или плохо изло-


жены, это плохие правила, независимо от того, насколько хорошо они
были задуманы. Вам, вероятно, знакомы моменты, когда вы узнавали
о  каком-то ранее неизвестном правиле игры. Осознав это правило, вы,
скорее всего, подумали о том, как оно могло бы кардинально изменить
принимаемые вами до этого решения. Такие недоразумения очень рас-
страивают игроков. Лучший способ выявить непонятные или двусмыс-
ленные правила  —  тестирование. Попросите своих тестировщиков
объяснить правила игры. Предложите им принять решения в двусмыс-
ленных ситуациях и проверьте, знают ли они, как должна проходиться
игра. Спросите, какие обстоятельства в игре могут нарушить правила,
370 ГЛАВА 18 СИСТЕМНАЯ КОММУНИКАЦИЯ И ПСИХОЛОГИЯ

и проверьте, правильны ли их ответы. Команда разработчиков несет


ответственность за то, чтобы создаваемые ими правила были четко до-
несены до пользователей.
 Технические ограничения. С техническими ограничениями сталки-
ваются даже современные мощные компьютеры, которые могут пока-
зать на экране далеко не все. Например, игровая зона может быть слиш-
ком большой для полного ее отображения. Возможно, не все удастся
выполнить с помощью контроллера. Возможно, у вас не получится сде-
лать так, чтобы игра издавала достаточно отчетливые звуки и подавала
тем самым сигналы игрокам. Это еще одна сфера, в которой гейм-ди-
зайнеры должны взять на себя ответственность. Ни одна система нико-
гда не будет идеальной, и задача гейм-дизайнера —  признать ограни-
чения аппаратного обеспечения и построить коммуникацию с игроком
на основе того, что доступно.
 Визуальные ограничения. Даже если экран, на котором демонстри-
руется ваша игра, и способен отобразить все нужные вам аспекты, он
может оказаться не слишком удобным для игроков. Вспомним очень
сложные ММО (массовые онлайн-игры), в которых более 50% экрана
занимают различные элементы пользовательского интерфейса. Для
аудитории, свободно владеющей «языком» MMO, это приемлемо, но для
новых игроков такая картина выглядит как хаос. Решить эту проблему
бывает непросто, и мы поговорим об этом подробнее в следующем раз-
деле «Взаимность».
 Ограничения контроллера. Для межличностного общения у  людей
есть руки, ноги, пальцы, глаза и рот. Мы всю жизнь учились использо-
вать эти инструменты для тонких или явных форм общения. Но у поль-
зователей в видеоигре нет возможностей ими пользоваться. Вместо это-
го они должны пользоваться игровыми контроллерами. Современные
контроллеры имеют множество кнопок и джойстиков с различной сте-
пенью чувствительности к  нажатию и  движению. Контроллер пред-
ставляет собой особую форму коммуникации игрока с компьютером.
Новичкам она может показаться непривычной и даже пугающей, пото-
му что они не тратили всю жизнь на то, чтобы научиться пользовать-
ся контроллером так, как этого хочет разработчик игры. За последние
30 с лишним лет гейм-дизайнеры придумали множество условностей
для контроллеров в играх. В целом это хорошо, потому что условности
помогают уменьшить шум, связанный с  контроллерами. И  это одна
ВЗАИМНОСТЬ 371

из сфер, в которой проявлять креативность не всегда хорошо. Если вы


вдруг обнаружили, что игроки разочаровываются в средствах управле-
ния вашей игрой, следует посмотреть, как обстоит дело с этим в других
играх. Действительно ли для вашей игры необходимо уникальное взаи-
модействие? Может, стоит лучше пойти на условности ради снижения
шума? Если в вашей игре действительно есть некая механика, требую-
щая использовать контроллер каким-то необычным образом, имейте
в виду, что эта новинка неизбежно создаст шум при обучении игроков.
Примите дополнительные меры и проследите за тем, чтобы игроки как
следует освоили управление с помощью контроллеров, проведя тесты
на соответствие ожиданиям целевой аудитории.
Например, если вы создаете шутер от первого лица (FPS) с управлени-
ем клавиатурой и мышью, то можно изучить традиции других шутеров,
в которых управление также осуществляется при помощи клавиатуры
и мыши. Допустим, в вашей игре пока что не используются клавиши
WASD для перемещения игрока, но почему бы ими и не воспользовать-
ся? 17 Предположим, для этого есть некая веская причина, но стоит ли
бороться с ожиданиями и вносить лишний шум?

Это одни из самых распространенных источников шума и недопонима-


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

Взаимность
В  теории коммуникации существует понятие «взаимность», представ-
ляющее собой часть более широкой концепции социального проникнове-
ния. На самом общем уровне теория взаимности излагается так: на пер-
вых порах знакомства люди, как правило, сдержанны в общении и мало
рассказывают о себе. По мере того как они все больше узнают друг дру-
га и начинают доверять друг другу, они рассказывают о себе все больше.
17
Известную нам схему управления WASD популяризировал легендарный кибер-
спортсмен по имени Деннис Фонг. В 1997 году ему удалось выиграть первый на-
циональный турнир по Quake, наградой за победу в котором стал личный Ferrari
328 Джона Кармака. В решающем матче правая рука Фонга находилась на мышке,
а левая — на популярной нынче комбинации клавиш WASD. — Прим. науч. ред.
372 ГЛАВА 18 СИСТЕМНАЯ КОММУНИКАЦИЯ И ПСИХОЛОГИЯ

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

Переход границ
Игрок, который только начинает узнавать игру, как правило, сдержан
в  своем желании посвятить этому всего себя. Прежде чем уделять игре
(то есть отношениям с игрой) больше времени и усилий, он хочет полу-
чить положительную обратную связь. Если игра требует слишком многого
слишком рано, игрок, скорее всего, сочтет, что это нарушение границ; это
форма грубости по отношению к игроку, которая отталкивает его.
Представим, что два человека встречаются впервые. Первый говорит:
«Хорошая погода». Второй говорит: «В детстве я пережил пожар. Он мне
до сих пор снится в кошмарах». Довольно неожиданно, не правда ли? На-
верное, у всех в жизни бывали похожие случаи, так что вы представляете,
насколько это неловко. Это не значит, что чувства и переживания второго
человека не важны, но он перешел границы общественной нормы, поведав
о своих глубоких переживаниях во время первой же встречи, и тем самым
слишком многого потребовал от первого человека.
Предположим теперь, что игрок впервые запускает на своем компьюте-
ре новую игру. Перед началом игры на экране крупным текстом всплывает
сообщение: «Прежде чем играть, внимательно прочтите руководство поль-
зователя на 63 страницы». И снова неловкая ситуация! Игрок еще не знает,
понравится ли ему эта игра и готов ли он потратить время на заучивание
63 страниц руководства пользователя. Игра перешла границы того, что
можно требовать от игрока при первой встрече. При этом вполне возмож-
но, что за все время игры игрок действительно с удовольствием прочита-
ет 63 или даже больше страниц инструкций — но только если будет знать,
что его затраты времени стоят того и что игра готова ответить на его уси-
лия вознаграждением в виде развлечения.
ВЗАИМНОСТЬ 373

Поверхностные отношения
Если игра так и не начинает требовать большего с тем, чтобы дать игроку
больше взамен, у игрока может возникнуть ощущение, что его отношения
с игрой носят поверхностный характер.
Представим двух знакомых пожилых мужчин, знающих друг друга бо-
лее пятидесяти лет. Жена первого спрашивает у него, какое любимое блю-
до его друга. Первый отвечает: «Не знаю, мы никогда ни о чем не разго-
вариваем, кроме погоды». Казалось бы, люди, знакомые на протяжении
такого длительного времени, должны были узнать какие-то сведения друг
о друге. Предполагается, что за долгий срок отношения должны хотя бы
немного продвинуться. Если же этого не происходит, отношения считают-
ся очень поверхностными и не приносящими особого удовольствия.
Допустим, некий игрок уже много лет играет в некую многопользова-
тельскую онлайн-игру и потратил много часов, изучая принципы работы
игры. Он запускает игру, чтобы проверить недавно вышедшее обновление
и подходит к неигровому персонажу, с которого начинается новая цепоч-
ка квестов. Персонаж говорит ему: «Приветствую тебя, искатель приклю-
чений! На нас напали гоблины 1 уровня. Прошу тебя, убей двух гоблинов
первого уровня, чтобы завершить квест». Какое разочарование! Столько
времени и усилий вложено в игру, такая шумиха с обновлением… а в ре-
зультате игра просит сделать игрока нечто до ужаса банальное. Игрок вы-
полнил свою часть сделки, но игра показала себя поверхностной в отно-
шениях.

Верный баланс
Рассмотрим теперь пару примеров, в  которых соблюден баланс с  точки
зрения взаимности. Предположим, что два незнакомых человека встреча-
ются на вечеринке и проводят вечер, болтая о кино. Выясняется, что им
нравится много одинаковых фильмов, и поэтому они договариваются по-
смотреть новые фильмы вместе. Со временем они в своих беседах начи-
нают затрагивать и  другие темы, говорят об  отношениях, о  семье, о  со-
циальной жизни. Постепенно они все больше доверяют друг другу вплоть
до того, что решаются рассказать про свои тайны, желания и страхи, о ко-
торых раньше не рассказывали никому.
Теперь предположим, что игрок включает игру, и игра сразу же привет-
ствует его. Затем игра предлагает ему очень простое задание, например:
374 ГЛАВА 18 СИСТЕМНАЯ КОММУНИКАЦИЯ И ПСИХОЛОГИЯ

«Нажмите клавишу А, чтобы поднять лежащий на земле меч». Выполнив


задание, игрок получит награду в виде приятного звука и сообщения: «Те-
перь у вас есть меч!» По мере прогресса игра продолжит ставить перед иг-
роком все более сложные задачи. Поскольку первое вознаграждение было
приятным, игрок готов потратить еще немного времени и усилий на вы-
полнение более сложных заданий, веря, что игра справедливо вознагра-
дит его за эти усилия. После многих часов игры с постоянно возрастающей
сложностью игрок сталкивается с «боссом уровня», сражаться против ко-
торого очень трудно. Он будет часто проигрывать, и, возможно, ему при-
дется на время отступить, чтобы улучшить экипировку, но он обязатель-
но вернется. Игрок уже готов к такому вызову и хочет принять его, потому
что игра установила с ним глубокий уровень доверия, и он знает, что на-
града за прохождение испытания будет достойной.
Глядя на  эти примеры, зная о  взаимности и  планируя ее в  игровых
системах при разработке, вы можете лучше развивать такие отношения,
какие вы хотите заложить между вашей игрой и игроком. Благодаря наме-
ренно установленным доверительным отношениям в начале и системати-
чески выдаваемым наградам у игроков возникнет больше желания погру-
зиться в вашу игру, независимо от того, насколько глубокой или сложной
вы ее сделали.

Вознаграждение ожиданий
Реакция игроков на вознаграждение может резко отличаться в зависи-
мости от того, какие у них ожидания. Как уже говорилось в предыдущем
разделе, если игроки продолжают прилагать все больше усилий, а игра
не  реагирует, они могут расстроиться. Существуют и  другие способы
разочаровать игроков. Один из них —  задать ложные ожидания относи-
тельно вознаграждения. Согласно распространенному правилу следует
занижать их, то есть давать в награду больше, чем было обещано. Рас-
смотрим пример.
Допустим, игра сообщает игроку, что если он выполнит следующее
задание, то  получит специальный приз стоимостью до  100 золотых. Иг-
рок выполняет задание и получает приз, оцениваемый в 50 золотых. Иг-
рок разочарован, потому что, услышав или прочитав описание задания
(«То  да  се… 100 золотых»), он отбросил все, кроме «100 золотых», и  сра-
зу  же настроился на  эту сумму. Все, что меньше, для него будет разоча-
рованием, поэтому, несмотря на то что игрок все же получил награду, он
ДАЛЬНЕЙШИЕ ШАГИ 375

недоволен результатом и,  возможно, недоволен также тем, что ему при-
шлось напрячься для получения награды.
Теперь рассмотрим тот же пример, но немного перефразируем описа-
ние задания, что приведет к совершенно иному эффекту. В этом варианте
игра сообщает пользователю, что за выполнение задания он получит приз
стоимостью по меньшей мере в 40 золотых. Он выполняет задание и полу-
чает приз стоимостью в 50 золотых. Несмотря на то что это точно такая же
награда, как и в первом примере, игрок в данном случае не разочарован,
а очень рад. Он уже был рад, что ему пообещали награду, и его бы устро-
ил приз стоимостью и в 40 золотых. Когда игрокам дают свыше их ожида-
ний, они счастливы, поскольку были согласны и на изначальные условия
сделки. Они охотнее возьмутся выполнять другие задания в игре, надеясь
на то, что им дадут еще больше скрытых наград.
Если вы вспомните свой собственный игровой опыт, то наверняка у вас
был не один случай, когда игра слишком много обещала и слишком мало
давала. Какой-нибудь знаменитый меч с громким названием «Великолеп-
ный меч пламени Древних богов» оказывался похожим на все остальные
мечи, только оранжевого цвета.
Чтобы игроки не разочаровались в вашей игре, планируйте занижать
обещания и по мере возможностей повышать награду. Внимательно сле-
дите за этим на этапе тестирования. Многое может поведать выражение
лица тестировщика, только что получившего награду. Игроки часто силь-
нее демонстрируют свои эмоции, будучи разочарованными.

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

 Проанализируйте игру, над которой работаете, и составьте список всех


возможных шумовых барьеров, с которыми может столкнуться игрок.
Затем запишите шаги, которые можно предпринять, чтобы снизить
шум и не портить впечатление игрока.
 Составьте план использования концепции взаимности в игре. Опреде-
лите степень взаимодействия с каждой механикой и напишите, что вы
ожидаете от игрока, прежде чем открыть ему эту механику.
376 ГЛАВА 18 СИСТЕМНАЯ КОММУНИКАЦИЯ И ПСИХОЛОГИЯ

 Найдите пример игры, которая, по вашему мнению, переходит грани-


цы, и пример игры, которая поддерживает лишь поверхностные отно-
шения. Как бы вы улучшили каждую из них, чтобы создать сбаланси-
рованные отношения с игроком?
ГЛ А В А 19

ВЕРОЯТНОСТЬ

Как в реальном мире, так и в играх далеко


не все предсказуемо. Но непредсказуемость
поддается осмыслению. Изучив основы теории
вероятности, вы узнаете, как с помощью
случайности можно манипулировать
игроками. Более того, вы освоите методы,
которые позволят вам, как гейм-дизайнеру,
внедрять в игру случайные и непредсказуемые
события с сохранением контроля над ходом
игры. Но что такое случайность?
378 ГЛАВА 19 ВЕРОЯТНОСТЬ

Дать точное определение случайности не  так уж  просто, как кажет-
ся. Существуют целые области исследований, посвященные случайности
и вероятности. В этой книге излагаются некоторые из самых основных по-
нятий теории вероятности, но она не предлагает полного объяснения слу-
чайности; дополнительные сведения можно почерпнуть из других книг
и ресурсов по теме.
Для целей этой главы я предлагаю следующее определение случайно-
го события:

Событие, для которого игрок не может предсказать точный исход при


имеющейся у него на данный момент информации.

Случайность  —  не  бинарное (двоичное) понятие. События необяза-


тельно должны быть либо случайными, либо неслучайными. Возьмем
для примера гольф. Когда игрок собирается отослать мяч на «грин» (ров-
ную зеленую лужайку), заранее сказать, на какой именно точке поверхно-
сти окажется мяч, нельзя. Однако событие от этого не становится совер-
шенно случайным. Можно определить примерное место, где, скорее всего,
приземлится мяч. Относительно точный прогноз можно сделать, исхо-
дя из того, что известно об игроке, ударе и условиях окружающей среды;
но точный результат предсказать невозможно.

Основы теории вероятности


В этом разделе рассматриваются самые базовые основы теории вероятно-
сти, включая запись и расчет вероятности.

Запись (нотация) вероятности


Выражать вероятность в письменном виде довольно легко, и вы, скорее
всего, уже знакомы с такой записью, даже если и не осознаете этого. В за-
писи вероятности используются всего лишь две переменные: общее коли-
чество исходов и количество тех исходов, которые считаются успешными.
Для самого простого примера рассмотрим бросок монеты. У монеты две
стороны: орел и решка. Иными словами, из двух сторон только одна явля-
ется «орлом». Это значит, что шанс, или вероятность, выпадения орла рав-
на одному исходу из двух, или ½. Исходя из того, что вероятность события
ОСНОВЫ ТЕОРИИ ВЕРОЯТНОСТИ 379

равна количеству успешных вариантов из общего числа вариантов, соста-


вим следующую формулу:

Вероятность = Успешные варианты / Общее количество вариантов


В = У/О

В случае броска монеты вероятность выпадения орла можно записать


следующим образом:

1 шанс выпадения из 2 возможных исходов


½ = вероятность выпадения орла

В этой главе мы будем пользоваться именно такой записью для даль-


нейшего объяснения концепции вероятности.
Для определения исходов в  играх часто используют реальные и  вир-
туальные игральные кости. Для бросков игральных костей используются
специальные обозначения вида XDN, где X  —  количество бросаемых ко-
стей, а N —  число граней на каждой из этих костей. Например, бросок од-
ной шестигранной кости (кубика) обозначается как 1D6. Бросок двух ше-
стигранных костей (очки которых складываются) обозначается как 2D6.
Бросок четырех двугранных костей обозначается как 4D2. Такой  же за-
писью можно пользоваться и  для обозначения бросков монет, которые,
по сути, представляют собой двугранные кости.

Вычисление вероятности одномерного равномерного


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

примечание
Я настоятельно рекомендую вам при чтении этой главы повторять
все показанные примеры самостоятельно в электронной таблице.
380 ГЛАВА 19 ВЕРОЯТНОСТЬ

Для начала введем некоторые данные. Известен тип кости  —  1D2,


то есть у нее есть две грани — орел и решка. На иллюстрации 19.1 показа-
но, как это можно записать в электронной таблице.

Иллюстрация 19.1. Вероятность 1D2

В этом примере мы видим ярлык (заголовок) 1D2, столбец «Событие»


для обозначения исходов, вероятность которых нужно рассчитать, и стол-
бец «Количество», в котором перечислено количество возможных успеш-
ных исходов. Поскольку мы собираемся рассчитать вероятность каждого
события при броске монеты (1 орел и 1 решка), то нужно добавить допол-
нительную информацию. Во-первых, это общее количество исходов.
Затем нужно разделить количество раз каждого конкретного исхода
на это общее количество. В итоге таблица примет вид, показанный на ил-
люстрации 19.2.

Иллюстрация 19.2. Таблица вероятности с ярлыками

На иллюстрации 19.3 показана та же самая таблица со всеми формула-


ми и функциями для нужных расчетов.
В электронной таблице, показанной на иллюстрации 19.3, следует от-
метить несколько моментов. Во-первых, обратите внимание на  то, что
некоторые ссылки абсолютные, а  другие относительные. Для автоза-
полнения и  корректной работы формулы нужны как абсолютные, так
ОСНОВЫ ТЕОРИИ ВЕРОЯТНОСТИ 381

и  относительные ссылки. Относительные ссылки указывают на  коли-


чество вариантов исхода, а абсолютная —  на общее количество исходов,
поэтому при сдвигании вниз формула обновляется правильно для всех
ячеек. Во-вторых, обратите внимание, что в ячейке D4 суммируются ве-
роятность всех событий, и в итоге получается 100%. Данное вычисление
кажется лишним, но суммировать проценты при сложных вычислениях — 
хорошая практика, чтобы убедиться в том, что они действительно скла-
дываются в 100%. Интуитивно понятно, что все процентные доли в сум-
ме должны составлять 100%. И когда электронная таблица действительно
подтверждает это, то  можно с  определенной уверенностью утверждать,
что и  другие связанные с  этой суммой расчеты во  всех других ячейках
выполнены верно. Это пример так называемой канарейки, помогающей
определить проблему с данными (см. главу 15 «Анализ игровых данных»).

Иллюстрация 19.3. Формулы расчета вероятности

Иллюстрация 19.4. Таблица 1D6

Теперь, когда самая простая таблица вероятностей готова, пришло вре-


мя усложнить ее. Перейдем теперь к стандартному шестигранному кубику,
382 ГЛАВА 19 ВЕРОЯТНОСТЬ

или 1D6. Таблица для него будет похожа для монеты 1D2, только чуть боль-
ше и с другими шансами. Для начала нужно настроить формулы так, что-
бы они вели себя практически так же, как и формулы для 1D2, но с более
длинным списком событий. В режиме просмотра формул электронная таб-
лица должна выглядеть так, как показано на иллюстрации 19.4.
На иллюстрации 19.4 ячейки с D3 по D7 не заполнены, но в ячейке D2
записана такая формула, которую можно «протянуть вниз», то есть запол-
нить все остальные ячейки с помощью автозаполнения без написания но-
вой формулы. После этого должна получиться электронная таблица, кото-
рая выглядит так, как показано на иллюстрации 19.5.

Иллюстрация 19.5. Заполненная таблица 1D6

Иллюстрация 19.6. Диаграмма 1D6


ОСНОВЫ ТЕОРИИ ВЕРОЯТНОСТИ 383

Теперь электронная таблица показывает базовые вероятности событий


для одного шестигранного кубика. Эта информация будет полезна при созда-
нии классической настольной игры, события в которой определяются с помо-
щью броска шестигранной кости. Если построить диаграмму распределения
вероятностей, то она будет выглядеть так, как показано на иллюстрации 19.6.
Диаграмма не  особенно интересна, но  запомните ее для сравнения
с другими диаграммами, которые вы сделаете позже. В частности, обра-
тите внимание на то, что высота всех столбцов одинакова, и все они вы-
строены вдоль ровной линии. Такова форма равномерного распределения.
Во многих играх для успешного прохождения не всегда требуются кон-
кретные результаты бросков. Как в аналоговых, так и в видеоиграх успехом
считается попадание в некоторый диапазон результатов. Например, чтобы
получить очко, игрок должен выбросить число 3 или более. Для вычисления
вероятности такого исхода нужно добавить еще один расчет суммарной веро-
ятности, которую также называют нарастающим итогом. Для этого подума-
ем, что именно происходит с вероятностью в таких случаях. Какова, напри-
мер, вероятность выпадения 6 и больше на шестигранном кубике? Понятно,
что это вопрос с подвохом, потому что в кубике всего шесть граней, и числа
выше шестерки на нем нет. При вычислении суммарной вероятности значе-
ние для наибольшего числа в списке можно указать сразу же: это та же веро-
ятность, что и вероятность отдельного выпадения этого числа. Иными слова-
ми, вероятность того, что при броске кубика выпадет число 6 или выше, равна
простой вероятности выпадения числа 6. Для отображения этой информации
добавим новый столбец, как показано на иллюстрации 19.7.

Иллюстрация 19.7. Формулы для расчета вероятности каждого события


в таблице для 1D6
384 ГЛАВА 19 ВЕРОЯТНОСТЬ

Определить эту первую суммарную вероятность легко, причем незави-


симо от количества событий. Далее приступим к собственно расчету сум-
марной вероятности. К счастью, это не так трудно, как кажется на первый
взгляд, и для этого нужна только одна формула. Но перед этим немного
отойдем в сторону и рассмотрим суммарные списки, также называющие-
ся нарастающими итогами. Изучите таблицу 19.1, на которой показаны
номера недель и платежи за каждую неделю.

Таблица 19.1. График оплаты

Неделя Выплата
1 $10
2 $10
3 $10
4 $10

Иллюстрация 19.8. Начало вычисления суммарной вероятности для 1D6

И без калькулятора легко сказать, что всего к концу третьей недели бу-
дет выплачено 30 долларов. А к концу четвертой недели —  40 долларов.
По какой же формуле это было вычислено? Вы смотрите на первую сумму
за первую неделю —  к концу первой недели это и есть суммарная выпла-
та. К концу второй недели имеем уже как первую, так и вторую сумму, так
что складываем их и получаем 20 долларов. К концу третьей недели к об-
щей сумме добавляем еще 10 долларов и всего получаем 30. Таким образом
вычисляют нарастающий итог — и эта же формула применима к расчетам
ОСНОВЫ ТЕОРИИ ВЕРОЯТНОСТИ 385

вероятности. Единственная разница в нашем примере состоит в том, что


нужно складывать не доллары, а вероятности, выраженные в процентах,
и не сверху вниз, а снизу вверх. Теперь, когда вы это узнали, пора записать
формулу для расчета всех суммарных вероятностей.
В ячейке E6 нужно к нарастающему итогу, указанному в E7, добавить
новое значение —  в данном случае вероятность, рассчитанную в D6. Фор-
мула и таблица должны выглядеть как на иллюстрации 19.8.
Добавляя вероятность из ячейки ниже к вероятности текущего собы-
тия, получаем нарастающий итог вероятности. После записи формулы,
как показано на иллюстрации 19.8, применяем автозаполнение, протаски-
вая содержимое ячейки E6 по всему диапазону событий и заполняя все
ячейки для расчета нарастающего итога. Теперь таблица должна выгля-
деть так, как показано на иллюстрации 19.9.

Иллюстрация 19.9. Законченная таблица с расчетом вероятности для


условия «Или выше»

Теперь при взгляде на столбец суммарной вероятности (столбец E) мож-


но получить более точное представление о том, как будет работать игра.
Мы начали этот пример с того, что задались вопросом о том, какова веро-
ятность выпадения числа 3 или больше. Взглянув на таблицу, видим ответ
66,7% (технически это 66,6666%, или 66,6 в периоде, то есть с бесконеч-
но повторяющейся шестеркой после запятой). Это значение имеет смысл,
если взглянуть на него под несколько иным углом: вычисляя вероятность,
мы вычисляем количество успешных исходов по сравнению с общим коли-
чеством исходов. В данном случае успешный исход —  это выпадение 3, 4,
5 или 6, то есть всего 4 варианта из 6. Это значит, что вероятность такого
386 ГЛАВА 19 ВЕРОЯТНОСТЬ

исхода равна 4/6. Сокращаем дробь и получаем 2/3, что равно примерно
тем же 66,7%, так что все числа сходятся.

примечание
Для шестигранной кости выпадение какого-то отдельного числа — 
не такое уж редкое событие. Вероятность его выпадения равна 16,7%,
а вероятность того, что оно не выпадет, равна 82,3%, и это далеко
не редкость. Иногда игроки, у которых часто выпадает единица (при
условии, что это «плохой» результат), попадают в психологическую
ловушку и приходят к мысли, что им как-то по-особому не везет. Они
обращают повышенное внимание на выпадение числа 1, тогда как
в действительности шанс выпадения этого числа не так уж мал.

Вычисление вероятности одномерного


неравномерного распределения
В  этом разделе рассматривается вычисление вероятности при неравно-
мерном распределении, основанном на  рассмотренных выше принци-
пах. Взгляните на волчок (рулетку), изображенный на иллюстрации 19.10.
Круг поделен на восемь частей (секторов), обозначенных семью различ-
ными цветами. Предполагается, что шансы того, что стрелка остановится
на каком-то конкретном секторе, равны.

Красный

Желтый Желтый

Коричневый Зеленый

Фиолетовый Синий

Оранжевый

Иллюстрация 19.10. Волчок
ОСНОВЫ ТЕОРИИ ВЕРОЯТНОСТИ 387

Может показаться, что вычисления в  этом случае будут сложными,


но они точно такие же, как и в примере с 1D6. Единственное отличие при-
мера с волчком от примера с шестигранным кубиком заключается в том,
что в  случае с  волчком существует больше возможных исходов, вероят-
ность одного события выше, чем вероятность других, и нет возможности
проводить суммарные расчеты. Самый быстрый способ составить элек-
тронную таблицу для этого примера — продублировать лист 1D6 и внести
необходимые незначительные изменения. Электронная таблица должна
выглядеть так, как показано на иллюстрации 19.11.

Иллюстрация 19.11. Электронная таблица для неравномерного


распределения

С помощью этого метода можно создать электронную таблицу для лю-


бого списка, независимо от его длины.
Данные с  иллюстрации 19.11 можно использовать для создания диа-
граммы, служащей визуализацией распределения, как показано на иллю-
страции 19.12. Как видно, в основном вероятности распределены равно-
мерно, но вероятность выпадения желтого цвета вдвое выше. Поэтому все
столбцы на диаграмме одной высоты, за исключением столбца для желто-
го цвета.
388 ГЛАВА 19 ВЕРОЯТНОСТЬ

Иллюстрация 19.12. Диаграмма неравномерного распределения

Вычисление сложной вероятности

Иллюстрация 19.13. Линейные события

Одномерные таблицы вероятностей позволяют вычислять большое ко-


личество вероятностей, но они ограничены одним измерением и одним
событием. Другими словами, в  них отсутствуют некоторые ключевые
модификаторы вероятности, такие как «и» и  «или». Один из  самых рас-
пространенных случаев «сложной вероятности»  —  броски двух костей.
При броске двух шестигранных костей 2D6 исход определяет уже не одно
ОСНОВЫ ТЕОРИИ ВЕРОЯТНОСТИ 389

событие, а два, каждое из которых имеет свою независимую вероятность.


Для учета многочисленных событий нужен более сложный метод опреде-
ления вероятности. При вычислении одномерной вероятности события
как бы выстраиваются в одну линию, имеющую только одно измерение.
Схематически это можно показать с помощью линии, вроде той, что про-
ведена на иллюстрации 19.13.
При сложной вероятности добавляются дополнительные измерения.
Так, для исходов двух событий нужно изобразить две линии, идущие пер-
пендикулярно друг другу и охватывающие все возможные варианты ис-
ходов.

примечание
В  чем-то это похоже на разницу между линейными и квадратными
метрами. При измерении длины прямой линии, например натяну-
той веревки, длину выражают в линейных метрах. При измерении
площади, например поля или пола комнаты, используются квадрат-
ные метры.

Дополнительная линия для нового измерения данных идет строго пер-


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

Иллюстрация 19.14. Двумерные события

В качестве реального примера начнем с добавления в таблицу данных


для двух двухгранных костей, то есть, по сути, для двух монет с двумя сто-
ронами (1 и 2). Для начала укажем все события для одной монеты в одном
столбце, как показано на иллюстрации 19.15.
390 ГЛАВА 19 ВЕРОЯТНОСТЬ

Чтобы добавить второе измерение, нужно вве-


сти те же числа, что и в столбце А, но в ряд 1 (иллю-
страция 19.16). Так мы получаем двумерную таб-
лицу.
Следующим шагом заполним сетку таблицы.
Сделаем сначала это вручную, просчитав все вари-
анты в уме — это очень маленькая таблица, так что
будет просто. В ячейке B2 складываем значение 1
из ячейки A2 и значение 1 из ячейки B2, получая Иллюстрация 19.15.
значение 2. Проделаем аналогичную процедуру Таблица возмож-
для остальных ячеек сетки. В результате получим ных событий 2D2
таблицу, изображенную на иллюстрации 19.17.

В  этом простом примере легко раз-


глядеть, что среди результатов —  одно
число 2, одно 4 и  два числа 3. Следую-
щим шагом составим масштабируемую
формулу, подсчитывающую количество
всех ячеек в сетке независимо от ее раз-
мера. Для этого нужно вспомнить, как
Иллюстрация 19.16. Двумерная
записываются в  формулах смешанные
таблица 2D2
ссылки. В каждой двумерной сетке есть
строка заголовков и столбец заголовков.
В данном случае строка заголовков —  это вся строка 1, а столбец заголов-
ков — это весь столбец A. Независимо от того, в какую ячейку будет встав-
лена формула, она должна всегда ссылаться на строку заголовков и столбец
заголовков. Чтобы ссылка была абсолютной, нужно перед соответствую-
щей частью ссылки поставить знак $. В данном случае мы знаем, что аб-
солютной должна быть ссылка на строку 1,
поэтому ставим перед числом  1 знак  $.
То  же относится и  к  столбцу  A. С  другой
стороны, нужно, чтобы ссылка переме-
щалась вверх и вниз по строке 1 и из сто-
роны в сторону по столбцу A, отображая
изменения в  данных по  соответствую-
Иллюстрация 19.17. Двумерная щим осям. Поэтому другие части ссылки
таблица 2D2 с вероятностями, должны быть относительными, без зна-
рассчитанными вручную ка $ перед ними. Применив эти правила,
ОСНОВЫ ТЕОРИИ ВЕРОЯТНОСТИ 391

получаем главную формулу, которая будет заполнять всю сетку и выгля-


дит так, как показано на иллюстрации 19.18.

Иллюстрация 19.18. Двумерная формула

Теперь можно воспользоваться автоза-


полнением для всей сетки. Далее можно
использовать ее для заполнения любой
двумерной таблицы вероятностей лю-
бого размера. В результате мы получим
те  же числа, которые ранее рассчитыва-
ли в уме (иллюстрация 19.19, которая вы-
глядит так же, как и иллюстрация 19.17). Иллюстрация 19.19.
Заполнив сетку, получаем список всех Таблица 2D2, заполненная
возможных вариантов, которые могут с помощью автозаполнения
произойти при данном событии, после
чего можно переходить к расчету вероятности. Для этого воспользуемся
тем же методом, которым ранее пользовались для линейных вычислений
вероятности. В  результате получаем таблицу, показанную на  иллюстра-
ции 19.20.

Иллюстрация 19.20. Таблица для 2D2


392 ГЛАВА 19 ВЕРОЯТНОСТЬ

Обратите внимание, что это первая таблица в этой главе, где данные
начинаются не с A1. Помните, что нужно держать под рукой сетку для
событий 2D2, чтобы на нее можно было ссылаться в этих новых вычисле-
ниях. Также обратите внимание на то, что в столбце событий не указан
вариант 1, потому что такой результат невозможно получить при броске
двух монет. («Событие» в данном случае —  это исход сразу двух бросков
монет.)
После оформления электронной таблицы нужно заполнить столбец
«Количество». Чтобы рассчитать его значения вручную, посмотрим на сет-
ку 2D2 и посчитаем, сколько раз тот или иной вариант появляется в ней.
В данном случае пример очень простой, но с увеличением количества ва-
риантов расчеты быстро усложняются, поэтому лучше настроить элек-
тронную таблицу для автоматических расчетов. Узнав, как это сделать для
простого случая, мы легко сможем воспользоваться этим методом для бо-
лее сложных вычислений.
Подумайте, какую формулу или функцию из  описанных в  главе 6
«Функции электронных таблиц» можно использовать для этого примера.
Один из лучших способов подобрать нужную функцию —  это подумать
о том, как получить ответ вручную. В данном случае мы смотрим на сетку
в ячейках B2:C3, и всякий раз, когда видим значение 2, прибавляем к ре-
зультату единицу; в итоге получается 1. Затем ищем значение 3, склады-
ваем количество таких исходов и получаем в итоге 2. Наконец, для 4 по-
лучаем результат 1. Итак, вам нужна функция, которая будет вести поиск
указанного значения в определенной группе ячеек и добавлять к резуль-
тату единицу всякий раз, как находит нужное значение. Эта функция — 
COUNTIF (СЧЁТЕСЛИ). Чтобы настроить ее, начните с  ввода функции
в ячейку G2, создайте ссылку на сетку 2D2 и попросите функцию искать
событие, указанное в F2. В итоге функция должна выглядеть так, как по-
казано на иллюстрации 19.21.

Иллюстрация 19.21. Формула COUNTIF для расчета вероятности в таблице


ОСНОВЫ ТЕОРИИ ВЕРОЯТНОСТИ 393

После автозаполнения получаем точные значения количества событий,


как показано на иллюстрации 19.22.

Иллюстрация 19.22. Завершенный подсчет количества событий для 2D2

Чтобы заполнить остальные ячейки и  получить общее количество


и  шансы для каждого события, воспользуемся теми  же методами, что
и для расчета 1D2. После этого лист должен выглядеть так, как показано
на иллюстрации 19.23.

Иллюстрация 19.23. Расчеты для 2D2 завершены

Самое большое отличие между вероятностью 2D2 и 1D2 заключается


в том, что не все события имеют одинаковые шансы. Даже если обе играль-
ные кости (монеты) имеют одинаковое количество сторон и одинаковые
значения на каждой из них, число 3 выпадает чаще, чем число 2 или 4. Это
естественный эффект сложения отдельных случайных чисел. Распределе-
ние неравномерно. Для дальнейшего изучения этой концепции перейдем
к шестигранным костям.
Для расчетов вероятности 2D6 воспользуемся тем  же методом, что
и для 2D2. Опять же, создадим копию листа 2D2 и расширим его так, чтобы
он отображал сетку 2D6. Так как все формулы и функции уже настроены
394 ГЛАВА 19 ВЕРОЯТНОСТЬ

на автоматический режим, автозаполнение позволяет быстро рассчитать


все возможные комбинации не только для сетки 2D6, но и для любой дру-
гой. На иллюстрации 19.24 показана заполненная сетка для событий 2D6.

Иллюстрация 19.24. Сетка событий 2D6

Сначала может показаться, что это просто большой массив произволь-


ных чисел, но уделите несколько минут поиску закономерностей. В ле-
вом верхнем углу видим одно число 2, затем по диагонали идут два чис-
ла 3, после них три числа 4, четыре числа 5, пять чисел 6 и шесть чисел 7.
Потом по мере увеличения чисел шаблон снова сужается и заканчивает-
ся единственным числом 12. В целях наглядности в электронной таблице
на иллюстрации 19.25 показаны те же числа, но с условным форматиро-
ванием, выделяющим самые большие и самые маленькие более темным
цветом.

Иллюстрация 19.25. Сетка событий 2D6 с условным форматированием

Условное форматирование графически высвечивает закономерно-


сти в сетке. Чтобы перейти от красивой визуализации к математической
ОСНОВЫ ТЕОРИИ ВЕРОЯТНОСТИ 395

ясности, воспользуемся тем же методом, что и для 2D2 (и это тот же самый
метод, которым мы пользовались для расчета вероятностей 1D6). Укажи-
те количество различных событий с помощью функции COUNTIF (находя-
щей точное число в сетке), и сошлитесь на эти значения для расчета веро-
ятности каждого исхода. В итоге электронная таблица должна выглядеть
так, как показано на иллюстрации 19.26.

Иллюстрация 19.26. Расчет вероятности 2D6

На иллюстрации 19.27 показана электронная таблица с отображаемы-


ми в ячейках функциями и формулами.

Иллюстрация 19.27. Отображаемые формулы для 2D6


396 ГЛАВА 19 ВЕРОЯТНОСТЬ

примечание
В главе 10 «Организация данных в электронных таблицах» я реко-
мендовал не использовать пустые столбцы или строки для разделения
данных в таблице. Может показаться, что на рисунке 19.27 я нарушил
это правило, поскольку столбец H пустой. Однако здесь есть важное
отличие. На  этом листе представлены две разные таблицы: сетка
результатов слева и  анализ этих результатов справа. Поэтому стол-
бец H находится между таблицами, а не внутри. Для максимальной
ясности в идеале следовало бы вынести эти две таблицы на два отдель-
ных листа. Но здесь я показал их на одном, чтобы нагляднее предста-
вить всю информацию. Бывают случаи, когда несколько небольших
таблиц полезнее размещать на одном листе. Впрочем, в случае сомне-
ний разделяйте данные по отдельным листам.

Конечно, недостаточно просто создать большую сетку чисел  —  нуж-


но еще оценить результаты и  сделать наблюдения, имеющие практиче-
ское значение для игр. Если посмотреть на вероятность каждого события
в сетке 2D6, то можно увидеть те же закономерности, что и в сетке 2D2,
и в условно отформатированной сетке событий 2D6. Числа, расположен-
ные в центре списка, встречаются с большей вероятностью, чем располо-
женные по краям. Для большей наглядности на основе полученных дан-
ных можно построить диаграмму (иллюстрация 19.28).

Иллюстрация 19.28. Диаграмма распределения 2D6


ОСНОВЫ ТЕОРИИ ВЕРОЯТНОСТИ 397

Расположение столбцов на этом графике сильно отличается от их рас-


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

 Максимально высокое и максимально низкое значения выпадают до-


вольно редко. В нашем примере 2D6 вероятность выпадения значений
2 или 13 меньше 3%.
 Центральное значение имеет относительно высокую вероятность.
В случае с 2D6 эта вероятность равна 16,67%. Таким образом, вероят-
ность выпадения числа 7 в пять раз выше, чем вероятность выпадения 2
или 12. Это верно для любого распределения колоколообразной кривой.
Например, для двух бросков восьмигранных костей (2D8) вероятность
выпадения 9 была бы такой же, как и вероятность выпадения любого
числа для одного броска восьмигранной кости (1D8).
 Центральное значение на единицу больше количества вариантов для
броска одной кости. Для 2D6 центральное значение равно 6 + 1, или 7.
Центральное, или самое частое значение для 2D13 равно 14, для 2D14 —
15 и так далее.
 Разница между любыми двумя соседними значениями вероятности
(называемая шагом) равна вероятности выпадения числа на  одном
из концов кривой. Например, вероятность выпадения числа 2 для 2D6
составляет 2,78%. Вероятность выпадения 7  также на  2,78% больше,
чем вероятность выпадения 6. Такое наблюдение верно для любого дру-
гого распределения колоколообразной кривой.

Расчет суммарной вероятности «Или выше» для 2D6


Как только распределение 2D6 будет занесено в электронную таблицу, для
нахождения распределения выпадения любого данного или большего чис-
ла можно воспользоваться точно таким же методом, как и в случае 1D6.
Опять же, начнем с наибольшего числа и запишем одну формулу для сло-
жения вероятностей и получения нарастающего итога. Электронная таб-
лица должна выглядеть так, как показано на иллюстрации 19.29.
398 ГЛАВА 19 ВЕРОЯТНОСТЬ

Иллюстрация 19.29. Таблица с расчетом вероятности 2D6


для условия «Или выше»

На иллюстрации 19.30 показана диаграмма этого распределения.

Иллюстрация 19.30. Диаграмма суммарной вероятности 2D6

Рассмотрим следующие важные наблюдения о распределении суммар-


ной вероятности 2D6, верные в отношении любой двумерной таблицы ве-
роятностей.
ОСНОВЫ ТЕОРИИ ВЕРОЯТНОСТИ 399

 Шаги между числами в  верхней и  нижней части диаграммы малы,


но шаги между числами в середине диаграммы очень велики. Напри-
мер, игрок, которому нужно выбросить 11 или больше очков, имеет все-
го на 5,56% больше шансов на успех, чем тот игрок, кому нужно выбро-
сить 12 или больше. Но игрок, которому нужно выбросить 7 очков или
больше, имеет на 16,67% больше шансов на успех, чем тот, кому нужно
выбросить 8 или больше; разница в шаге для средних чисел в три раза
больше, чем для крайних чисел.
 Точно такая  же вероятность применима к  диаграммам «Или ниже»,
только в обратном порядке.

Вычисление вероятности дублей


Во многих играх важное значение имеет выпадение «дубля», то есть двух
одинаковых чисел. Помочь рассчитать вероятность выпадения любого
заданного дубля поможет та же таблица 2D6, что и выше, но на этот раз
с условным выделением дублей, показанном на иллюстрации 19.31.

Иллюстрация 19.31. Таблица дублей

На иллюстрации 19.31 видно, что значения дублей проходят по диаго-


нали таблицы в противоположном направлении, чем семерки. Поскольку
из 36 возможных исходов для 2D6 существует 6 способов выпадения дуб-
лей, то вероятность их выпадения (опять же) составляет 16,67%.
400 ГЛАВА 19 ВЕРОЯТНОСТЬ

примечание
Возможно, вы уже заметили, что при расчете вероятностей для 1D6
и 2D6 часто всплывает значение 16,67%, и это вовсе не случайное
совпадение. Вероятность выпадения любого отдельного результата
встроена в вероятность броска: шанс выпадения дубля при любом
броске двух костей равна шансу выпадения данного числа на одной
из этих костей.

Вычисление вероятности серии одиночных событий


До сих пор в этой главе мы пользовались различными вычислениями для
определения шанса множества различных результатов при броске костей,
но все это были отдельные события. Как же быть с серией событий? Нам,
например, известна вероятность выпадения единицы на двухгранной ко-
сти (монете), и мы рассчитали вероятность выпадения единицы при брос-
ке пары двухгранных костей. Это начало серии. Продолжим рассуждения
на дальнейших примерах.
Какова вероятность выпадения единицы при броске шестигранной ко-
сти (1D6) три, четыре, пять или более раз подряд? Для того чтобы создать
серию вероятностных событий, нужно с каждым шагом умножать вероят-
ность текущего события на саму себя. Такой вывод может показаться не-
интуитивным, но объяснить его поможет наглядный пример. Допустим,
у нас есть целая пицца. Сколько останется пиццы, если съесть половину
(иллюстрация 19.32)?

Иллюстрация 19.32. Половина


пиццы
ОСНОВЫ ТЕОРИИ ВЕРОЯТНОСТИ 401

Останется половина пиццы (1/2 или 50%). Рассчитать это достаточно


легко. Но что, если съесть еще половину оставшейся пиццы? Сколько оста-
нется пиццы на этот раз? Понятно, что вычитать половину целого не име-
ет смысла, потому что в результате получилось бы 0%. Вместо этого вычи-
таем половину половины и получаем 25% (иллюстрация 19.33). Этот же
принцип можно применить к любой серии вероятностных событий.

Иллюстрация 19.33. Четверть пиццы

Теперь снова подумаем о выпадении единицы при броске 1D6. В элек-


тронной таблице можно записать формулу для первого шага с вероятно-
стью 1/6 (иллюстрация 19.34). Для дальнейших шагов умножаем резуль-
тат предыдущего шага на 1/6.

Иллюстрация 19.34. Формула вероятности серии

После того как вы запишете формулу в ячейку B2, можно воспользовать-


ся автозаполнением для получения вероятности для любого количества вы-
падений единицы подряд. Как показано на иллюстрации 19.35, вероятность
резко понижается с каждым шагом, но никогда не достигает нуля.
402 ГЛАВА 19 ВЕРОЯТНОСТЬ

Иллюстрация 19.35. Серия вероятностей

Иллюстрация 19.36. Расчет для серий с переменными

Такая электронная таблица хорошо подходит для одноразового расчета


серии. Можно пойти немного дальше и создать динамическую электрон-
ную таблицу, которая позволит вводить любые исходные значения для ав-
томатического вычисления шанса серии. Как и в предыдущих случаях нам
ОСНОВЫ ТЕОРИИ ВЕРОЯТНОСТИ 403

понадобятся следующие переменные: количество событий и количество


успешных событий. Исходя из этих двух переменных электронная таблица
сделает все остальное. На иллюстрации 19.36 показаны все соответствую-
щие формулы.
Для настройки этой электронной таблицы можно менять общее коли-
чество вариантов (исходов) и количество «успешных» (или «нужных») ва-
риантов, а  таблица автоматически сделает перерасчет вероятности для
каждой серии.
Рассмотрим теперь нетипичный пример. Электронная таблица на ил-
люстрации 19.37 рассчитывает вероятность многократного выпадения
7 успешных вариантов из 11 возможных. (Вряд ли такую вероятность мож-
но смоделировать с  помощью стандартных игральных костей, но  похо-
жие расчеты встречаются в карточных играх или в таблицах добычи, или
«лута», для видеоигр.)

Иллюстрация 19.37. Серия исходов

Такую формулу можно применить к  любому набору вероятностных


событий и  найти вероятность того, что событие произойдет. Но  форму-
лу можно использовать и для противоположных вычислений. Допустим,
в некоей игре вы дважды бросаете кубик (2D6), и если выпадает 12, то вы
автоматически проигрываете; в противном случае вы можете продолжать
броски. В этом случае вы хотите определить не вероятность выпадения
12 несколько раз подряд, а вероятность того, что 12 НЕ выпадет несколько
404 ГЛАВА 19 ВЕРОЯТНОСТЬ

раз подряд. На  первый взгляд, задача может показаться более сложной,
но, по сути, это то же самое вычисление, только с одним дополнительным
шагом. Вы знаете, что вероятность выпадения числа 12 при броске 2D6
равна 1/36, или 2,78%. Это значит, что вероятность невыпадения 12 равна
100% минус вероятность выпадения 12: 100% – 2,78% = 97,22%. Теперь эти
числа можно подставить в исходную формулу. Чтобы адаптировать табли-
цу для учета еще и этого фактора, добавим один ряд под «Вероятностью»
для переменных и назовем его «НЕ», добавим еще один столбец после «Ве-
роятности» серии и назовем его «Инверсией» (в нем будет указываться ве-
роятность того, что событие не произойдет несколько раз подряд). Полу-
чится таблица, изображенная на иллюстрации 19.38.

Иллюстрация 19.38. Формулы для серий и инверсии

Обратите внимание, что в обеих формулах для серий имеются как аб-
солютные, так и относительные ссылки. Относительные указывают на ре-
зультат предыдущего шага вычислений и  потому должны обновляться.
Ссылки на переменные должны оставаться неизменными, и потому они
указаны в  абсолютном виде. Эти формулы дают значения, показанные
на иллюстрации 19.39.
Оказывается, в серии из шести бросков кубика шестерка не выпадает
с вероятностью более чем в 33%. Также вполне вероятно не выбросить ше-
стерку и за десять бросков. Причина этого в том, что каждое событие про-
исходит независимо от других событий.
ОСНОВЫ ТЕОРИИ ВЕРОЯТНОСТИ 405

Иллюстрация 19.39. Инвертированные серии исходов

Теперь мы видим, что вероятность бросить 2D6 10 раз подряд и ни разу


не получить 12 составляет чуть более 75%. Это очень хорошая вероятность!
Рассмотрим теперь последний пример инвертированного расчета. До-
пустим, на этот раз вы хотите найти вероятность того, что игрок не выбро-
сит 6 броском кубика 1D6. Многие люди, опираясь на свои интуитивные
догадки, полагают, что если бросить 1D6 шесть раз, то шестерка должна
выпасть почти неизбежно. Но на иллюстрации 19.40 показана реальная
вероятность такого события.

Иллюстрация 19.40. Вероятность невыпадения 6 на шестигранной кости


в серии
406 ГЛАВА 19 ВЕРОЯТНОСТЬ

Вычисление вероятности более чем в двух


измерениях
До сих пор мы обсуждали только вероятность одного события и двух собы-
тий. У электронной таблицы два измерения, поэтому она естественным об-
разом подходит для одного или двух измерений. Но при переходе, напри-
мер, к расчетам вероятности результатов трех бросков костей приходится
проявить немного больше фантазии. Для такого количества измерений
можно в вертикальном измерении перечислить сочетания двух игральных
костей, а горизонтальное использовать для третьей кости. Иными слова-
ми, в первых двух столбцах электронной таблицы мы указываем все воз-
можные варианты для первых двух костей; в первом столбце указываем
несколько раз значение одной грани, а во втором —  по очереди значения
всех граней второй кости, затем переходим ко второй грани первой кости
и так далее. На иллюстрации 19.41 показано, как сделать это вручную для
3D4 (трех бросков четырехгранной кости).

Иллюстрация 19.41. Электронная таблица вероятностей для 3D4

В  этом примере в  столбце А  указаны четыре единицы, затем четыре


двойки и так далее, пока все возможные числа на первой кости не будут пе-
речислены столько раз, сколько существует возможных исходов с учетом
броска второй кости. В столбце B циклически перебираются варианты вто-
рой кости — так мы получаем уникальные сочетания для двух костей. На-
конец, оставшаяся часть строки 1 используется для перечисления всех ва-
риантов третьей кости. В каждой ячейке диапазона C2:F17 складываются
ОСНОВЫ ТЕОРИИ ВЕРОЯТНОСТИ 407

значения первой, второй и  третьей костей. После этого значения «Со-


бытие», «Количество», «Вероятность» и  «Или выше» вычисляются точно
так же, как для комбинаций 1D и 2D. Этот же метод можно использовать
и для большего количества костей с большим количеством столбцов, хотя
он становится довольно сложным. После того как все вероятности 3D4 рас-
считаны, можно построить диаграмму с этими данными; как видно, в цен-
тре столбцы гораздо выше, а к краям снижаются (иллюстрация 19.42).

Иллюстрация 19.42. Диаграмма вероятностей 3D4 с колоколообразной


кривой вероятности

С каждым новым измерением тенденция прослеживается все сильнее.


Чем больше костей, тем меньше вероятность выпадения крайних резуль-
татов и тем более вероятность выпадения средних значений.

Вычисление вероятности зависимых событий


Во всех рассматриваемых до сих пор примерах и во всех соответствующих
вычислениях предполагалось, что любой результат не влияет на другой
конкретный результат. Бросок одного кубика никак не влияет на следую-
щий бросок, а выпадение любого цвета на рулетке не влияет на следующее
вращение. Это самые простые для анализа и расчета типы вероятностных
событий, но существует множество вероятностных событий, зависимых
от предыдущих событий. Самый распространенный пример — случайный
408 ГЛАВА 19 ВЕРОЯТНОСТЬ

выбор нескольких карт из одной колоды. Другой пример зависимого ве-


роятностного события — выбор плиток конкретного цвета из некоторого
набора цветных плиток. В игре также может быть некоторый набор пред-
метов, уменьшающийся по мере того, как игроки случайным образом вы-
бирают из него предметы для себя. Общее между этими примерами то, что
наступление одного события влияет на вероятность последующего. Вме-
сто линейной оси в данном случае наблюдаем ветвление, и каждое новое
событие создает новый набор вероятностей.
В  качестве очень простого примера рассмотрим набор из  2 кругов
и  1  квадрата. Какова вероятность того, что при совершенно случайном
выборе вам выпадет круг? Вспомнив, как мы определяли вероятность для
игральных костей ранее в этой главе, получаем 3 возможных результата,
из которых 2 считаются успешными, а это значит, что вероятность такого
выпадения равна 2/3 или 66,66%. Теперь предположим, что мы уже взя-
ли одну из фигур и теперь выбираем одну из двух оставшихся. Теперь кру-
гов уже не 3, а 2, поэтому вероятность изменилась. Если мы выберем один
из оставшихся кругов, у нас останется только одна фигура. Диаграмма воз-
можностей при каждом выборе показана на иллюстрации 19.43.

Иллюстрация 19.43. Дерево возможностей со всеми вариантами

Самый левый прямоугольник на иллюстрации 19.43 показывает пер-


воначальный набор фигур, и для него возможны три варианта; для каж-
дого из  этих трех вариантов имеются два возможных варианта. Всего
в этом примере для 3 фигур существуют 6 возможных финальных вари-
антов:
ОСНОВЫ ТЕОРИИ ВЕРОЯТНОСТИ 409

 квадрат, затем круг;


 квадрат, затем круг;
 круг, затем квадрат;
 круг, затем круг;
 круг, затем квадрат;
 круг, затем круг.

Теперь, когда мы знаем, сколько всего существует событий и сколько


возможностей, можно рассчитать вероятность различных событий. На-
пример, если мы хотим найти вероятность того, что последней фигурой
останется квадрат, нужно посмотреть на третий столбец и подсчитать, что
всего возможностей 6, а успешных событий — 2 (варианты с квадратами);
таким образом, вероятность того, что последней фигурой будет квадрат,
равна 2/6 (что сокращается до 1/3), или 33,3%. Как и в случае с серией иг-
ральных костей, можно также рассчитать вероятность каждого события
на этом пути.
Например, если первой фигурой мы вынули круг, то  какова вероят-
ность того, что вторая фигура окажется квадратом? В этом случае сосре-
дотачиваемся на тех ветвях, в которых первым вынимается круг, как пока-
зано на иллюстрации 19.44.

Иллюстрация 19.44. Вероятность того, что первым будет выбран круг

Если посмотреть на оставшиеся события в правой колонке, можно уви-


деть, что существует четыре возможных исхода, и в двух из них вынимают-
ся квадраты, поэтому вероятность равна 2/4, то есть 1/2, или 50%.
410 ГЛАВА 19 ВЕРОЯТНОСТЬ

Вычислять зависимую вероятность, конечно, сложнее, чем независи-


мую, но такие вычисления стоит освоить, потому что они часто использу-
ются в играх.
Для другого примера представим колоду из 52 карт, в которой по 13 карт
каждой из четырех мастей: червей, пик, треф и бубен. Какова вероятность
вытащить карту червей? Какова вероятность вытащить 2 карты червей два
раза подряд? Для ответа на этот вопрос воспользуемся тем же методом, что
и в примере с фигурами, но на этот раз сосредоточимся на одной ветви.
Что касается первой случайно выбираемой карты, то из 52 карт всего
имеется 13 успешных вариантов, то есть вероятность равна 13/52, что со-
кращается до 1/4, или 25%. Но перед выбором второй карты в колоде оста-
ется всего 12 карт нужной масти и  по  13 карт остальных мастей. Веро-
ятность успешного варианта теперь будет равна 12/51 (не забывайте, что
общее количество карт также уменьшилось), или 23,53%, что немногим
меньше вероятности при первом выборе. Воспользуемся электронной таб-
лицей для вычисления вероятностей этой ветви с уменьшением оставших-
ся червей и общего количества карт (иллюстрация 19.45).

Иллюстрация 19.45. Серия вероятностей выбора червей


ОСНОВЫ ТЕОРИИ ВЕРОЯТНОСТИ 411

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

Вычисление вероятности взаимоисключающих событий


В предыдущем разделе мы рассмотрели вероятность того, что из колоды
карт в ряду выпадет определенная масть. Как было видно на примере, вы-
падение двух червей подряд — это зависимое событие, потому что вероят-
ность выпадения первой карты влияет на вероятность выпадения второй.
Другой тип вероятности, с которым вам, по всей видимости, когда-нибудь
придется столкнуться, относится к взаимоисключающим событиям. Взаи-
моисключающие события  —  это события, которые не  могут произойти
вместе: когда происходит одно, другое исключается.
Допустим, вам нужно рассчитать вероятность того, что из колоды карт
будет вынут туз пик. Вероятность вынуть его с первой попытки равна 1/52,
или 1,92%. Но если он не будет вынут с первой попытки, то вероятность
вытянуть его при следующей немного увеличивается, потому что общее
количество карт сократилось с 52 до 51. Теперь вероятность выудить туз
пик равна 1/51, или 1,96%. Но что, если туза пик действительно вынули
с первой попытки? В таком случае вероятность сделать это со второй по-
пытки равна 0%, потому что в колоде не осталось туза пик. Аналогично,
если вы вынимали по две карты за раз, какова была бы вероятность вы-
нуть туз пик дважды? Опять же 0%. Таковы взаимоисключающие события.
Если происходит одно, второе становится невозможным.

Вычисление вероятности для списка с равномерным


распределением
Не  во  всех случайных событиях задействованы переменные с  фиксиро-
ванными количественными параметрами, как, например, при бросках иг-
ральных костей или вытягиванием карт из стандартной колоды. Во многих
412 ГЛАВА 19 ВЕРОЯТНОСТЬ

современных играх используются настраиваемые карточные колоды пере-


менного размера, таблицы «лута» (выпадения добычи) и другие методы
рандомизации (расположения в случайном порядке) некоего списка не со-
поставленных между собой предметов. Для таких наборов предметов при-
ходится вычислять вероятность для списка. Вычисление вероятности для
списка очень похоже на уже рассмотренные методы. Рассмотрим для при-
мера небольшую таблицу лута для ролевой игры (иллюстрация 19.46).

Иллюстрация 19.46. Список лута с равномерным распределением

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


из которых своя стоимость. Если бы игрок получал какой-нибудь предмет
каждый раз, когда открывает сундук, было бы достаточно просто рассчи-
тать вероятность появления каждого предмета, воспользовавшись тем же
методом, который ранее в этой главе мы использовали для игральных ко-
стей: сложить общее количество предметов (в данном случае 16) и указать
ОСНОВЫ ТЕОРИИ ВЕРОЯТНОСТИ 413

количество вариантов (событий) для каждого предмета, равное 1. С мате-


матической точки зрения это все равно что вероятность броска 1D16. Та-
ким образом вероятность получить конкретный предмет была бы равна
1/16 или 6,25%. Вычисление вероятности для списка с равномерным рас-
пределением происходит так же, независимо от длины списка элементов
и от того, осуществляется ли выбор с помощью рулетки, колоды карт или
компьютера.

Вычисление вероятности для списка


с неравномерным распределением
Вычисление простой вероятности выпадения одного предмета из списка
может пригодиться для каких-нибудь относительно простых игр, но в уже
чуть более сложных вероятность появления событий часто бывает не-
равномерной. Например, разработчики ролевой игры захотели, чтобы
маленький кошелек с  монетами выпадал чаще всего, а  самые хорошие
предметы выпадали реже. Существует несколько способов решения этой
проблемы, и два самых распространенных подразумевают использование
процентных и весовых коэффициентов вероятности.
В случае с процентными коэффициентами указывается процентная ве-
роятность для каждого события в списке. Преимущество этого способа со-
стоит в том, что вероятность для каждого элемента списка ясно выражена
и видна сразу. Недостаток этого способа заключается в том, что гейм-ди-
зайнер должен проследить за тем, чтобы общая вероятность была равна
100%, иначе вероятность выпадения каждого предмета будет неточной.
Любое изменение в списке повлечет за собой изменение вероятностей для
всех элементов списка —  так называемый эффект домино, и при каждой
правке таблицу придется постоянно переделывать.
Другой способ заключается в  том, чтобы придать каждому элементу
весовой коэффициент, но сложность его в том, что шкала коэффициентов
не фиксирована, и для начала нужно продумать систему. Вы как гейм-ди-
зайнер должны решить, какой вес будет наименьшим, и какой наиболь-
шим, а  затем присвоить каждому элементу свой коэффициент из  этого
диапазона. На иллюстрации 19.47 показан пример весовых коэффициен-
тов для списка лута в ролевой игре.
Почему в  таблице на  иллюстрации 19.47 наименьший вес равен 10,
а наибольший — 60? Тот, кто разрабатывал этот пример, хотел, чтобы ис-
ходя из баланса игры самый распространенный предмет встречался в 6 раз
чаще, чем самый редкий. Число 10 было выбрано, чтобы оставить место
414 ГЛАВА 19 ВЕРОЯТНОСТЬ

в шкале на случай, если команда забудет о некоторых предметах, которые


должны иметь еще меньший вес, или если потребуется внести коррективы
и указать коэффициент между уже указанными. Одно из преимуществ ис-
пользования произвольных весовых коэффициентов вероятности заключа-
ется в том, что не бывает строго определенных минимума или максимума.
Каждая команда может выбрать свою шкалу для конкретной игры. Дру-
гое большое преимущество —  это то, что сумма коэффициентов не долж-
на быть равна 100. Она может быть любой, оставаясь при этом рабочей.

Иллюстрация 19.47. Список лута с неравномерным распределением

После того как каждому элементу списка присвоен вес, можно рассчи-
тать вероятность каждого события точно так  же, как мы рассчитывали
вероятность для 2D6. Сначала получаем сумму весовых коэффициентов
(в столбце C на иллюстрации 19.48), а затем делим вес каждого события
на общую сумму.
ОСНОВЫ ТЕОРИИ ВЕРОЯТНОСТИ 415

Иллюстрация 19.48. Таблица лута с неравномерным распределением


и использованием весовых коэффициентов

После настройки таблицы для преобразования весов в процентную ве-


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

Иллюстрация 19.49. Таблица лута с исправленным весовым коэффициентом


416 ГЛАВА 19 ВЕРОЯТНОСТЬ

С помощью этой базовой настройки можно мгновенно сбалансировать


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

Вычисление весов атрибутов на основе вероятности


В главе 12 «Основы системного дизайна» излагалась концепция веса ат-
рибута на основе его полезности в игре. Однако его можно использовать
и для определения ценности атрибутов в зависимости от вероятности. Как,
скажем, определить ценность лута в примере с таблицей лута для ролевой
игры, который игрок получает в конкретном случае или в среднем? Чтобы
сложные расчеты стали чуть более понятными, начнем с очень простого
примера. Предположим, у нас есть 10 предметов, и вероятность выпадения
каждого равна 10%. Девять предметов имеют цену 0, а один —  цену 100
(иллюстрация 19.50).

Иллюстрация 19.50. Равномерное распределение весов в списке


ОСНОВЫ ТЕОРИИ ВЕРОЯТНОСТИ 417

Какова средняя цена получаемой добычи в этом сценарии? В данном


случае вероятность выпадения предмета стоимостью 100 равна 10%, по-
этому в среднем цена составит 10% от 100, или 10. Этот расчет можно вы-
полнить в электронной таблице, как показано на иллюстрации 19.51.

Иллюстрация 19.51. Рассчитанная средняя цена для всего списка

Для каждого события его выраженная в процентах вероятность умно-


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

 Сумма весов: определяет вероятность на основании веса.


 Средняя цена продажи: цена, которую в  среднем имела  бы добыча,
если бы к событиям не применялись весовые коэффициенты.

Формулы для всей таблицы выглядят так, как показано на иллюстра-


ции 19.52.
418 ГЛАВА 19 ВЕРОЯТНОСТЬ

Иллюстрация 19.52. Ячейки с показанными формулами возвращаемого


значения

Результаты вычислений по  этим формулам показаны на  иллюстра-


ции 19.53.

Иллюстрация 19.53. Вычисления в таблице

Видно, что на  результат вычисляемого значения влияет вероятность


наступления каждого события, так как события с меньшей вероятностью
вносят меньший вклад в среднее значение, чем события с высокой вероят-
ностью. Также видно, что без весовых коэффициентов добыча за один раз
стоила бы в среднем 19,75, но с их учетом снизилась до 14,892. Это отража-
ет тот факт, что более ценные предметы также и самые редкие, и поэтому
они выпадают гораздо реже более дешевых и распространенных. Проводя
подобные расчеты, вы сможете лучше прогнозировать опыт, получаемый
ОСНОВЫ ТЕОРИИ ВЕРОЯТНОСТИ 419

игроком. Например, если вы хотите, чтобы к концу сценария игрок полу-


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

Вычисление вероятности при неполной информации


До сих пор в этой главе обсуждались только явно случайные события, ве-
роятность которых можно было точно рассчитать. Однако в играх бывает
множество других событий, которые в зависимости от перспективы мож-
но считать как случайными, так и неслучайными. Классический пример — 
игра «камень, ножницы, бумага». Каждый игрок сознательно выбирает
свой вариант, так что, казалось бы, его нельзя назвать случайным. Но при
этом каждый игрок не знает, что собирается сделать противник, поэтому
он отталкивается от того, что исход события неизвестен — а это, согласно
определению, и есть случайность. В данном случае события одновременно
и случайны, и не случайны.
В играх встречается множество подобных сценариев. Например, в шу-
терах от первого лица неизвестно, где в конкретный момент будут нахо-
диться противники, поэтому для игрока, попавшего в  засаду, их местона-
хождение может показаться случайным  —  или непредсказуемым. Но  это
не настоящая случайность, а просто неполная (недостаточная) информация.
На теоретическом уровне попытки рассчитать вероятность на основе
неполной информации непрактичны, но ее можно измерить во время те-
стирования с помощью наблюдения и телеметрии. Например, можно про-
вести сотни тестов, чтобы определить, какой вариант в игре «камень, нож-
ницы, бумага» выбирается чаще всего, или можно отслеживать поведение
игроков в шутерах для определения наиболее вероятных маршрутов.

Восприятие вероятности
Еще одна очень важная концепция, о которой должны знать все разработ-
чики систем, заключается в  том, что игроки не  воспринимают вероят-
ность событий в играх реалистично. Есть такое психологическое явление,
называемое оптимистическим предубеждением, из-за которого игроки
полагают, что вероятность наступления неблагоприятного события мень-
ше, чем на самом деле. Если, допустим, вероятность благоприятного исхо-
да или получения награды в игре равна 40%, то в силу оптимистического
420 ГЛАВА 19 ВЕРОЯТНОСТЬ

предубеждения игроки будут ожидать это событие гораздо чаще. Такое


ожидание логически не обосновано, но таковы особенности человеческо-
го мышления.
Рассмотрим другой пример: допустим, вероятность попасть по  цели
во время атаки равна 70%, но если игрок будет промахиваться 3 раза из 10,
то он все равно будет расстраиваться, даже если и понимает, что вероят-
ность промаха равна 30%. Что же делать в таких случаях? Некоторые игры
откровенно лгут игрокам. Они сообщают игрокам более низкие показате-
ли успеха по сравнению с теми, которые действительно задействованы при
расчетах в игре. В других играх вероятность всего завышается, и разработ-
чикам приходится иметь дело с последствиями такого решения. В неко-
торых играх разработчики оставляют все как есть и пытаются смирить-
ся с негодованием сердитых игроков, жалующихся на ужасное невезение.

Неопределенность вероятности
При изучении методов прогнозирования вероятности, рассмотрен-
ных до  сих пор в  этой главе, возникает вполне естественное ощущение,
что с  какой-то долей уверенности контролировать вероятность можно.
В каком-то смысле это так и есть, но с очень важной оговоркой: все описан-
ные здесь методы — это математические абстракции, а не реальные данные.
Возьмем для примера бросок монеты 1D2. Какова вероятность выпа-
дения орла? Как говорилось выше, она равна 1 случаю из 2, то есть 1/2,
или 50%. Исходя из этого вы можете предположить, что за четыре брос-
ка в двух случаях выпадет орел и в двух случаях — решка. Да, такое впол-
не может произойти, но может и не произойти. Вероятность в 50% —  это
вовсе не абсолютная гарантия того, что распределение результатов будет
равномерным. 50% — среднее значение для долгой серии, имеющее очень
небольшое влияние на отдельные события. Вполне может случиться и так,
что за все четыре броска орел выпадет четыре раза.
Рассмотрим другой пример и предположим, что вы собираетесь бросить
кубик 1D6 1000 раз. Вы ожидаете, что каждое число выпадет в 16,67% случа-
ев, то есть по 167 раз. Такой точный результат очень маловероятен, но чем
больше случайных событий, тем ближе среднее значение реальной серии
к вычисленной вероятности. Так шанс того, что какое-то число за тысячу
бросков кубика выпадет от 127 до 207 раз, гораздо выше, чем шанс того, что
одно и то же число выпадет 900 раз (хотя не исключен и такой исход).
ПРОФИЛИ ВЕРОЯТНОСТИ 421

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

Атрибуты случайного события


Каждое случайное событие имеет несколько атрибутов, влияющих на эф-
фект от этого события. Такие атрибуты можно выделить для каждого от-
дельного случайного события и на их основе разработать схемы, показы-
вающие его влияние на игру.
В следующих разделах рассматриваются следующие атрибуты случай-
ного события:

 пригодность для вычислений;


 измеримость случайного результата;
 тип случайности;
 распределение вероятности;
 зависимость исхода.

Пригодность для вычислений


Пригодность для вычислений —  атрибут, говорящий о том, можно ли вы-
числить случайный результат и можно ли использовать его в математи-
ческих вычислениях. Гейм-дизайнерам важно знать, можно  ли восполь-
зоваться сгенерированным случайным результатом в качестве отправной
точки для математических манипуляций —  например, можно ли склады-
вать значения, полученные при броске костей.
422 ГЛАВА 19 ВЕРОЯТНОСТЬ

 Количественный результат. Число, находящееся в известном ограни-


ченном диапазоне. Результат случайного события можно использовать
для математических вычислений.
Примеры: числа 1–6 на  гранях кубика; числа 1–36 на  рулетке, числа
1–13 в колоде карт (если считать фигурные карты и тузы тоже числами),
расстояние от цели в сантиметрах и т. д.
 Элемент конечного списка. Список результатов с конечным количе-
ством элементов, которые нельзя использовать для математических
вычислений.
Примеры: таблицы лута, карты Magic the Gathering, карточки Settlers of
Catan, цвета секторов рулетки.
 Неопределенный неколичественный результат. Множество резуль-
татов с  неопределенным количеством элементов, которые нельзя ис-
пользовать для математических вычислений.
Примеры: скрытые призы на  игровых шоу, содержимое случайных
«лут-боксов», случайные наборы на ярмарке-распродаже.

Измеримость случайного результата


Данные случайных результатов образуются в результате случайных собы-
тий и бывают разных типов, определяющих то, как ими воспользуются
гейм-дизайнеры. Дискретные результаты, например, гораздо более пред-
сказуемы по сравнению с линейными.

 Дискретная. Дискретные случайные результаты —  результаты, кото-


рые можно представить в виде конечных и пригодных для составления
списков значений.
Примеры: значение броска монеты, значение броска игральной кости,
сектор рулетки.
 Непрерывная линейная. Непрерывные линейные результаты отлича-
ются бесконечным разнообразием, но при этом измеримы.
Примеры: расстояние, которое мяч преодолеет при ударе в гольфе; про-
гнозируемый рост ребенка во взрослом возрасте; окончательный счет
в баскетболе, точная температура на завтра.
 Непрерывная нелинейная. Непрерывные нелинейные результаты от-
личаются бесконечным разнообразием и при этом неизмеримы.
Примеры: скрытые призы на  игровых шоу, содержимое случайных
«лут-боксов», наборы на ярмарке-распродаже.
ПРОФИЛИ ВЕРОЯТНОСТИ 423

Тип случайности
Для определения каждого случайного события в игре можно воспользо-
ваться одним или несколькими методами создания случайности. Каждый
метод по-своему влияет на ход игры и на то, как гейм-дизайнер отслежи-
вает результаты случайных событий. Например, при чистой случайности
вероятность события должна оставаться одной и  той  же для всех игро-
ков, а при случайности в зависимости от мастерства вероятность зависит
от навыков игроков и от их поведения в игре.

 Чистая удача. Абсолютная непредсказуемость. У всех игроков равные


шансы получить тот или иной результат.
Примеры: броски костей или монет, лотерея, карты, рулетка, лавовые
лампы.
 Зависимость от мастерства. Игроки в  некоторой степени влияют
на вероятность исхода, но не контролируют его полностью.
Примеры: дротики, бильярд, удар по мячу в бейсболе, гольф, игра на то-
тализаторе.
 Скрытое знание или неполная информация. Один или несколько че-
ловек обладают знанием, недоступным для других игроков. Другой иг-
рок может воспользоваться или не воспользоваться этим знанием.
Примеры: «Угадай число», «камень-ножницы-бумага», покер.

Распределение вероятности
Существует множество вариантов распределения вероятности. Вот одни
из самых популярных в играх.

 Равномерное распределение. Вероятность каждого исхода одинакова.


Примеры: колода карт, один бросок кости, вращение рулетки, выпаде-
ние числа в лотерее.
 Колоколообразная кривая. Значения вероятности распределяются
по колоколообразной кривой.
Примеры: броски костей 2D6 и другие множественные вероятности.
 Экспоненциальное. Множество результатов с  одной стороны и  все
меньше с другой.
Примеры: вероятность случаев «Или выше» при броске костей, вес под-
нимаемой спортсменом штанги, счет в игре Donkey Kong.
424 ГЛАВА 19 ВЕРОЯТНОСТЬ

 Неравномерное распределение. Результаты распределены между со-


бытиями очень неравномерно.
Примеры: таблицы лута, скрытые призы на викторинах, призы на яр-
марках.

Зависимость исхода
Зависимость исхода — атрибут, указывающий на то, влияют ли на случай-
ное событие другие события. С учетом типа зависимости события меняет-
ся формула расчета его вероятности. Например, вероятности независимых
событий распределяются по прямой, а зависимых — по колоколообразной
кривой.

 Независимый. Независимое событие происходит само по себе с рав-


ной вероятностью для каждого исхода.
Примеры: бросок костей, вращение рулетки, бросок одного дротика
в дартс.
 Зависимый. На исход зависимого события влияет исход прошлого со-
бытия, а сам он может повлиять на будущие события.
Примеры: последовательное вытаскивание карт из колоды, попадание
в сектор со счетом в дартс.
 Взаимоисключающий. При исходе с одним результатом исход с дру-
гим результатом становится невозможным.
Примеры: вытаскивание туза пик в серии карт, выбор маршрута в ла-
биринте.

Примеры профилей вероятности


С помощью описанных выше атрибутов можно описать практически лю-
бое случайное событие в игре. Выбрав некоторые из наиболее частых со-
бытий, вы сможете лучше понять, как работает игра и какие ощущения
она будет давать игрокам. Для составления профиля вероятности нужно
выбрать очень конкретное событие. Чем меньше событие, тем больше кон-
кретной информации в нем можно рассмотреть.
Рассмотрим пример с нардами. В сценарии, показанном на иллюстра-
ции 19.54, ходят красные.
ПРОФИЛИ ВЕРОЯТНОСТИ 425

Иллюстрация 19.54. Ход в нардах

На своем ходу красные бросают пару костей, чтобы определить коли-


чество доступных ходов. Это событие можно описать следующим образом.

 Название: ход в нардах


 Пригодность для вычислений: количественный результат
 Измеримость случайного результата: дискретная
 Тип случайности: чистая удача
 Распределение вероятности: колоколообразная кривая
 Зависимость исхода: независимый

Рассмотрим теперь совершенно иной тип случайного события: ярма-


рочная игра, в которой игрок бросает дротик в стену из воздушных шаров
(иллюстрация 19.55). Шары с точками пустые, но другие содержат мелкие
игрушки или другие призы.

Иллюстрация 19.55. Игра «Лопни шарик»


426 ГЛАВА 19 ВЕРОЯТНОСТЬ

Это событие можно описать следующим образом.

 Название: «Лопни шарик», первый бросок


 Пригодность для вычислений: неопределенный неколичественный
результат
 Измеримость случайного результата: дискретная
 Тип случайности: зависимость от мастерства
 Распределение вероятности: неравномерное распределение
 Зависимость исхода: независимый

Этот список атрибутов значительно отличается от  списка атрибутов


для нардов, хотя у атрибутов этих игр есть два общих значения. Если срав-
нить эти два списка, можно увидеть некоторые характерные различия ме-
жду двумя играми. В нардах игроки не могут повлиять на броски костей,
но в достаточной степени контролируют свои ходы на основе результата
броска. Также они могут делать прогнозы о бросках костей на основе ве-
роятностного распределения по колоколообразной кривой. Что касается
игры в шарики, то у игрока есть некоторая свобода действий при выбо-
ре цели, но нет полного контроля. Как только дротик попал в цель, игрок
никак не может распоряжаться своим результатом (низкая агентивность).
Такие различия обуславливают разные характеристики игры. В  нардах
игроки заинтересованы не столько в отдельных бросках костей, сколько
в том, как отреагировать на результаты и воспользоваться полученным
шансом. В шариках игроки больше заинтересованы в том, чтобы попасть
в нужный шарик; они знают, что как только они метнут дротик, остальная
часть игры будет вне их контроля.
В  процессе работы над игрой нужно подумать о  том, какие события
и какие атрибуты вы хотите видеть в своей игре. Полезное упражнение — 
изучение случайных событий и атрибутов в похожих играх или у конку-
рентов; полученной информацией можно воспользоваться для собствен-
ной разработки. Выберите какие-нибудь отдельные события в  других
играх, опишите их атрибуты и подумайте о том, какие чувства они вызы-
вают у игроков, особенно у тестировщиков.
В случае, если в ходе развития игрового проекта возникнет какая-либо
проблема, можно вернуться к списку событий и атрибутов и пересмотреть
их. Например, если игроки недовольны наградами, получаемыми соглас-
но таблице лута, можно будет перечислить атрибуты события и подумать,
ПРОФИЛИ ВЕРОЯТНОСТИ 427

какие из них можно изменить и тем самым решить проблему. При опре-
деленном творческом подходе гейм-дизайнер сможет изменить отдель-
ные аспекты события так, чтобы добиться совершенно иных ощущений
от очень похожих событий.
Рассмотрим еще один пример. Что, если объединить два предыдущих
примера в одну игру и составить один общий список атрибутов? Подумай-
те, какой может стать игра с такими атрибутами.

 Название: гибридная схема


 Пригодность для вычислений: количественный результат
 Измеримость случайного результата: дискретная
 Тип случайности: зависимость от мастерства
 Распределение вероятности: неравномерное распределение
 Зависимость исхода: независимый

Как эти атрибуты можно отразить в  игровой механике? Способы от-


ражения атрибутов в  игре могут быть разными, что очень хорошо для
гейм-дизайнеров. Поразмыслив над вариантами, вы, скорее всего, сфор-
мулируете кое-какие новые идеи. В качестве одного из вариантов можно
предложить игру типа нард, в которой вместо броска костей игроки кида-
ют по два дротика на доску с квадратами, на которых написаны результа-
ты броска кости. Выглядеть она может примерно так, как показано на ил-
люстрации 19.56.

Иллюстрация 19.56. Гибридная игра нарды/дротики

Такое случайное событие объединяет аспекты двух предыдущих игр,


порождая нечто совершенно новое и вызывая у игроков совершенно дру-
гие ощущения от игры.
428 ГЛАВА 19 ВЕРОЯТНОСТЬ

Измерение удачи в играх


Что касается сложных игр, то, к сожалению, не существует некоего еди-
ного алгоритма, с помощью которого можно было бы определить, какую
роль в них играет удача или «везение» — решающую, относительную или
незначительную. Известны случаи, когда дело доходило даже до громких
судебных разбирательств. Например, некогда незаконным был признан
пинбол, который сочли «азартной игрой». Также азартной игрой призна-
вался и покер, хотя в других случаях суд выносил постановление о том, что
это игра, требующая умения и мастерства. В сложных играх существует
множество факторов, из-за которых игра может казаться более или менее
основанной на везении или удаче, и вам стоит научиться рассматривать
такие факторы и решать.
Что касается удачи, то игры можно поделить на четыре общие катего-
рии согласно тому, какую роль в них играет удача.

 Игры с чистой удачей. Решения игрока не влияют или почти не влия-


ют на ход игры. В данном случае такая деятельность даже не попадает
под определение «игры».
Примеры: Candy Land, «Пьяница» (карточная игра), рулетка, лотерея.
 Игры с доминированием удачи. Решения игрока влияют на ход игры,
но исход нельзя предсказать на основе умения пользователя. В долго-
срочной перспективе более способные и умелые игроки выигрывают
чуть чаще плохих игроков, но не существует способа точно предсказать
победителя отдельной сессии на основе их умений.
Примеры: бинго, блек-джек, видеопокер, пасьянсы.
 Игры с влиянием удачи. Решения игроков оказывают большое влия-
ние на ход игры. Более способные игроки выигрывают чаще, но исход
противостояния игроков с примерно одинаковыми умениями и способ-
ностями менее предсказуем. Одним из факторов помимо удачи явля-
ется неопределенность. Например, игрок, пытающийся попасть мячом
для гольфа в  лунку, может промахнуться непредсказуемо, но  не  слу-
чайно.
Примеры: царская игра Ура, нарды, покер, гольф, тетрис, бильярд.
 Игры с чистым умением. В игре нет фактора случайности или везе-
ния. В партии вероятнее всего выиграет тот, у кого лучше способности
и мастерство, или тот, кто в лучшей форме на момент игры. Другими
ИЗМЕРЕНИЕ УДАЧИ В ИГРАХ 429

словами, на  исход игры не  влияют какие  бы то  ни  было механизмы,
не находящиеся под полным контролем игрока.
Примеры: шахматы, го 18, забег на сто метров.

Тест на чистую удачу


Понять, действительно ли в игре основную роль играет чистая удача, мож-
но, внимательно прочитав и поняв правила игры. Обладает ли игрок аген-
тивностью? Это единственный вопрос, на который нужно ответить. Если
в игре нет механики, дающей игроку возможность повлиять на исход игры,
то исход будет результатом чистого везения, и такая деятельность пере-
стает быть игрой согласно сформулированному определению (см. главу 1
«Игры и игроки: определение»). Можно также задать вопрос: «А обязатель-
но ли в игре должен быть игрок?» Например, Candy Land рассчитана на че-
тырех игроков, но  один игрок может спокойно выполнять ходы за  всех,
и результат при этом будет точно таким же, как если бы «ходили» все че-
тыре игрока.

Тест на доминирование удачи


Определить преобладающую роль удачи в  игре можно с  помощью не-
скольких простых тестов. В игре, которая зависит от везения или в кото-
рой удача играет большую роль, исход отчасти зависит от удачи, а отча-
сти от способностей игрока. Самый простой тест — попытаться намеренно
проиграть. В однопользовательской игре сделать это просто, достаточно
только при каждой возможности принимать наихудшее по мнению игро-
ка решение. В  многопользовательской игре одного из  игроков назнача-
ют победителем, а  остальных  —  проигравшими. Проигравшие пытают-
ся намеренно проиграть. В играх, требующих некоторой доли мастерства
и умения, исход игры должен быть очевиден. Например, представьте себе
партию в  шахматы, во  время которой один игрок специально пытается
проиграть, а другой пытается выиграть. Понятно, что долго такая партия
не продлится. Перекос и сильный дисбаланс при таком тесте наблюдает-
ся даже там, где очень силен элемент везения — например, в царской игре
Ура, нардах и «Парчиси», — и специально проиграть бывает легко.

18
В шахматах или го вероятностными событиями могут быть ходы/действия сопер-
ников. Поэтому эти игры нельзя отнести к играм, где нет фактора случайности. — 
Прим. науч. ред.
430 ГЛАВА 19 ВЕРОЯТНОСТЬ

Если  же у  игроков не  получается последовательно проигрывать раз


за разом, то можно утверждать, что удача в игре доминирует. Хороший
пример игры с доминированием удачи —  блек-джек. Да, в этой игре ма-
стерство играет какую-то роль, и,  разумеется, в  ней можно принимать
как лучшие, так и худшие решения. Игрок, стремящийся проиграть, обя-
зательно проиграет, но те, кто придерживается оптимальной стратегии,
выигрывают далеко не всегда, и их результат далеко не всегда предсказу-
ем. Даже при следовании идеальной стратегии игрок все равно может про-
игрывать чуть чаще, чем выигрывать. Поэтому считается, что в этой игре
доминирует удача.

Тест на влияние удачи


Игры с влиянием удачи — пожалуй, самая обширная категория на данный
момент. Даже многие старые азартные игры — это скорее игры на умение,
только с очень большим влиянием удачи. Прекрасные примеры —  нарды
и покер, в которых очевидна разница между игроками с разными уровня-
ми мастерства. Профессиональный игрок в покер, например, обыграет ре-
бенка почти всегда. Профессиональный игрок в нарды победит новичка
в подавляющем большинстве партий.
Важный фактор в  играх с  влиянием удачи  —  то, насколько близки-
ми по уровню мастерства должны быть игроки, чтобы исход игры стал
непредсказуемым. Для непредсказуемого результата в шахматах игроки
должны быть почти одинаковы по уровню мастерства. В нардах непред-
сказуемые результаты бывают у игроков со схожим уровнем. В большин-
стве видеоигр-гонок непредсказуемые результаты возможны среди иг-
роков с довольно большим спектром умений. В играх с влиянием удачи
отдельные партии  —  не  показатель. Более или менее четкое представ-
ление о способностях игрока можно получить только после множества
партий.
Измерить мастерство игроков и процент побед не  так-то просто. Для
этого нужно проводить много игр с  участием пользователей различно-
го уровня, играющих друг против друга на протяжении достаточно дли-
тельного времени. Иными словами, нужна довольно большая система.
Здесь-то и потребуется система рейтинга игроков. Определить способно-
сти игроков и сравнить их между собой можно с помощью систем рейтин-
га Эло, TrueSkill, Tournaments и рейтинговых таблиц.
ИЗМЕРЕНИЕ УДАЧИ В ИГРАХ 431

Настройка влияния удачи


После тестирования игры на степень влияния удачи в ней и после анали-
за задействованных в ней систем или механик с использованием случай-
ности, вам, возможно, захочется скорректировать степень влияния уда-
чи. К сожалению, это не так просто, как, например, добавить или удалить
пару бросков кубиков. Для этого нужно четко знать, какое именно влия-
ние оказывает на игру удача. Как правило, чем больше элементов случай-
ности в игре, тем более широкий спектр игроков она привлекает. Именно
поэтому игры с большой долей везения — одни из любимых для семейного
отдыха. Играя в пики, домино или «салонные» видеоигры, каждый знает,
что у него есть шанс выиграть. Это значит, что даже опытные эксперты мо-
гут почти на равных играть с новичками. На семейной вечеринке бабуш-
ка, играющая во что-то уже семьдесят лет и знающая все правила назубок,
играет с внуками, только что осваивающими базовые правила — и все при
этом получают удовольствие и увлеченно соревнуются.
Два основных фактора, о  которых следует подумать при настройке
влияния удачи в игре, —  это частота случайных событий и степень влия-
ния отдельных случайных событий. Интуитивно может показаться, что
игра с большим количеством случайных событий будет более случайной,
но это не всегда так. В качестве примера рассмотрим модифицированную
версию нард.
Согласно стандартным правилам игры в нарды, каждый игрок перед
своим ходом бросает кости 2D6, после чего может передвигать свои шаш-
ки на  такое  же количество лунок, сколько выпало очков. Все перемеще-
ния в игре определяются случайным образом, поэтому кажется, что в игре
должна преобладать удача. Однако известно, что в нардах это не так. Если
вы хотите проверить это сами, поищите в  Интернете симулятор нард
с продвинутым искусственным интеллектом (ИИ). Сыграйте против луч-
шего ИИ, который только есть в этой игре, и обратите внимание, насколь-
ко невероятно хорош компьютер в этой игре. Победить его будет трудно
даже очень опытным игрокам в нарды. Почему же так происходит? Исхо-
дя из представленного ранее в этой главе списка атрибутов случайных со-
бытий в нардах напрашивается вывод, что из-за большого количества слу-
чайных событий в большой серии партий ИИ должен одерживать победу
примерно в 50% случаев. Но в действительности в игре очень много слу-
чайных событий, каждое из  которых оказывает лишь небольшое влия-
ние на ход игры, поэтому выбор игрока — то, как он воспользуется этими
432 ГЛАВА 19 ВЕРОЯТНОСТЬ

случайными событиями, —  играет большую роль. Поскольку случайных


событий много, кривая вероятности для игры имеет тенденцию к вырав-
ниванию. Любой игрок в среднем будет часто выбрасывать средние числа
в районе 7, и очень редко крайние, 2 и 12. Это значит, что оба игрока за всю
игру получают примерно одинаковое количество очков, а в таких услови-
ях мастерство игрока действительно оказывает влияние на игру.
Чтобы представить это более наглядно, изменим немного правила игры
в нарды. Согласно стандартным правилам, игрок начинает с 15 шашками
и пытается вернуть их все в «дом», переставляя их по лункам в зависимо-
сти от того, сколько выпало очков на костях. Предположим, что в нашей
измененной версии не будет случайных бросков. Все ходы предопределе-
ны и указаны в списке, доступном для обоих игроков. Вот примерный спи-
сок ходов:

1. 3, 4
2. 1, 6
3. 4, 4
4. 2, 5

Итак, мы устранили из  игры фактор случайности в  виде традицион-


ных бросков костей по ходу игры. Но в начале игры мы добавим правило,
согласно которому оба игрока бросают кости 2D6. Затем каждый игрок
удаляет с доски столько шашек, сколько ему выпало очков, и тут же пере-
ставляет их в «дом». Подумайте, какое значение это имеет для игры. Если,
допустим, первому игроку выпало 12, а второму 2, то для второго будет
практически невозможно победить. Если провести множество подобных
партий, то станет понятно, что на самом деле влияние оказывает только
бросок костей в начале игры. Несмотря на то что в этой новой версии брос-
ков стало значительно меньше, удача на нее влияет гораздо больше, чем
в стандартной версии нард.
Другой фактор, определяющий влияние удачи, —  степень влияния от-
дельного случайного события на игру. Рассмотрим экстремальный пример
модифицированной игры дартс и проанализируем, как влияние удачи от-
личается в ней от влияния удачи в стандартной игре.
В нашей измененной версии дартса перед каждым ходом, то есть перед
тем как бросить дротики, игрок бросает кость 1D20. По результату брос-
ка определяется активный сектор, то есть очки на этом ходу присуждают-
ся только за попадание именно в этот сектор. Игра длится 20 ходов, очки
ДАЛЬНЕЙШИЕ ШАГИ 433

суммируются и определяется победитель. В такой игре очень много брос-


ков костей. Игроки бросают их каждый ход на протяжении всех 20 ходов.
Но доминирует ли в игре удача? Нет. В такой игре значение удачи не боль-
ше, чем в обычной. Чаще выигрывает тот игрок, который чаще попадает
в цель, независимо от того, что выпадает на кости. Можно утверждать, что,
несмотря на присутствие в игре бросков костей, особого влияния на игру
они не оказывают, и эффект здесь противоположный эффекту от измене-
ния правил нард в предыдущем примере. В нем был только один бросок
костей, но он оказывал невероятно сильное влияние.
Все это означает, что при модификации игры с целью сделать ее бо-
лее или менее зависимой от удачи, нужно учитывать не только количе-
ство случайных событий, но и степень их влияния. Если вы обнаружи-
ли, что ваша игра слишком сильно зависит от удачи, не нужно просто
удалять некоторые случайные события. Вместо этого нужно проана-
лизировать, как они складываются и  усредняются и  какое влияние
на игру оказывает каждое из них. Возможно, обнаружится, что менее
зависимой от  удачи игра станет даже с  увеличением количества слу-
чайных событий.

Фактор хаоса
Со стопроцентной уверенностью невозможно предсказать исход даже для
игр, ориентированных на мастерство и умение. Если бы исход был ясен
заранее, то не было бы особого смысла играть. У игроков бывает плохое
настроение, они бывают не  в  форме. Иногда наблюдаются особенно ис-
ключительные «полосы невезения». Влияют на исход и внешние факторы,
например «баги» в видеоиграх. Поэтому никогда не следует делать серь-
езные выводы на основе лишь нескольких тестов и ограниченного набора
данных. Как бы ни старалась эта книга убедить вас в важности логических,
основанных на фактах решений, когда дело доходит до ощущения от игры,
всегда будет играть роль человеческая интуиция.

Дальнейшие шаги
После завершения этой главы рекомендуется некоторое время попракти-
коваться на реальных примерах и попробовать использовать рассмотрен-
ные здесь концепции. Для лучшего усвоения концепции вероятности в иг-
рах попробуйте выполнить следующие упражнения.
434 ГЛАВА 19 ВЕРОЯТНОСТЬ

 Составьте список реальных игр, в которых можно рассчитать вероят-


ность событий. Неплохие кандидаты для списка  —  игры, в  которых
есть распределение «лута» (добычи), шанс попадания и т. д. Восполь-
зуйтесь описанной в этой главе системой построения, чтобы сделать ее
для каждого из этих событий. Какие закономерности вы наблюдаете?
 Выберите игру, в  которой происходят случайные события, и  измени-
те способ расчета вероятности. Например, какой была бы игра в нарды,
если бы в ней вместо костей использовали карты? Как она будет рабо-
тать с броском кости 1D12 вместо 2D6?
 Проведите несколько экспериментов с  несколькими атрибутами слу-
чайных событий в своих собственных играх. Не забывайте их тестиро-
вать как можно тщательнее, так как первые результаты легко могут ока-
заться вероятностными отклонениями («выбросами»).
ГЛ А В А 2 0

ДАЛЬНЕЙШИЕ ШАГИ

Итак, книга подошла к концу, и вы, вероятно,


задаетесь вопросом о том, что же вам делать
дальше. Эта книга создавалась как введение
в различные темы, а не как окончательный
курс по какой-либо дисциплине. Я приложил
много усилий, стараясь охватить как можно
более широкий спектр тем и показать
вам основы, но в мои цели не входил
основательный разбор каждой темы. Важно,
чтобы вы рассматривали чтение этой книги
как первый шаг на своем пути к дизайну
игровых систем. В этой краткой главе
описываются некоторые шаги, которые
можно предпринять, чтобы продолжить это
увлекательное путешествие.
436 ГЛАВА 20 ДАЛЬНЕЙШИЕ ШАГИ

Практика
Многие из изложенных в этой книге концепций представляют собой не-
что большее, чем основные факты, которые можно запомнить и усвоить.
Для полного понимания описанных в этой книге методов и приемов необ-
ходимо активно пользоваться ими на практике. Я настоятельно рекомен-
дую вам еще раз просмотреть каждую из глав и активно попрактиковаться
в использовании описанных концепций. Далее попробуйте развить каж-
дую концепцию. Например, поэкспериментируйте с изменением формулы
экспоненциального роста и посмотрите, что получится. Попробуйте объ-
единить несколько рассмотренных в книге концепций, например построе-
ние диаграмм и коммуникационный шум, и посмотрите, что получится.
Развивая и модифицируя описанные в книге концепции, вы действитель-
но усвоите их, а не будете просто копировать прочитанное.

Анализ существующих игр


Какие у  вас любимые компьютерные и  аналоговые игры? В  каких ва-
ших любимых играх активно используются игровые системы? Верни-
тесь к этим играм и поиграйте с учетом новых знаний. Подумайте, какие
аспекты игр вы заметили именно сейчас и  не  замечали раньше. Начни-
те анализировать свои любимые игры так, как если  бы они были ваши-
ми собственными. Анализ законченных игр, которые уже прошли процесс
разработки и тестирования, позволяет увидеть взаимосвязь между ощу-
щениями от игры и системами, которыми разработчики пользовались для
создания таких ощущений.

Игра в новые игры


Еще одно ценное упражнение — играть в новые игры (в идеале принадле-
жащие к тем жанрам, с которыми вы плохо знакомы) и наблюдать за со-
бой в процессе освоения их системы. Запишите свои ощущения до того,
как вы впервые сыграете в игру, затем после первой попытки, и еще не-
сколько раз после следующих. Обратите внимание на  то, как системы
превращаются для вас из совершенно загадочных в понятные. Чтобы про-
двинуться на шаг дальше, найдите игру, в которую вы никогда не играли,
и проанализируйте ее данные, прежде чем сыграть в нее хотя бы один раз.
РАБОТА НАД СОБСТВЕННОЙ ИГРОЙ 437

Подумайте о том, как она должна ощущаться, основываясь на том, о чем


говорят данные. Наконец, поиграйте и запишите, как она на самом деле
играется и ощущается.

Модификация существующих игр


Среди опубликованных игр бывают такие, данные которых доступны
для изменений (например, ролевая игра The Battle for Wesnoth). Найдите
такие игры и  тщательно изучите их. Поняв их системы, попробуйте из-
менить их для достижения определенного результата. Подобные упраж-
нения  —  очень быстрый и  простой способ научиться модифицировать
системы без необходимости создавать свою собственную игру. Уже суще-
ствующая игра послужит вам стабильной базой для начала экспериментов,
ведь ее программный код и игровой движок полностью функциональны,
и при внесении изменений сразу заметно, на что они влияют. Научившись
менять данные существующей игры простыми способами, попробуйте
прийти к более причудливым, нестандартным результатам. Как и в слу-
чае с тестированием, понять, насколько далеко можно зайти в изменени-
ях, получится, только если действительно зайти слишком далеко. «Поко-
выряться» в существующей игре —  отличный способ провести подобные
эксперименты.

Работа над собственной игрой


Насколько я предполагаю, если вы дочитали эту книгу до конца, то вы дей-
ствительно хотите сделать собственную игру или некоторые системы вну-
три игры. Приступать к работе над игрой никогда не бывает слишком рано.
Попробуйте применить в своей работе то, что вы узнали из этой книги.
Воспользоваться описанными в ней методами и приемами можно всегда,
независимо от того, работаете вы над видеоигрой уже на стадии производ-
ства или только придумываете концепцию для какой-нибудь «настолки».
Описанные здесь методы помогут вам двигаться вперед.
438 ГЛАВА 20 ДАЛЬНЕЙШИЕ ШАГИ

Продолжение обучения
Эта книга представляет собой лишь базовое введение в дизайн игровых
систем, и узнать в этой сфере можно еще очень многое. Скорее всего, для
более полного понимания того, как работают описанные здесь методы
и концепции, вам потребуется глубже изучить ряд тем. Например, можно
найти какую-нибудь хорошую книгу продвинутого уровня по электрон-
ным таблицам, а также выбрать одну из множества хороших книг по тео-
рии игр, психологии и  теории вероятности. Более подробные сведения
по любой из затронутых в этой книге тем можно найти в Интернете.
АЛФАВИТНЫЙ
УКАЗАТЕЛЬ

3D-моделирование, инструменты 81 глубокий анализ следующего уров-


макросистемы, настройка сложно- ня 313
сти.  См. настройка сложности Канарейки 317
на практике 316
!, оператор 104
сравнительный анализ 316
AVERAGE, функция 142
анимация 55
Battle for Wesnoth, профиль целевой
аргументы
аудитории 47
в более сложных функциях 138
Bejeweled, профиль целевой аудито- группировка 134
рии 48 ассистенты 57
COMBIN, функция 256 атрибуты 212
COUNTA, функция 145 DPS (урон в секунду) 231, 232, 234
COUNTIF, функция 139, 147 банк 188
COUNTUNIQUE, функция 145 более глубокий анализ следующего
COUNT, функция 145 уровня 313
DPS (урон в секунду) 230, 232, 234 вес атрибутов 226
FIND, функция 148 вычисление веса на основе вероятно-
сти 416
Galaga 184
и баланс 229
профиль целевой аудиториии 46
взаимодействие 233
Google Sheets 87.  См. также электрон-
и механики 184
ные таблицы исследование атрибутов 187
Mario Kart, профиль целевой аудито- исследование атрибутов существующих
рии 47 игр 188
MAX, функция 144 исследование реальных атрибутов 187
MEDIAN, функция 143 обзорный анализ 304
MODE, функция 143 определение 189
SORT, функция 313 размещение в электронных табли-
цах 199
SUM, функция 136, 142
системы именования 243
VisiCalc 89
случайного события
абсолютная ссылка 116 зависимость исхода 424
автозаполнение ячеек 112 распределение вероятности 423
амперсанд 97 тип случайности 423
анализ игровых данных 303 случайного события
анализ существующих игр 436 измеримость случайного результа-
та 422
440 АЛФАВИТНЫЙ УКАЗАТЕЛЬ

пригодность для вычислений 421 восприятие вероятности 419


составление списка 185 вычисление веса атрибутов на основе
сравнительный анализ 316 вероятности 416
урон в минуту 232 неопределённость вероятности 420
численные значения неполная информация 419
балансировка диапазона 260 профили вероятности 421, 424
детализация 212 распределение 423
для детализации 217 соотношение значений атрибутов с ве-
дроби и десятичные дроби 218 роятностью 212
индивидуальный баланс 266 вес атрибута
облегчение вычислений 215 вычисление на основе вероятности 416
очень большие 218 вес атрибутов 226
системный баланс 266 DPS (урон в секунду) 231, 232, 234
соотношение с вероятностью 212 и баланс 229
соотношение с системами измерения
взаимодействие атрибутов 233
реального мира 213
вопросы, как написать хороший во-
точность 221
трюк с напряжением 219
прос 71
аудиоинженеры 57 восприятие вероятности 419
аудитория 29 выбор функций 152
базовая формула экспоненциального глубокий анализ следующего уров-
роста 287 ня 313
настройки 298 головоломки 28
строительные блоки 290 группировка атрибутов 192
базы данных 83 данные 78
баланс 336 маркировка 197
важность 336 проверка (валидация) 121, 198
и вес атрибутов 229 двоичный поиск 234
индикаторы 338 максимальное количество догадок 236
и прототипирование 342 поиск рабочего диапазона 238
судейская оценка 340 пример \ 237, 238
тестирование 348 требования 234
бег 162 диапазон, балансировка 260
бета-тестирование или телеметрия по- индивидуальный баланс 266
сле выхода 356 системный баланс 266
примеры 358 дизайн (дизайнеры) игровых систем
средства перехвата данных 356 DPS (урон в секунду) 230, 233
бинарный поиск.  См. Двоичный поиск расчёт 232
баланс 336
блок-схемы, инструменты создания 82
важность 336
валидация.  См. проверка данных
индикаторы 338
вводный лист 205
и прототипирование 342
ведущий звуковой дизайнер 54 судейская оценка 340
ведущий инженер-программист 53 вес атрибутов 226
ведущий художник 53 взаимодействие атрибутов 233
вероятность двоичный (бинарный) поиск
АЛФАВИТНЫЙ УКАЗАТЕЛЬ 441

максимальное количество дога- формулировка вопроса для тестирова-


док 236 ния 64
поиск рабочего диапазона 238 игроки
пример \ 237, 238 получаемая от игроков отдача (цен-
требования 234 ность) 39
и инклюзивность 39 характеристики 29
именование объектов 239 возраст 30
и атрибуты 244 готовность к изучению правил 31
и пробелы 243 интерес к испытаниям 34
специальные метки 248 пол 30
deleteme 248 предполагаемые затраты времени на
deprecated 248 игру 35
test 249 предпочитаемые платформы 38
дата или время 249 предпочитаемый темп 36
урон в минуту 231 предпочитаемый уровень состяза-
перевод в DPS (урон в секунду) 232 тельности 36
предпочтения по жанру / художе-
дизайн (дизайнеры) игровых систем 58
ственному оформлению / сеттингу /
дизайнер уровней 58
нарративу 39
дизайнеры данных 58 уровень навыков 38
дизайнер(ы) игровых систем.  См. так- игрушки 28
же инструменты, как задавать во- игры 24, 436, 437
просы, функции, электронные таб- анализ 436
лицы ведущий художник 53
ДНС (динамическая настройка сложно- время сессии 35
сти) 328 и головоломки 28
зависимость исхода 424 как средство коммуникации 364
модификация игр 437
знак равенства 93
настройка влияния удачи 431
значения слов 365 новые 436
игровая механика общее время (прохождения) 35
бег 162 с влиянием удачи 428
и атрибуты 184 свойств
командная работа 162 правила 24
метание предметов 161 свойства
палки 162 влияние игрока на исход 26
совмещение механик 162 внутренние награды 27
игровое тестирование 346 возможность отказаться от игры 26
бета-тестирование или телеметрия по- ограниченность сессий по време-
сле выхода 356 ни 27
примеры 358 с доминированием удачи 428
средства перехвата данных 356 сюжет в играх 164
пользовательское тестирование 350 фактор хаоса 433
тестирование баланса 348 идейный вдохновитель 52
тестирование минимальной работоспо- иерархический дизайн 279
собности 347 и график экспоненциального роста 300
тестирование на ошибки 349 начало составления иерархии 280
442 АЛФАВИТНЫЙ УКАЗАТЕЛЬ

преимущества 281 методы повышения 175


измерение удачи 428 мозговой штурм
именование объектов 239 будущее в прошлом 177
и пробелы 243 запись потока сознания 180
индустрия видеоигр 51 избегание критики 173
как фиксировать идеи 174
инклюзивность 39
метод \ 179
инструменты.  См. также электронные
метод итеративных шагов 177
таблицы метод противоположностей 179
3D-моделирования 81 плохой штурм 175
базы данных 83 постановка целей 170
документации 79 придерживаться темы 173
редактирования изображений 80 продолжение творческой работы 175
создания блок-схем 82 случайные связи 180
инструменты документации 79 составление списка атрибутов 185
инструменты редактирования изобра- сохранение разумных ожиданий 174
жений 80 строительные блоки 176
исследование атрибутов 187 с фантазией 186
реальных 187 шутки 176
существующих игр 188 разработка новых идей 167
кавычки 96 фиксация идей 174
казуальные игроки 31 шведский стол идей 168
как задавать вопросы 70.  См. также критика и мозговой штурм 173
формулировка вопроса для анализа линейный рост 287.  См. также экспо-
данных ненциальный рост
написание хорошего вопроса лист-свалка 207
предвзятость согласия 64 листы
пример плохого вопроса 75 вводный лист 205
пример хорошего вопроса 74 и объекты данных 204
при обращении за помощью 70 лист-свалка 207
теоретический вопрос 64 листы вывода/визуализации 206
как выбрать числа 67 справочный лист 204
проверка гипотезы 68 листы вывода/визуализации 206
формулировка объясняющей гипо- МАКС, функция 144
тезы 68 маркировка данных 197
канарейки 317 математические символы 97
командная работа 162 МЕДИАНА, функция 143
коммуникация 363 метание предметов 161
и значения слов 365 метод \ 177
и язык 365
метод итеративных шагов 177
коммуникация, игры как коммуника-
метод противоположностей 179
ция 364
механика (механики)
концепт-художники 55 и атрибуты 184
координаторы 57 метание предметов 161
крафт, прототип 343 совмещение механик 162
креативность механика (механики)
АЛФАВИТНЫЙ УКАЗАТЕЛЬ 443

бег 162 формулировка вопроса для тестирова-


командная работа 162 ния 64
палки 162 формулировка объясняющей гипоте-
многоуровневая настройка сложно- зы 68
сти 330 неполная информация, вероятность 419
МОДА, функция 143 несостязательные игры 37
мозговой штурм обзорный анализ 304
избегание критики 173 общее время (прохождения игры) 35
и продолжение творческой работы 175 объекты 204
как фиксировать идеи 174 именование объектов 239
методы повышения креативности 175 специальные метки 248
будущее в прошлом 177 как опорные точки данных 269
метод \ 179 для создания данных 274
метод итеративных шагов 177 перекрестное тестирование 276
метод противоположностей 179 прогрессия 277
плохой штурм 175 создание 271
поток сознания 180 тестирование 271
случайные связи 180 фиксация 273
строительные блоки 176 категории 241
шутки 176 размещение в электронных табли-
постановка целей 170 цах 199
придерживаться темы 173 одноразовая покупка 40
сохранение разумных ожиданий 174
оплата 40
с фантазией 186
другие формы получаемой отдачи 43
мозговой штурм с фантазией 186 взаимодействие игроков 44
навыки 38 конкурсы популярности 44
НАЙТИ, функция 148 рейтинговые сайты 44
написание хорошего вопроса 71 рыночные показатели 44
нарушение данных 340 сарафанное радио 43
настройка влияния удачи 431 создание контента 44
настройка сложности 322 социальные сети 43
динамическая 328 и реклама 42
многоуровневая 330 микротранзакции 41
отрицательная обратная связь 325 одноразовая покупка 40
перекрестная 332 расширения 41
положительная обратная связь 323 опорные точки.  См. также иерархиче-
сочетание методов 333 ский дизайн
чистый баланс 322 для создания данных 274
научный метод перекрестное тестирование 276
анализ полученных данных 68 прогрессия 277
интерпретация данных, формулировка создание 271
выводов и публикация результатов 68 тестирование 271
повторное тестирование 69 фиксация 273
проверка гипотезы 68 опорные точки данных.  См. также
сбор информации и ресурсов 67 иерархический дизайн
444 АЛФАВИТНЫЙ УКАЗАТЕЛЬ

использование для создания дан- рабочие книги 99, 100


ных 274 разработка игр 51
перекрестное тестирование 276 QA (обеспечение качества) 60
прогрессия 277 ведущий инженер-программист 53
создание 271 ведущий художник 53
тестирование 271 дизайн 57
фиксация 273 дизайнеры данных 58
определение дизайнеры игровых систем 58
атрибута 189 дизайнеры уровней 58
опросы, предвзятость согласия 64 специалисты по скриптам 59
оружие технические дизайнеры 59
DPS (урон в секунду) 231, 232, 234 идейный вдохновитель 52
урон в минуту 232 иерархический дизайн 279
относительная ссылка 114, 116 график экспоненциального роста и
игровая иерархия 300
отрицательная обратная связь 325
начало составления иерархии 280
палки 162
преимущества иерархического ди-
перекрестная настройка сложности 332 зайна 281
перекрестное тестирование, опорные и научный метод 64
точки 276 анализ полученных данных 68
платформы 38 интерпретация данных, формулиров-
плохой штурм 175 ка выводов и публикация результа-
повышение уровней, прототип 344 тов 68
положительная обратная связь 323 повторное тестирование 69
проверка гипотезы 68
пользовательское тестирование 350
сбор информации и ресурсов 67
постановка целей (для мозгового штур-
формулировка вопроса для игрового
ма) 170 тестирования 64
поток сознания, запись 180 формулировка объясняющей гипо-
правила 24 тезы 68
готовность к изучению 31 инженеры-программисты 56
и данные 78 по геймплею 56
предвзятость согласия 64 по графике 56
пригодность для вычислений 421 по инструментам 56
проблемы.  См. решение проблем по скриптам 56
проверка времени 126 сетевые специалисты 56
специалисты по аудио 57
проверка данных (валидация) 121
инструменты
проверка списком 127
3D-моделирования 81
продюсер 54 базы данных 83
прототипы документации 79
крафта 343 редактирования изображений 80
макросистем 345 создания блок-схем 82
повышения уровней 344 продюсер 54
профили вероятности 421 производство 57
прыжки, прототипы ассистенты 57
прыжка 344 координаторы 57
АЛФАВИТНЫЙ УКАЗАТЕЛЬ 445

менеджеры 57 специалисты по скриптам 56


разработчик игры 52 специальные метки
саунд-дизайн 59 deleteme 248
художники 54 deprecated 248
анимация 55 test 249
концепции 55 дата или время 249
по интерфейсу 55 справочный лист 204
по окружению 55 сравнительный анализ 316
по персонажам 55 СРЗНАЧ, функция 142
технические 55
столбцы 99, 199
реальные атрибуты, исследование 187 ненужные 202
реклама 42 строка формул 93
\ 43 знак равенства 93
в социальных сетях 43
строки 99, 199
решение проблем 359 ненужные 202
документирование изменений 362 судейская оценка состязаний, ба-
исключение переменных 361
ланс 340
канарейки 317
СУММ, функция 136, 142
коммуникация с командой 361
определение проблемы 360 СЧЁТЕСЛИ, функция 139, 147
поиск решения 361 СЧЁТЗ, функция 145
создание прототипа и тестирование 362 СЧЁТ, функция 145
сарафанное радио 43 сюжет 164
саунд-дизайн 59 телеметрическое тестирование 356
сессия, продолжительность 27 примеры 358
средства перехвата данных 356
сетевые специалисты 56
тестирование
системы 155
и канарейки 317
скобки 95
на влияние удачи 430
скрытие данных в электронных табли- на доминирование удачи 429
цах 105 на чистую удачу 429
случайные связи, мозговой штурм 180 опорные точки 271
случайные события 421 формула рукопожатий 249
зависимость исхода 424 тестирование минимальной работоспо-
измеримость случайного результа- собности 347
та 422 тестирование на ошибки 349
пригодность для вычислений 421 тест на чистую удачу 429
распределение вероятности 423
технические дизайнеры 59
тип случайности 423
технические художники 55
создание опорной точки 271
убывающая отдача 285, 286
составление списка атрибутов 185
удача
состязательность 36 измерение удачи 428
социальные сети 43 настройка влияния удачи 431
специалисты по геймплею 56 тест на доминирование удачи 429
специалисты по графике 56 тест на чистую удачу 429
специалисты по инструментам 56 УНИК, функция 145
446 АЛФАВИТНЫЙ УКАЗАТЕЛЬ

урон в минуту 232 пол 30


перевод в DPS (урон в секунду) 232 получаемая отдача 39
фактор хаоса 433 предполагаемые затраты времени на
фиксация (блокировка) опорной точ- игру 35
ки 273 предпочитаемые платформы 38
предпочитаемый темп 36
фильтры, в электронных таблицах 118
предпочитаемый уровень состязатель-
формула рукопожатий 249
ности 36
формулировка вопроса для анализа предпочтения по жанру / художествен-
данных 69 ному оформлению / сеттингу / нарра-
формулы.  См. также функции тиву 39
амперсанд 97 профили 45
базовая формула экспоненциального Battle for Wesnoth 47
роста 287 Bejeweled 48
настройки 298 Galaga 46
строительные блоки 290 Mario Kart 47
кавычки 96 шахматы 45
математические символы 97 уровень навыков 38
скобки 95 ЧИСЛКОМБ, функция 256
функции 152 чистый баланс (настройка сложно-
AVERAGE (СРЗНАЧ) 142
сти) 322
COMBIN (ЧИСЛКОМБ) 256
шахматы, профиль целевой аудито-
COUNTA (СЧЁТЗ) 145
COUNTIF (СЧЁТЕСЛИ) 139, 147 рии 45
COUNTUNIQUE (УНИК) 145 шведский стол идей 168.  См. также
COUNT (СЧЁТ) 145 креативность
FIND (НАЙТИ) 148 шутки и методы повышения креатив-
MAX (МАКС) 144 ности 176
MEDIAN (МЕДИАНА) 143 экспоненциальный рост 285, 286, 287
MODE (МОДА) 143 базовая формула экспоненциального
SORT 313 роста 287
SUM (СУММ) 136, 142 базовая формула эскпоненциального
аргументы 133 роста
группировка 134 настройки 298
выбор 152 строительные блоки 290
синтаксис 137 и итерации 299
сложные 138
электронные таблицы 87, 88, 90, 107,
структура 134
196.  См. также функции
хардкорные игроки 31 VisiCalc 89
художники по интерфейсу 55 абсолютная ссылка 116
художники по окружению 55 автозаполнение 112
художник по персонажам 55 данные
целевая аудитория маркировка 197
возраст 30 проверка (валидация) 198
готовность к изучению правил 31 диалоговое окно проверки данных 124
интерес к испытаниям 34 комментарии 108
план получения отдачи 45 листы 99
АЛФАВИТНЫЙ УКАЗАТЕЛЬ 447

вводный лист 205 MEDIAN (МЕДИАНА) 143


лист-свалка 207 MID (ПСТР) 149
листы вывода/визуализации 206 MIN (МИН) 144
справочный лист 204 MODE (МОДА)  143
относительная ссылка 116 NOW (ТДАТА) 149
примечания 110 RANDBETWEEN (СЛУЧМЕЖДУ) 151
проверка (валидация) данных 121 RAND (СЛЧИС) 150
проверка времени 126 RANK (РАНГ) 145
проверка списком 127 ROUND (ОКРУГЛ) 151
рабочие книги 99, 100 SUM (СУММ) 142
символы VLOOKUP (ВПР) 148
амперсанд 97 выбор функции 152
знак равенства 93 группировка аргументов 134
кавычки 96 синтаксис 137
математические 97 сложные 138
скобки 95 структура 134
скрытие данных 105 цветовое кодирование 200
скрытие части данных на листе 105 ячейки 91
ссылка на отдельный лист 103 адрес 91
столбцы и строки 99 значение 92
фильтры 118 строка формул 93
функции 152 язык 365
AVERAGE (СРЗНАЧ) 142 ячейки 91
COUNTA (СЧЁТЗ) 145 адрес 91
COUNTIF (СЧЁТЕСЛИ) 147 значение ячейки 92
COUNTUNIQUE (УНИК) 145 ссылки 95, 116
COUNT (СЧЁТ) 145 строка формул 93
FIND (НАЙТИ) 148 формула 93
IF (ЕСЛИ) 146
LEN (ДЛСТР) 146
Все права защищены. Книга или любая ее часть не может быть скопирована, воспроизведена в
электронной или механической форме, в виде фотокопии, записи в память ЭВМ, репродукции или
каким-либо иным способом, а также использована в любой информационной системе без получения
разрешения от издателя. Копирование, воспроизведение и иное использование книги или ее части
без согласия издателя является незаконным и влечет уголовную, административную и гражданскую
ответственность.

Научно-популярное издание

МИРОВОЙ КОМПЬЮТЕРНЫЙ БЕСТСЕЛЛЕР. ГЕЙМ-ДИЗАЙН

Гэзеуэй Дакс

ВВЕДЕНИЕ В ДИЗАЙН ИГРОВЫХ СИСТЕМ


ПОШАГОВОЕ РУКОВОДСТВО ПО СОЗДАНИЮ СБАЛАНСИРОВАННЫХ ИГР

Главный редактор Р. Фасхутдинов


Руководитель направления В. Обручев
Шеф-редактор Е. Горанская
Ответственный редактор А. Захарова
Научный редактор С. Гимельрейх
Литературный редактор С. Воронина
Младший редактор Д. Данилова
Художественный редактор А. Шуклин
Компьютерная верстка Э. Брегис
Корректоры Р. Болдинова, А. Костенко

Страна происхождения: Российская Федерация


Шы8арыл8ан елі: Ресей Федерациясы
ООО «Издательство «Эксмо»
123308, Россия, город Москва, улица Зорге, дом 1, строение 1, этаж 20, каб. 2013.
Тел.: 8 (495) 411-68-86.
Home page: www.eksmo.ru E-mail: info@eksmo.ru
Pндіруші: «ЭКСМО» АRБ Баспасы,
123308, Ресей, Sала МTскеу, Зорге кUшесі, 1 Vй, 1 8имарат, 20 Sабат, офис 2013 ж.
Тел.: 8 (495) 411-68-86.
Home page: www.eksmo.ru E-mail: info@eksmo.ru.
Тауар белгісі: «Эксмо»
Интернет-магазин : www.book24.ru
Интернет-магазин : www.book24.kz
Интернет-д/кен : www.book24.kz
Импортёр в Республику Казахстан ТОО «РДЦ-Алматы».
RазаSстан Республикасында8ы импорттаушы «РДЦ-Алматы» ЖШС.
Дистрибьютор и представитель по приему претензий на продукцию,
в Республике Казахстан: ТОО «РДЦ-Алматы»
RазаSстан Республикасында дистрибьютор жTне Uнім бойынша арыз-талаптарды
SабылдаушыныZ Uкілі «РДЦ-Алматы» ЖШС,
Алматы S., Домбровский кUш., 3«а», литер Б, офис 1.
Тел.: 8 (727) 251-59-90/91/92; E-mail: RDC-Almaty@eksmo.kz
PнімніZ жарамдылыS мерзімі шектелмеген.
Сертификация туралы аSпарат сайтта: www.eksmo.ru/certification
Сведения о подтверждении соответствия издания согласно законодательству РФ
о техническом регулировании можно получить на сайте Издательства «Эксмо»:
www.eksmo.ru/certification
Pндірген мемлекет: Ресей. Сертификация Sарастырылма8ан

Дата изготовления / Подписано в печать 12.04.2023.


Формат 70x1001/16. Печать офсетная. Усл. печ. л. 36,3.
Тираж экз. Заказ

12+

Вам также может понравиться