Академический Документы
Профессиональный Документы
Культура Документы
INTRO-
DUCTION
TO GAME
SYSTEMS
DESIGN
ДАКС ГЭЗЕУЭЙ
ВВЕДЕНИЕ
В ДИЗАЙН
ИГРОВЫХ
СИСТЕМ
ПОШАГОВОЕ
РУКОВОДСТВО
ПО СОЗДАНИЮ
СБАЛАНСИРОВАННЫХ ИГР
УДК 004.9
ББК 77.056с.я92
Г98
Гэзеуэй, Дакс.
Г98 Введение в дизайн игровых систем : пошаговое руководство
по созданию сбалансированных игр / Дакс Гэзеуэй ; [перевод
с английского О. И. Перфильева]. — Москва : Эксмо, 2023. —
448 с. — (Мировой компьютерный бестселлер. Гейм-дизайн).
ISBN 978-5-04-167362-8
Хороший дизайн игровых систем — ключ к успеху любой игры. Систем-
ные дизайнеры закладывают базовые правила игры и ее баланс, задают зна-
чения атрибутов персонажей и оружия, принципы, как будет работать искус-
ственный интеллект и как будет происходить взаимодействие игрока с игрой.
Эта книга научит вас создавать игровые системы с нуля, работать с ос-
новными инструментами для системного дизайна, оценивать и настраивать
игровой баланс и тестировать системы, а также работать с психологией игро-
ков, создавая нужный вам игровой опыт.
УДК 004.9
ББК 77.056с.я92
Предисловие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
Благодарности . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
Об авторе . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
Предисловие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Для кого эта книга. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Как пользоваться этой книгой . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Какие темы затрагивает эта книга . . . . . . . . . . . . . . . . . . . . . . . . 15
Благодарности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Об авторе. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Канарейки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Дальнейшие шаги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
молодым. Я написал эту книгу специально для них. Более двадцати лет
я накапливал знания, которые теперь излагаю здесь и передаю следующе-
му поколению. Я очень надеюсь, что смогу сделать их путь легче, подобно
тому, как мои наставники сделали мой путь легче своего.
ОБ АВТОРЕ
ИГРЫ И ИГРОКИ:
ОПРЕДЕЛЕНИЯ
Определение «игры»
Прежде чем давать определение «гейм-дизайнерам», нужно определить,
что же такое собственно «игра». Конечно, с философской точки зрения
можно утверждать, что «Жизнь — это игра» или что «Вся Вселенная и все,
что существует в ней — это большая игра», но в рамках этой книги необхо-
димо сосредоточиться именно на том виде деятельности, который обычно
называют игрой, и рассмотреть, чем эта деятельность отличается от все-
го остального.
Игры — это созданные людьми объекты и явления, обладающие неко-
торыми специфическими свойствами (атрибутами). Вместо того чтобы по-
пытаться описать все, что может быть игрой, полезнее рассмотреть раз-
личные критерии, которые должны удовлетворяться для утверждения, что
перед нами игра. Таким образом мы как бы создаем контрольный список
особенностей, или признаков, в котором должны быть отмечены все пунк-
ты, чтобы что-то можно было назвать «игрой».
Внутренние награды
Исходя из уже упомянутых признаков, можно счесть игрой работу. В ней
есть искусственные правила, диктующие, что, когда и где нужно делать.
От работы можно отказаться, и она происходит отдельными сессиями.
Еще один аспект, характерный именно для игр, — это внутренние награ-
ды, то есть награды, имеющие ценность только в игре 1. Например, в игре
в шашки захват шашки противника представляет собой очень большую
ценность. Однако эта захваченная шашка не имеет никакой ценности вне
1
Здесь термин «внутренняя награда» используется в контексте наград внутрииг-
ровой среды. Существует другое понятие внутренней награды — это ощущение
игрока, что он справился, что его навык вырос по сравнению с предыдущими по-
пытками, и в противовес ей внешней награды, которая представляет собой вну-
триигровые ценности: монетки, элементы экипировки и т. п. — Прим. науч. ред.
28 ГЛАВА 1 ИГРЫ И ИГРОКИ: ОПРЕДЕЛЕНИЯ
игры. В конце одной игры все шашки возвращаются в коробку и вновь рас-
ставляются на доске перед началом следующей. Вознаграждением за рабо-
ту же обычно служат деньги. Финансовое вознаграждение не теряет своей
ценности за рамками работы, и его можно использовать в более крупной
экономической системе.
Рассмотрим пример посложнее: покер. Обычно покер считают игрой,
хотя некоторые люди воспринимают его как свою профессию. В этой игре
игроки играют на деньги, имеющие внешнюю ценность, но у некоторых
аспектов игры ценность лишь внутренняя. Например, в контексте поке-
ра очень ценным считается расположение карт одной масти по порядку.
Вне покера выпадение пяти карт одной масти по порядку — по-прежнему
очень редкое явление, но ценности у него никакой. Именно внутренние
награды превращают задачу, поручение или работу в игру.
ГОЛОВОЛОМКИ И ИГРУШКИ
2
Спорное утверждение. Существует множество головоломок, в которых можно
проиграть. К примеру, в популярной головоломке «Тетрис» со временем увеличи-
вается динамика падения фигур при сокращении объема пространства, где ими
можно манипулировать. Игра всегда заканчивается поражением, но при этом от-
носится к жанру головоломок. — Прим. науч. ред.
3
Правила могут просто давать игроку больше возможностей в рамках игры.
Minecraft, к примеру, тоже является игрой, несмотря на высокую агентивность
и неповторяющийся исход каждой игровой сессии. — Прим. науч. ред.
30 ГЛАВА 1 ИГРЫ И ИГРОКИ: ОПРЕДЕЛЕНИЯ
примечание
Не пытайтесь определить конкретную аудиторию, которая будет
играть в вашу игру, потому что на самом деле любой разработчик
хочет, чтобы его игру попробовали все. Вместо этого постарай-
тесь определить аудиторию, для которой вы создаете игру. У мно-
гих игроков взаимоисключающие предпочтения. Например, одни
не любят игры, сессии которых длятся более нескольких минут, дру-
гие не хотят играть, если сессии длятся менее часа. Одновременно
угодить обеим этим группам почти невозможно, не стоит даже
пытаться. Но вы можете отдать предпочтение какой-то отдельной
группе и создавать свою игру с оглядкой на нее. Конечно, можно
приветствовать любого, кто захочет в нее поиграть, но в процессе
разработки лучше ориентироваться на более узкую аудиторию.
Возраст
По возрасту всех игроков можно распределить по двум основным категори-
ям: взрослые и дети/подростки. У детей когнитивные навыки еще только раз-
виваются, и развиваются они (очень приблизительно) в соответствии с возра-
стом. К играм, ориентированным на растущих детей, предъявляются особые
требования, и действуют законодательные ограничения. Как разработчик вы
должны учитывать степень когнитивного развития детей разного возраста,
если хотите создавать игры для них. Существуют целые отдельные обучаю-
щие или развивающие категории игр, и, если вы собираетесь разрабатывать
детскую игру, вам нужно будет специально ознакомиться с этой сферой.
Взрослых же можно отнести к одной общей категории игроков. Пред-
полагается, что все взрослые умеют читать, пользоваться контроллером
или клавиатурой, имеют представление об основах математики и могут
самостоятельно решать головоломки. Как следствие, распределять взрос-
лых по каким-то более конкретным категориям практически бессмыслен-
но. Да, некоторые культурные отсылки представители разных поколений
могут интерпретировать по-разному, но дальнейшее разделение по возра-
сту мало что дает, поэтому при определении целевой аудитории обычно
достаточно сказать, что аудитория — это «любой взрослый».
Пол
Особенно погружаться в эту категорию необходимости нет, потому что
пол — это далеко не самый эффективный атрибут при определении целевой
ПОИСК ЦЕЛЕВОЙ АУДИТОРИИ ДЛЯ ИГРЫ: ХАРАКТЕРИСТИКИ ИГРОКА 31
освоения какой-то новой игры. Вспомните обо всех, кто ежедневно игра-
ет в шахматы, но не обращает никакого внимания на любые другие игры.
Конечно, их можно назвать игроками, но это не те, кто готов еженедельно
пробовать очередную игру просто ради интереса.
На другом конце спектра находятся игроки, которым нравится изучать
правила; они могут даже получать удовольствие от этого не меньше, даже
если не больше, чем от самой игры. Такие люди могут состоять в местном
клубе настольных игр, где каждую неделю играют во что-то новое и редко
возвращаются к прежнему. Такую группу привлекает прежде всего возмож-
ность освоить новые правила, а сами игры при этом для них второстепенны.
При создании игры вам необходимо продумать, насколько ваша ауди-
тория будет готова к изучению новых правил. Когда речь заходит об изуче-
нии правил, люди в целом делятся на пять следующих категорий.
входа, чем у других групп. Хотя точных данных о размере каждой груп-
пы нет, продажи игр со множеством сложных правил неофициально
свидетельствуют о том, что это самая немногочисленная из пяти групп.
Интерес к испытаниям
Существует много вариантов испытаний и вызовов, но можно упростить
этот атрибут до терпимости к неудачам. В большинстве игр существуют
механики, позволяющие игроку как добиваться успеха, так и терпеть не-
удачи. Можно количественно измерить частоту успеха по сравнению с не-
удачами и использовать этот показатель как измеритель предлагаемого
игрой «вызова». Некоторые игроки совсем или почти нетерпимы к неуда-
чам. Они хотят постоянно получать награды и играют, чтобы поднять на-
строение или просто скоротать время; испытания для них — это неприят-
ный фактор. Другим игрокам, наоборот, нравятся трудности, и они готовы
часто терпеть неудачи. Можно определить приемлемый уровень неудач
как отношение количества неудач к успехам. Рассмотрим два кардиналь-
но разных соотношения.
Предпочитаемый темп
Темп игры трудно определить количественно, но он важен для игроков.
Если попросить человека, которому нравятся пошаговые стратегические
игры, поиграть в очень активный шутер от первого лица, то он вряд ли по-
кажет хорошие результаты, и наоборот. С темпом связано много факторов,
которые приходится учитывать. Например, у «быстрых шахмат» быстрый
темп, но не совсем такой, как у shoot ’em up с видом сверху. Если вы хоти-
те количественно оценить, какой темп предпочитают игроки, на которых
вы ориентируетесь, то нужно уточнить, какой именно тип темпа имеется
в виду. Например, у некоторых игр есть свой присущий им ритм, и темп
в них регулярно меняется. В стелс-играх, например, медленное развитие
событий часто сменяется быстрой активной частью с последующим зату-
ханием.
При описании темпа важны максимальная точность и конкретика.
Ниже приведены примеры того, как можно количественно оценить темп
различных игр.
Предпочитаемые платформы
Игры доступны для многих платформ, включая ПК, консоли, мобильные
устройства, настольные игры и VR-игры. («Платформами» можно даже
считать таблицы или бумажные игры.) Знание особенностей конкретной
аппаратной платформы или нескольких платформ помогает определить-
ся с аудиторией, хотя и не в очень значительной степени. Сейчас игры
всех типов выходят на любых платформах, и для всех на каждой платфор-
ме имеется своя аудитория. Вам как гейм-дизайнеру полезно будет знать
сильные и слабые стороны оборудования, для которого вы разрабатываете
игры. Поэтому вы всегда должны помнить о платформе, хотя противопо-
ставлять, например, игроков на консолях и игроков на ПК или мобильных
устройствах не так уж и важно.
Уровень навыков
Многие игры требуют определенных навыков или их быстрого развития
в процессе. Как и в случае других атрибутов, требования определенных
навыков привлекают одних игроков и отталкивают других. При разработ-
ке игр для взрослой аудитории можно предположить, что игроки умеют
читать и обладают базовыми моторными навыками. Для конкретной игры
может потребоваться множество других специфических навыков, и непло-
хо перечислить их еще на ранних этапах разработки. Рассмотрим навыки,
требуемые для некоторых игр.
ОБ ИНКЛЮЗИВНОСТИ
Оплата
Самая простая форма компенсации от игроков — оплата. В самом про-
стом виде это покупка копии игры со стороны каждого отдельного иг-
рока. Но современные игры часто прибегают к более сложным методам
оплаты. Каждый из них привлекает одних игроков и отталкивает других.
От того, на какой метод вы будете ориентироваться с самого начала, за-
висит ход разработки игры. Ниже описаны несколько распространенных
типов оплаты, а также перечислены некоторые плюсы и минусы, которые
следует учитывать для каждого типа.
Одноразовая покупка
При одноразовой покупке пользователь приобретает игру и может оста-
вить ее себе навсегда. Это самый старый и самый простой метод получе-
ния компенсации. Люди совершали разовые покупки настольных игр и ко-
лод карт на протяжении веков, а может быть, и дольше.
Плюсы
Игроки платят за весь опыт заранее. Часто это более значительная сум-
Минусы
После покупки больше не будет возможностей получить дополнитель-
ные деньги.
Мало стимулов для исправления недостатков, обнаруженных после вы-
хода игры.
У команды разработчиков нет возможности получать деньги за продол-
жение работы над игрой.
У игроков нет внешнего стимула возвращаться в игру за новым контен-
том.
ПОЛУЧАЕМАЯ ОТ ИГРОКОВ ОТДАЧА (ЦЕННОСТЬ) 41
Покупка расширений
При покупке расширений игроки сначала покупают основную игру, а затем
могут приобрести расширения, меняющие или дополняющие ее. Обычно
расширения бывают самостоятельными и довольно небольшими по разме-
ру. Например, новый пакет расширений может выходить два раза в год.
Плюсы
Такой формат потенциально поддерживает у игроков желание возвращать-
Минусы
Игроки могут прийти к мысли, что игра дает им ограниченный опыт.
Вместо того чтобы работать над новыми проектами, часть команды или
вся она работает над расширениями.
В работе над расширениями приходится сталкиваться с теми же проб-
лемами, что и в работе над основной игрой.
Аудитория для расширения гораздо меньше, чем для новой игры. Ауди-
тория новинки — это потенциально каждый игрок, но аудитория рас-
ширения — это лишь часть тех, кто уже купил игру.
Микротранзакции
При модели микротранзакций игроки сначала покупают игру или полу-
чают ее бесплатно. Затем, уже играя, они могут совершать внутриигровые
42 ГЛАВА 1 ИГРЫ И ИГРОКИ: ОПРЕДЕЛЕНИЯ
Плюсы
Потенциальный постоянный источник дохода от игроков.
Игры могут изначально продаваться по низкой цене или даже быть бес-
платными, что значительно расширяет потенциальный рынок игроков.
Игроки могут специально адаптировать покупки под свой вкус.
Минусы
В состязательной игре покупки могут восприниматься как «читерство»4.
Показ рекламы
При показе рекламы игроки платят за игру меньшую сумму или вообще
не платят, а разработчик на этом зарабатывает.
Плюсы
Игра может быть недорогой или бесплатной для игроков, что потенци-
ально увеличивает размер аудитории.
4
Только если покупаемые ценности дают преимущество в соревновательной ча-
сти игры (более мощное оружие, элементы экипировки, влияющие на характери-
стики, более сильные герои и т. п.). Декоративные украшения (скины) не влияют
на исход соревнования и, соответственно, не воспринимаются игроками как «чи-
терство». — Прим. науч. ред.
ПОЛУЧАЕМАЯ ОТ ИГРОКОВ ОТДАЧА (ЦЕННОСТЬ) 43
Минусы
Реклама вырывает игрока из процесса. Часто разработчик почти или
совсем не контролирует показываемую рекламу, которая может проти-
воречить замыслу игры или даже принадлежать конкурентам.
Доход от рекламы, как правило, довольно низок в пересчете на одного
игрока. Для оплаты команды разработчиков нужно, чтобы рекламу по-
смотрело большое количество игроков.
С включением рекламы в игру бывают технические трудности, хотя со-
временные игровые движки и платформы значительно уменьшили их.
аудиторию, но если игра будет спамить в соцсетях, то и реакция бу-
дет соответствующая. Если игра постоянно просит игроков поделиться
своими результатами и приглашениями, то о ней действительно узнает
больше народа, но пользователей это, скорее всего, будет раздражать.
Конкурсы популярности. Конкурсы вроде «Игра года» и прочие пулы
с голосованием в интернете хорошо известны. Если небольшая игра
с мотивированной аудиторией выиграет или хотя бы займет ведущее
место в одном из таких чартов, то, по сути, она бесплатно получит хо-
рошую рекламу. Но это довольно сложный метод повышения отдачи,
и его трудно спланировать для новой игры. Такой вариант более орга-
ничен для уже представленной на рынке игры.
Рейтинговые сайты. На многих сайтах представлены рейтинговые
списки новых игр на основе оценок игроков. Проекты с высокими оцен-
ками, как правило, привлекают больше новичков. Некоторые неболь-
шие игры вырвались вперед и стали популярными только благодаря
постоянно растущему числу высоких оценок на рейтинговых сайтах.
Может показаться, что попадание в список игр с высоким рейтингом —
это очевидная цель для каждой игры, но на самом деле это не так. Созда-
ние игры, которая постоянно получает высокие рейтинговые оценки,
часто обходится дороже, чем создание игры, которая получает просто
хорошие оценки. Или, иными словами, чем больше вы вложили усилий
и денег в разработку, тем меньше отдача от рейтинговых оценок.
Создание контента. Иногда игра может позволять создавать внутри
себя контент, и порой игроки могут сделать нечто гораздо большее, чем
команда разработчиков. Такая модель, как правило, порождает энту-
зиастов и преданных игроков. Конечно, при разработке игры, которую
можно будет модифицировать, бывает много трудностей. Они могут
оказаться сложнее, чем ожидает разработка.
Взаимодействие игроков. ММО и другие многопользовательские
игры хороши только тогда, когда в них играют люди. Для адекватного
подбора игроков в некоторых многопользовательских играх требуется
много активных пользователей. Таким образом игрок повышает цен-
ность игры, просто находясь в ней и увеличивая «пул игроков».
Рыночные показатели. Популярные игры с большим количеством за-
грузок или активных пользователей привлекают повышенное внимание.
Поэтому некоторые команды готовы пойти на финансовые потери, что-
бы привлечь к игре побольше игроков. Один из самых простых способов
добиться успеха при продаже любого продукта — уже быть популярным.
ОБЩИЙ ПРОФИЛЬ АУДИТОРИИ 45
Шахматы
Профиль целевой аудитории шахмат.
Galaga
Профиль целевой аудитории аркадной игры Galaga.
Mario Kart
Профиль целевой аудитории игры Mario Kart.
Bejeweled
В этом последнем примере я дал игроку имя и описание личности, что-
бы проиллюстрировать, как с помощью таких простых изменений мож-
но «очеловечить» целевую аудиторию и лучше представить себе типично-
го игрока, на которого вы ориентируетесь при разработке своей игры. Вы
и сами можете добавить несколько дополнительных черт для своей ауди-
тории. Это необязательно, но такие детали безусловно помогут визуали-
зировать образ игрока.
Ниже профиль целевой аудитории игры Bejeweled.
Дальнейшие шаги
После завершения этой главы рекомендуется некоторое время попракти-
коваться на реальных примерах и попробовать использовать рассмотрен-
ные здесь концепции. Для лучшего усвоения определения игр и игроков
попробуйте выполнить следующие упражнения.
РОЛИ В ИГРОВОЙ
ИНДУСТРИИ
Идейный вдохновитель
В каждой команде разработчиков игр есть человек, который в конечном
счете отвечает за концепцию игры. Это человек, ответственный за замы-
сел игры. Он либо сам придумал ее идею, либо эту идею ему предложи-
ли, либо его назначили ответственным за нее. Этот человек следит за тем,
чтобы игра соответствовала своей основной концепции. Эту роль часто
выполняет владелец компании, генеральный директор, исполнитель-
ный директор, продюсер, креативный директор или директор 5. Идей-
ный вдохновитель разрешает споры о направлении, в котором должна
идти разработка, и о том, что именно представляет собой игра. Идейный
5
Также эту роль часто выполняет главный гейм-дизайнер или гейм-директор. —
Прим. науч. ред.
ОСНОВНАЯ КОМАНДА УПРАВЛЕНИЯ 53
Ведущий инженер-программист
Если речь идет о видеоиграх, то, скорее всего, вторым специалистом,
присоединившимся к идейному вдохновителю, будет ведущий инже-
нер-программист. Работа ведущего инженера заключается в том, что-
бы определить технические параметры игры. Будет ли она создаваться
на стороннем движке, на движке, который компания уже использовала,
или на совершенно новом? Каков объем работ, необходимых для воплоще-
ния задуманного? Кого из инженеров-программистов привлечь для разра-
ботки этого проекта? Это лишь несколько из тысяч вопросов, с которыми
сталкивается ведущий инженер-программист при создании игры.
Ведущий художник
Когда у игры имеется своя концепция и когда заложены основы для ее тех-
нического воплощения, команде необходимо приступить к созданию внеш-
него вида игры. Именно здесь на помощь приходит ведущий художник.
Этот сотрудник сталкивается с теми же вопросами, что и ведущий инже-
нер, когда речь идет об определении объема работ, привлечении специа-
листов и графика работ над художественной частью проекта. Кроме того,
ведущий художник задает тон всему художественному оформлению игры.
54 ГЛАВА 2 РОЛИ В ИГРОВОЙ ИНДУСТРИИ
Ведущий гейм-дизайнер
Пусть у игры есть своя концепция, пусть предусмотрены основы для ее
технического воплощения и имеется представление о том, как она будет
выглядеть, но это еще не делает ее собственно игрой. Команде необходим
ведущий гейм-дизайнер, отвечающий за привлечение специалистов гейм-
дизайнеров, определение объема их работ и составление графика их работ.
Кроме того, ведущий гейм-дизайнер отвечает за создание правил и разра-
ботку игрового процесса.
Продюсер
Продюсеры — это координаторы и бизнесмены в творческом мире. Рабо-
та продюсера заключается в том, чтобы убедиться, что игра будет сдела-
на в рамках бюджета, в срок и с нужным персоналом. Продюсеры всегда
работают с ведущими специалистами, начальниками отделов различных
дисциплин и с командой разработчиков в целом; они следят за тем, чтобы
весь коллектив работал как единая команда.
Ведущий саунд-дизайнер
За все звуковое сопровождение часто отвечает один человек. Если в не-
большой игре может работать один звукорежиссер, то в крупной может
быть целая команда специалистов по звуку во главе с ведущим звуковым
дизайнером.
Команды специалистов
Специалисты в отдельных командах (отделах) выполняют более конкретные
роли, чем основная группа управления, и занимаются более практической
работой. В большинстве случаев каждый руководитель отдела (ведущий спе-
циалист своей команды) также подчиняется члену основной группы управле-
ния. В следующих разделах вкратце рассматриваются дисциплины, не отно-
сящиеся к собственно дизайну. В конце концов, это книга о дизайне.
Художники
К ним относятся специалисты по анимации, художественному оформле-
нию персонажей, окружения, концепции (2D-оформлению), интерфейса
и технические художники.
КОМАНДЫ СПЕЦИАЛИСТОВ 55
Анимация
Аниматоры приводят игру в движение и оживляют статичные объекты.
Они начинают с создания статической полигональной сетки («меша») пер-
сонажа и создают на ее основе анимации. Каждое визуальное действие
персонажа — это результат работы аниматора.
Оформление персонажей
Художники по персонажам специализируются на моделях персонажей,
которые в игровой индустрии называются полигональными моделями,
или «мешами». В больших командах, работающих над крупными играми,
бывают настолько нестандартные художники, что их единственная роль
в проекте — создавать модели персонажей, но работы для них всегда пре-
достаточно.
Окружение
Художники по окружению, как следует из названия, отвечают за внешний
вид окружения игры. Объем их работы зависит от потребностей игры.
В некоторых командах художники по окружению работают в тесном кон-
такте с дизайнерами уровней, в других командах они сами оформляют
уровни, а где-то создают отдельные блоки, которые дизайнеры уровней
используют для сборки.
Концепция/2D-оформление
Концепт-художники наиболее тесно связаны с традиционными 2D-оформи-
телями. Их работа может начинаться на ранних этапах цикла разработки.
Они работают над визуализацией концептуальных идей как с художника-
ми, так и с гейм-дизайнерами. Их изображения помогают команде опре-
делиться с направлением работы, а гейм-дизайнеру — выразить общую
идею; также они создают постеры и рекламные материалы для игры.
Интерфейс
Оформители интерфейса специализируются на пользовательском интер-
фейсе, благодаря которому игроки получают более подробную информа-
цию об игре. Они работают над оформлением HUD (части интерфейса,
отображающейся на игровом экране) и интерфейсом пользователя (UI).
Технические художники
Технические художники не просто работают на пересечении сфер ис-
кусства и программирования; они должны быть экспертами и в том
56 ГЛАВА 2 РОЛИ В ИГРОВОЙ ИНДУСТРИИ
Инженеры-программисты
К инженерам-программистам относятся специалисты по инструментам,
геймплею, скриптам, сетям, графике и аудио.
Специалисты по инструментам
Специалисты по инструментам работают не над самой игрой, а занимают-
ся созданием инструментов, которыми пользуются другие специалисты.
В последние годы все больше движков создается независимыми сторон-
ними компаниями, что уменьшает потребность в специалистах по инстру-
ментам в командах разработчиков.
Специалисты по геймплею
Специалисты по геймплею в основном следят за работоспособностью
игры. Они работают в тесном сотрудничестве с системными и другими
гейм-дизайнерами над реализацией функций, необходимых для вопло-
щения игры в жизнь.
Специалисты по скриптам
Специалисты по скриптам используют внутренний скриптовый язык,
работая над деталями и особенными чертами игры. Иногда их относят
к команде инженеров-программистов, а иногда — к команде гейм-дизай-
неров, но в любом случае они выполняют практически одну и ту же работу.
Сетевые специалисты
Сетевые специалисты занимаются соединением компьютеров между со-
бой и с серверами. Это чрезвычайно сложная роль, требующая специаль-
ной подготовки.
Специалисты по графике
Как следует из названия, специалисты по графике занимаются про-
граммированием визуальной составляющей игры — например, прида-
ют более реалистичный вид воде, создают захватывающие панорамы,
ГЕЙМ-ДИЗАЙН 57
Специалисты по аудио
Аудиоинженеры занимаются программированием всего звукового сопро-
вождения в игре.
Производство
Производственные роли немного отличаются от всего рассмотренного
в этой главе. Под общим термином «производство» подразумеваются са-
мые разные роли, включая ассистента продюсера, заместителя продюсера
и помощников по производству. В производственных коллективах суще-
ствует множество различных должностей с различными обязанностями,
и, словно чтобы еще больше запутать ситуацию, разные студии использу-
ют разные названия. Тем не менее специалисты по производству делятся
на три категории: менеджеры, координаторы и ассистенты.
Менеджеры
Менеджеры отвечают за деньги и часто за персонал.
Координаторы
Координаторы участвуют в повседневной работе команды. Они часто про-
водят собрания, следят за выполнением задач и проверяют игру на ошиб-
ки. Также они поддерживают взаимодействие между членами команды.
Ассистенты
Ассистенты — сотрудники самого низкого уровня, они выполняют боль-
шую часть повседневной работы, освобождая сотрудников старшего уровня
для более важных задач. Обычно должность ассистента — самая начальная,
позволяющая получить отличное представление о том, как создаются игры.
Гейм-дизайн
В гейм-дизайне существует множество субдисциплин, такие как: дизайне-
ры уровней, системные гейм-дизайнеры, гейм-дизайнеры-балансировщи-
ки, специалисты по скриптам и технические гейм-дизайнеры.
58 ГЛАВА 2 РОЛИ В ИГРОВОЙ ИНДУСТРИИ
Дизайнеры уровней
Дизайнеры уровней создают виртуальное физическое пространство, по ко-
торому перемещаются игроки. В разных командах они могут либо разра-
батывать общую схему перемещения по уровню, либо компоновать уже
существующие объекты окружающей среды, либо же набрасывать с по-
мощью геометрических примитивов грубые очертания мира. Дизайнеры
уровней также часто занимаются разработкой скриптов и головоломок
для своих уровней. Они могут даже внести свой вклад в отдельные сюжет-
ные элементы. В больших играх с открытым миром дизайнера уровней мо-
гут называть «дизайнером сценария».
Системные гейм-дизайнеры
Игровая система — это, по сути, набор правил, по которым ведется игра.
Любую игру именно игрой делают ее правила. Системные гейм-дизай-
неры имеют дело как раз с этими правилами 6. В их обязанности входит
разработка правил игры, организация этих правил таким образом, что-
бы все было совместимо друг с другом, и объяснение этих правил игроку.
В простой старой игре, скорее всего, имеется очень простая система, объ-
яснить которую можно примерно на одной странице или около того. Со-
временные игры часто содержат тысячи объектов данных и десятки тысяч
строк компьютерного кода, которые и выполняют функцию правил игры.
Убедиться, что вся эта информация организована логично, и проследить
за тем, чтобы игроки смогли ее понять, и есть основная задача системного
гейм-дизайнера. Он продумывает ИИ (искусственный интеллект), оружие,
транспортные средства и прочие объекты, которые будут использовать-
ся в игре. Системные гейм-дизайнеры решают, какие атрибуты присвоить
различным объектам и как все системы в игре будут взаимодействовать
друг с другом.
Гейм-дизайнеры данных
Наполняют игровой мир персонажами, предметами, оружием, транспорт-
ными средствами и любыми другими объектами. В то время как систем-
ные гейм-дизайнеры решают, какими атрибутами будет обладать каждый
объект, разработчики данных определяют значение каждого из этих атри-
бутов.
6
В русскоязычном пространстве позиция «гейм-дизайнер» автоматически означа-
ет, что он является дизайнером игровых систем (system designer). — Прим. науч.
ред.
САУНД-ДИЗАЙН 59
Специалисты по скриптам
Как уже упоминалось ранее в этой главе, специалисты по скриптам исполь-
зуют внутренний язык сценариев, чтобы придать игре внешний лоск и де-
тализацию. Иногда они относятся к команде инженеров-программистов,
иногда — к команде гейм-дизайнеров, но в любом случае они выполняют
практически одну и ту же работу.
Технические гейм-дизайнеры
В настоящее время в игровой индустрии термин технический гейм-дизай-
нер используется в двух смыслах.
Он может быть исполнителем, разрабатывающим скрипты или зани-
мающимся программированием, но при этом не составляющим большую
часть документации и не занимающимся высокоуровневым творческим
дизайном. Возможно, это младший специалист, получающий указания
от старшего гейм-дизайнера.
Технический гейм-дизайнер может быть связующим звеном между
командой инженеров и гейм-дизайнеров, разрабатывающим инструмен-
ты или системы и использующим их для облегчения жизни других. При
этом он почти никогда не будет младшим гейм-дизайнером, для такой ра-
боты необходимы серьезные навыки и большой опыт.
Саунд-дизайн
Команда саунд-дизайнеров, или звукорежиссеров, отвечает за то, что-
бы игра звучала потрясающе. Несмотря на кажущуюся простоту, работа
эта одна из самых сложных в индустрии. Саунд-дизайнерам часто при-
ходится ждать, пока большая часть проекта будет близка к завершению,
и только тогда они приступают к своим задачам. Им приходится учиты-
вать каждый звуковой бит, на который может обратить внимание игрок,
а это зачастую очень много. Также они часто создают саундтреки и до-
бавляют динамичную музыку, отражающую действия игрока. Специа-
листы в этой области должны обладать очень хорошими техническими
навыками, требующими обучения. Звукорежиссеры должны иметь опыт
работы со звуковыми эффектами и музыкой, и, кроме того, они, как пра-
вило, гораздо более технически подкованы, чем музыканты в привычном
понимании.
60 ГЛАВА 2 РОЛИ В ИГРОВОЙ ИНДУСТРИИ
Нарративный дизайнер
Нарративный (повествовательный) дизайнер, которого иногда называют
сценаристом, отвечает за подачу сюжета игры. Обычно в студии немного
нарративных дизайнеров, и очень часто эту роль выполняют специалисты
из команды старших гейм-дизайнеров или продакшна. У нарративных ди-
зайнеров есть подготовка в области творческого и технического письма,
а также опыт в игровом дизайне.
Дополнительные роли
В игровой индустрии еще много других специалистов, от кадровиков
до сценаристов и сотрудников IT-поддержки, работающих на заднем плане
и обеспечивающих рабочие процессы. Эти сотрудники могут не привле-
кать такого уж большого внимания прессы, и часто они не «светят лицами»
ДАЛЬНЕЙШИЕ ШАГИ 61
на игровых конвенциях, но они ничуть не менее важны, чем те, кого назы-
вают «создателями игры».
Дальнейшие шаги
После завершения этой главы рекомендуется рассмотреть реальные при-
меры и соотнести их с показанными здесь концепциями. Для получения
более четкого представления о ролях в игровой индустрии попробуйте вы-
полнить упражнения.
Пример 1
Изначальный вопрос: «Достаточно ли увлекателен третий уровень?»
Пример 2
Изначальный вопрос: «Достаточно ли трудна битва с этим боссом?»
Пример 1
Если в игре в нарды на обеих костях выпадает одинаковое количество оч-
ков, то ходы игрока удваиваются. Допустим, вы хотите узнать вероятность
удвоения ходов игрока. Для количественной оценки такого исхода можно
воспользоваться вопросом: «Какова процентная вероятность выпадения
одинаковых очков на двух шестигранных костях?»
Пример 2
Допустим, в вашей игре есть оружие, стреляющее лазерным лучом
на 100 метров и не теряющее способности наносить урон на всем этом рас-
стоянии. Кроме этого, есть еще одно оружие, стреляющее пулями на рас-
стояние до 60 метров. Пули наносят больше урона, чем лазер, но их урон
уменьшается с каждым метром. Чтобы получить количественные резуль-
таты, можно задать вопрос: «Каким оружием лучше воспользоваться для
нанесения максимального урона на расстоянии 40 метров?» Опять же, от-
вет на него не потребует игрового тестирования, и найти его можно будет
непосредственно в электронной таблице.
70 ГЛАВА 3 КАК ЗАДАВАТЬ ВОПРОСЫ
примечание
Методы ответов на вопросы, подобные заданным в этих примерах,
обсуждаются в главе 15. На начальной стадии разработки важнее
научиться задавать нужные вопросы, чем сразу находить на них
ответы.
сможет поведать вам историю о том, как ведущий инженер нагрубил ему
в ответ на, казалось бы, безобидный вопрос.
Органичные и хорошо написанные вопросы с большей вероятностью
обратят на себя внимание нужного человека, который предоставит вам
нужные ответы. Плохо сформулированные вопросы снижают вероятность
получения ответа, как и вероятность того, что их воспримут всерьез; ско-
рее всего, вас с ними развернут или не дадут конструктивного ответа. Это
не значит, что вы должны держать вопросы при себе. Спрашивать, когда
вам нужна помощь, крайне важно. Когда вам понадобится помощь, удели-
те время на составление грамотного вопроса, и тогда у вас будет больше
шансов получить необходимую информацию.
подсказка
Никогда не называйте то, что пошло не так, «все» или «что-то».
Спасибо,
[Имя]
[Должность, название команды/отдела]
[Контактные данные]
КАК ОБРАЩАТЬСЯ ЗА ПОМОЩЬЮ В РЕШЕНИИ ПРОБЛЕМЫ 75
Спасибо,
[Имя]
[Должность, название команды/отдела]
[Контактные данные]
Дальнейшие шаги
После завершения этой главы рекомендуется некоторое время попракти-
коваться на реальных примерах и попробовать использовать рассмотрен-
ные здесь концепции. Постарайтесь сформулировать несколько вопросов.
ИНСТРУМЕНТЫ
СИСТЕМНОГО ДИЗАЙНА
Правило/атрибут Данные
Здоровье 100
Оружие Меч
Сила 50
Объем топлива 20
Тип двигателя Бензиновый
Живой Истина
Цвет глаз Зеленый
Количество бросков кости 2
Обратите внимание на то, что некоторые данные в таблице 4.1 чис-
ловые, другие бинарные (двоичные), а третьи — текстовые. Независимо
от своего типа все данные из этой таблицы каким-то образом используют-
ся согласно правилам игры. Но сами по себе данные не содержат никаких
правил.
ИНСТРУМЕНТЫ ИГРОВОЙ ИНДУСТРИИ 79
Инструменты документации
Текстовые процессоры — одни из самых старых и наиболее используемых
компьютерных инструментов; разработчики игр пользуются ими постоян-
но, в основном для создания и поддерживания документации. Как правило,
для каждой особенности, концепции, каждого уровня или игрового персо-
нажа, каждой системы делается заявка. После того как ее предлагают, она
обсуждается, уточняется и документируется. Такое обсуждение и наброс-
ки дизайна можно быстро сделать в текстовом процессоре, не боясь внести
в игру какие-то ошибки. Все концепции или большинство их разработчи-
ки описывают в «гейм-дизайн-документации игры» (Game Design Document,
GDD (ГДД)). Это может быть как простой документ с перечислением ключе-
вых идей, так и огромнейший монстр на сотни страниц. В некоторых круп-
ных командах есть даже специальный разработчик, единственная обязан-
ность которого — составлять и поддерживать гейм-дизайн-документ игры.
Примеры популярных программ для документации: Microsoft Word,
Google Docs (иллюстрация 4.1) и Apache OpenOffice Writer.
Инструменты 3D-моделирования
В трехмерной видеоигре пользователь видит трехмерные объекты и взаи-
модействует с ними. Для создания таких объектов художники и дизайне-
ры используют инструменты 3D-моделирования. Их интерфейс позволяет
создавать трехмерные объекты и манипулировать ими в смоделирован-
ном 3D-пространстве. Обычно у инструмента есть несколько видов каме-
ры, позволяющих рассматривать объект с нескольких точек зрения од-
новременно. Эти инструменты также имеют элементы управления для
редактирования 3D-объектов: растягивания, вырезания, скручивания,
изменения размера, разделения и присоединения 3D-фигур. Большин-
ство этих функций имеют очень специфические названия в инструментах
3D-моделирования, поэтому гейм-дизайнерам пригодится знание жарго-
на этих инструментов.
Вариант Вариант
Узел
блок-схемы
Вариант
Вариант
Вариант
Базы данных
База данных хранит большие объемы данных, которые можно извлечь
и использовать в дальнейшем. Простой игре, возможно, база данных
и не нужна, но для очень большого проекта количество хранимых данных
бывает огромным, и хранить их в движке или в скрипте бывает тяжело.
Гейм-дизайнеры должны уметь пользоваться базами данных, поскольку
именно они часто управляют данными игры. Они обычно используют-
ся для хранения данных об оружии, броне, транспортных средствах, бо-
нусах используемых игроком предметов, персонажах ИИ и других типах
врагов. База данных объектов служит центральным хранилищем игровых
объектов, и благодаря им поддерживается согласованность во всей игре.
Представьте, как трудно было бы разбирать все сценарии, написанные для
MMO, в поисках отдельных предметов и персонажей. Хорошая аналогия
базы данных — картотека. Можно открыть картотеку, найти нужный объ-
ект, а затем либо сослаться на него для использования в игре, либо внести
в «карточку» изменения, которые повлияют на всю игру.
Система управления предоставляет инструменты для фактического до-
ступа ко всем данным в базе данных. Чтобы понять разницу между ба-
зой данных и системой управления базами данных, представьте, как хра-
нится ваша музыкальная коллекция. У вас на жестком диске могут быть
сотни или тысячи песен различных групп и жанров. В данном случае ваш
жесткий диск похож на базу данных, где хранится вся музыкальная ин-
формация, включая сами песни. Для того чтобы найти какую-то инфор-
мацию, можно просто просматривать папки файлов Windows, но это будет
очень медленно и неэффективно, и, скорее всего, часть важной информа-
ции вы пропустите. Вместо этого можно воспользоваться приложением
для воспроизведения музыки, которое, по сути, является специализиро-
ванной системой управления базой данных. В таком приложении музыку
84 ГЛАВА 4 ИНСТРУМЕНТЫ СИСТЕМНОГО ДИЗАЙНА
Игровые движки
Игровой движок — это то, на чем собирается вся игра. При создании лю-
бой игры часто возникают проблемы, одинаковые независимо от конкрет-
ного проекта. Например, везде нужно делать рендеринг графики на экране,
ДАЛЬНЕЙШИЕ ШАГИ 85
Дальнейшие шаги
После завершения этой главы рекомендуется некоторое время попрак-
тиковаться на реальных примерах и попробовать использовать рассмо-
тренные здесь концепции. Для получения более четкого представления
об используемых в гейм-дизайне инструментах попробуйте выполнить
следующие упражнения.
ОСНОВЫ ЭЛЕКТРОННЫХ
ТАБЛИЦ
Несмотря на то что VisiCalc была выпущена в 1979 году, в ней легко за-
метить все основные компоненты, присутствующие в современных элек-
тронных таблицах. Со временем в программы электронных таблиц до-
бавили много новых функций, но даже у созданной в конце 1990-х годов
90 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ
примечание
В этой главе рассматриваются электронные таблицы с точки зрения
дизайна игровых систем. В других книгах и в Интернете есть много
замечательных ресурсов, в которых более подробно рассматрива-
ются электронные таблицы для других дисциплин.
Ячейки
Наименьшая единица хранения данных (контейнер данных) в электрон-
ной таблице называется ячейкой. Когда вы впервые открываете электрон-
ную таблицу и смотрите на сетку, вы видите серию ячеек. Ячейка — это
основа, на которой построены все электронные таблицы. Ячейки могут
хранить данные, извлекать данные, вычислять данные или выполнять бо-
лее сложные функции. Они также могут взаимодействовать друг с другом
для выполнения еще более сложных задач. Каждая отдельная ячейка мо-
жет содержать множество различных типов информации. В следующих
разделах рассматриваются наиболее распространенные характеристики
и свойства ячеек.
Адрес ячейки
В электронных таблицах для организации ячеек и для обращения к от-
дельным из них применяются адреса ячеек. Каждая ячейка, даже пустая,
имеет адрес, который нельзя удалить или изменить. Адрес ячейки основан
92 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ
Значение ячейки
Если выделить любую ячейку в электронной таблице, то в ней появится
мигающий курсор. Когда в ячейке мигает курсор, можно вводить в нее
практически все, что угодно. В ней можно хранить текст, числа и многие
другие формы данных. Например, если ввести в ячейку слово HELLO, а за-
тем нажать Enter, ее значение станет HELLO. Можно, например, хранить
список элементов, вводя в каждую из нескольких ячеек разные элементы
для создания списка.
Значением могут быть данные любого типа; конкретно же это то, что
отображается в ячейке после нажатия клавиши Enter. Важно иметь в виду,
что то, что вводится в ячейку, и то, что отображается в ней, может быть
разным. То, что отображается в ячейке, всегда называется значением.
ЯЧЕЙКИ ЭЛЕКТРОННЫХ ТАБЛИЦ: СТРОИТЕЛЬНЫЕ КИРПИЧИКИ ДАННЫХ 93
Формула ячейки
Если значение ячейки можно рассматривать как существительное, то фор-
мула ячейки больше похожа на глагол. Формула ячейки — это формула рас-
чета, которую вводят в электронную таблицу, когда хотят, чтобы электрон-
ная таблица вычислила ответ (который она отобразит в виде значения).
Строка формул
Непосредственно над сеткой столбцов и строк электронной таблицы нахо-
дится строка формул. Ее можно узнать по характерному символу ƒx, назы-
ваемым символом функции (иллюстрация 5.4). Строка формул показыва-
ет, что происходит внутри ячейки, независимо от того, что отображается
в ячейке. Вводить информацию можно как непосредственно в ячейку, так
и в строку формул.
Знак равенства
Электронные таблицы могут выполнять в ячейках как простые, так
и сложные вычисления. Чтобы сообщить электронной таблице, что вы со-
бираетесь ввести формулу, а не просто ввести значение данных, нужен
специальный код. В данном случае кодовым символом является = (знак
равенства). В электронной таблице знак равенства означает не то, что он
означает в обычной математике, где используется для записи формулы.
В электронной таблице это специальный символ, означающий «сделать
что-то». Используя знак равенства в электронной таблице, вы как будто
говорите: «Я хочу, чтобы значение этой ячейки было равно результату фор-
мулы, которую я сейчас введу».
94 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ
примечание
Иногда в одну ячейку можно включить несколько формул или функ-
ций, но знак равенства необходим только в качестве первого символа
в ней. Не нужно вводить знак равенства перед несколькими формулами
и функциями в одной ячейке. Начало ячейки со знаком = — это как
щелчок выключателя, дающий электронной таблице понять, что она
должна выполнять активную задачу, а не хранить пассивные данные.
Скобки
Скобки в электронных таблицах действуют примерно так же, как в мате-
матической нотации, но здесь у них больше возможностей. В самом про-
стом смысле скобки указывают на порядок действий. Любые вычисления
внутри отдельных открытых и закрытых скобок выполняются до того, как
будут выполнены вне скобок. На иллюстрации 5.9 показаны формулы
в ячейках A1 и B1, которые одинаковы, за исключением того, что форму-
ла в B1 включает в себя круглые скобки. Эти круглые скобки заставляют
96 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ
примечание
По умолчанию электронные таблицы отображают в ячейках только
результат, а формула отображается в строке формул.
Кавычки
Кавычки в электронной таблице, как и во многих языках программирова-
ния, обозначают текст. Все, что находится внутри кавычек, электронная
таблица воспринимает как нефункциональное и нечисловое. Например,
на иллюстрации 5.11 ячейка начинается со знака равенства, как и поло-
жено, но вычисление заключено в кавычки, поэтому электронная табли-
ца возвращает значение в виде текста (то есть «1+1») вместо вычисленного
значения (то есть «2»).
ЯЧЕЙКИ ЭЛЕКТРОННЫХ ТАБЛИЦ: СТРОИТЕЛЬНЫЕ КИРПИЧИКИ ДАННЫХ 97
+: сложение;
*: умножение;
/: деление;
-: вычитание;
^: возведение в степень.
Амперсанд
Амперсанд (символ &) представляет собой операцию под названием «кон-
катенация», то есть, по сути, «склеивание» текста. С помощью конкатена-
ции и кавычек электронная таблица может объединить несколько различ-
ных фрагментов текста и чисел и создать из них целую фразу. Например,
98 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ
Столбцы и строки
Строки и столбцы — это следующий уровень группировки в электронной
таблице после ячеек. Строка содержит ряд ячеек, расположенных горизон-
тально по всему листу, а столбец — ряд ячеек, расположенных по листу
вертикально. И столбцы, и строки используются для организации данных.
Можно получить доступ к отдельным ячейкам в столбце или строке и от-
редактировать их, а можно выбрать весь столбец или строку и выполнить
групповое редактирование. В примере, показанном на иллюстрации 5.15,
пользователь щелкнул на заголовке строки с меткой 2 и тем самым вы-
брал сразу всю строку 2. Строки всегда обозначаются числами, начиная
с 1, и располагаются горизонтально. Столбцы всегда помечаются буква-
ми, начиная с буквы A, и располагаются вертикально. Чтобы запомнить
это, можно представить себе вертикальные «столбы» и строчки текста,
как в книге. (По-английски они называются columns, то есть «колонны»,
и rows, то есть ряды).
Листы
Следующая по величине группировка после столбцов и строк — это лист
(называемый также «рабочим листом»). Он содержит ряд строк и столб-
цов в виде сетки. Когда говорят о работе в электронной таблице, обычно
имеется в виду именно лист. Однако бывает полезно использовать сразу
несколько листов. При создании все листы одинаковы; каждый всегда со-
держит один и тот же ряд пронумерованных столбцов и пронумерованных
строк. Как говорилось в предыдущем разделе, можно выделить сразу весь
100 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ
столбец или сразу всю строку, щелкнув мышью по заголовку этого столбца
или этой строки. Чтобы выделить сразу все ячейки на всем листе, можно
воспользоваться кнопкой «Выделить все», которая находится в верхнем ле-
вом углу, между заголовком столбца А и заголовком строки 1 (иллюстра-
ция 5.16). Нажав кнопку «Выделить все», вы выделите все ячейки листа
и сможете выполнять операции со всеми ячейками одновременно.
Рабочие книги
Когда вы открываете программу электронных таблиц и загружаете то, что
большинство людей называют «электронной таблицей», на самом деле вы
открываете «рабочую книгу». Под рабочей книгой также подразумевает-
ся отдельный файл электронной таблицы, находящийся на вашем жест-
ком диске или в облаке (например, в Google Sheets, то есть в «Таблицах
Google»). Это напоминание о тех временах, когда люди вручную записы-
вали цифры на листах бумаги и скрепляли их в тетрадь или книгу. И это
хорошая аналогия для того, чтобы понять принцип работы в электронных
таблицах. Конечно, можно создать несколько разных файлов по отдельно-
му листу в каждом, но у объединения листов в рабочую книгу есть два пре-
имущества.
Слева от всех листов находится кнопка, на которой изображено не-
сколько горизонтальных линий. Это список всех листов. В очень больших
рабочих книгах этот символ удобен, потому что иногда бывает так, что ли-
стов больше, чем программа может отобразить за один раз, а по нажатию
этой кнопки можно получить быстрый доступ ко всем листам без необхо-
димости их пролистывания.
Далее слева от нижней вкладки находится кнопка +, при нажатии
на которую добавляется новый лист. Когда вы нажмете на нее, откроется
новый рабочий лист, и на его вкладке отобразится его имя по умолчанию;
на иллюстрации 5.18 показано, что был добавлен новый лист под названи-
ем Sheet2 («Лист2»). Теперь можно выбирать нужный из листов щелчком
мыши по соответствующей вкладке.
примечание
Учтите, что, когда открыта рабочая книга, все данные на каждом
листе рабочей книги тоже открыты и находятся в памяти.
102 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ
= Monsters!
Скрытие данных
Часто возникает ситуация, при которой на листе или в рабочей книге нуж-
но хранить какую-то информацию, которая не должна отображаться для
пользователей. Например, согласно распространенной практике, некото-
рые промежуточные формулы сложных операций указываются в отдель-
ных ячейках. Эти промежуточные шаги важны, но они необязательно
должны все время быть на виду. В таких случаях можно воспользоваться
встроенной функцией скрытия данных. Скрывать можно строки, столб-
цы или целые листы. Чтобы скрыть строку или столбец, выделите щелч-
ком левой клавиши мыши заголовок нужного столбца или нужной строки,
а затем щелкните правой кнопкой и выберите пункт «Скрыть». Когда стол-
бец или строка скрыты, они больше не отображаются на листе, но к ним
по-прежнему можно получить доступ с помощью формул или функций.
В примере на иллюстрации 5.23 сила монстров была скрыта, но выделен-
ная ячейка ссылается на скрытую и показывает результат.
или строки. Это означает, что столбец или строка остаются видимыми не-
зависимо от того, какие другие части листа видны. Например, чтобы за-
крепить строку, нужно выделить ее, выбрать на панели инструментов
вкладку «Вид», выбрать пункт меню «Закрепить», а затем выбрать «1 стро-
ку». В меню «Закрепить» есть несколько опций: можно закрепить верхнюю
строку, первый столбец и многое другое. В нашем примере видно, что за-
крепленная верхняя строка с заголовками столбцов делает данные более
читаемыми (иллюстрация 5.25).
Комментарии и примечания
Ячейки, содержащие данные, формулы или функции, сами по себе малоин-
формативны. Именно поэтому часто требуется дополнительно добавлять
заголовки для строк или столбцов, объясняющие, какие данные к чему от-
носятся. В некоторых случаях даже возникает потребность указать боль-
ше информации, чем можно разместить в заголовках столбцов или строк.
Иногда информацию можно добавить в соседнюю ячейку, но часто это бы-
вает невозможно, или же в ячейке появляется больше информации, чем
108 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ
она может отобразить. Кроме того, если вы не совсем уверены в том, как
работают ссылки, текст, добавленный в ячейки общей электронной табли-
цы, может нарушить функции и формулы. Для решения всех этих проблем
современные электронные таблицы предлагают две полезные опции: ком-
ментарии и заметки. Они работают схожим образом, но имеют несколь-
ко отличий, позволяющих выбирать лучший вариант в зависимости от об-
стоятельств.
примечание
И в комментариях, и в заметках введенная информация недоступна
другим ячейкам в формулах или функциях. Она добавляется «поверх»
электронной таблицы, а не как активное содержимое внутри листа.
Комментарии
Комментарий — это временный «призыв к действию» в электронной таб-
лице. Чтобы добавить комментарий, выберите ячейку, которую вы хотите
прокомментировать, щелкните правой кнопкой мыши и выберите пункт
«Комментарий» (находящийся в нижней части контекстного меню). Рядом
с указанной ячейкой появится диалоговое окно с именем пользователя,
добавляющего комментарий, маленькой иконкой пользователя, взятой
из его профиля, текстовым полем для добавления комментария, а также
кнопками «Добавить» (Comment) и «Отмена» (Cancel) (иллюстрация 5.26).
После того как комментарий будет введен, нужно нажать кнопку «Доба-
вить» (Comment в английской версии), чтобы зафиксировать его на листе.
После этого на листе появятся несколько индикаторов. Например, обратите
внимание, что ячейка A2 с комментарием на иллюстрации 5.27 теперь име-
ет маленький оранжевый треугольник в правом верхнем углу. Это указа-
ние на то, что к этой ячейке добавлен комментарий, который пользователь
110 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ
Примечания
Если комментарии — это временный призыв к действию, то примечания
предназначены для предоставления дополнительной информации на дол-
гий срок. В отличие от комментариев, примечания не указывают, кто их
добавил, не отсылают пользователям электронные письма и не позво-
ляют вести диалог. Они также не отмечаются уведомлениями на вклад-
ках листа. Примечания работают подобно текстовым файлам блокнота
(Notepad), которые вставляются в ячейки. Примечание отображается чер-
ным треугольничком в правом верхнем углу ячейки (иллюстрация 5.29).
Обычно с помощью примечаний поясняют содержимое ячейки, чтобы
не загромож дать при этом лист.
На иллюстрации 5.29 в отдельной ячейке стоит цифра 7, и нет никаких
намеков, что она значит. Это может сбить с толку любого, кто откроет этот
ОПЕРАЦИИ С РАБОЧИМИ ЛИСТАМИ 111
рабочий лист, включая через некоторое время даже того, кто его создавал.
И это отличный пример, зачем нужны примечания: в нем можно объяс-
нить, откуда взялась эта семерка и что она означает.
примечание
Переменные типа «ожидаемый результат» не рекомендуется поме-
щать на тот же лист, что и данные, но в данном примере это сделано
для удобства отображения.
знак $ как перед адресом строки, так и перед адресом столбца. В дан-
ном примере адрес B11 в формуле обновляться не должен, поэтому ука-
жем в формуле ссылку на эту ячейку как $B$11. На иллюстрации 5.37
показана формула с правильным использованием относительных и аб-
солютных ссылок.
Фильтры
Помимо имеющихся столбцов, строк, листов и рабочих книг, электронные
таблицы позволяют создавать свои подборки ячеек с помощью фильтров.
Чтобы воспользоваться фильтром, сначала нужно ввести какие-то данные,
как обсуждалось ранее в этой главе. Продолжим рассматривать пример
с результатами трех игр для нескольких игроков (иллюстрация 5.39).
Проверка данных
По умолчанию пользователи могут вводить в любую ячейку электронной
таблицы любые данные. Это удобно при создании новых рабочих книг
с огромным количеством вариантов, но как только рабочая книга уже со-
здана и вы имеете представление о том, какие данные вам понадобятся
в конкретной ячейке, возможность вводить что угодно может стать поме-
хой. Если в листе есть формулы или функции, которые должны выполнять
математические уравнения со значениями в ячейках, на которые ссылают-
ся, то крайне важно, чтобы ячейки содержали правильную информацию.
Например, вы хотите узнать общее количество братьев и сестер у какой-то
122 ГЛАВА 5 ОСНОВЫ ЭЛЕКТРОННЫХ ТАБЛИЦ
2
Три
Брат
Единственный ребенок
Салли и Дейв
Мои родители собираются еще завести детей
2, но есть приемный брат
Диапазон ячеек (Cell range). Это список ячеек, которые вы хотите огра-
ничить. Обратите внимание, что на иллюстрации 5.47 диапазон ячеек
указан как Siblings!B2:B8. Это ссылка на диапазон ячеек. В ней не пере-
числяется каждая ячейка по отдельности, а использовано двоеточие (:),
показывающее, что в список включен целый диапазон ячеек между пер-
вой указанной ячейкой B2 и последней B8. Такой метод определения
диапазона доступен для всех операций в электронных таблицах.
Правила (Criteria). По умолчанию для параметра «Правила» установ-
лено значение «Значение из диапазона» (List from a range), как показа-
но на иллюстрации 5.47. В данном случае нам нужны числа, поэтому
нужно изменить этот параметр. Чтобы изменить способ ограниче-
ния ячейки, нажмите «Правила» и выберите метод, который вы хоти-
те использовать, например «Число» (Number). Как показано на иллю-
страции 5.48, при выборе метода «Число» появляется больше опций.
ПРОВЕРКА ДАННЫХ 125
Проверка времени
Проверка данных работает не только для чисел, но и для многих других
форм информации. В частности, иногда проблемы возникают с датами.
Формат времени остается проблематичным еще с тех пор, как использо-
вать даты пытались первые компьютеры. Привычные нам обозначения
времени не совпадают с тем, как его вычисляют компьютеры. Кроме того,
в разных регионах и организациях используется много разных форматов
дат и времени. Например, полночь 1 января 2000 года можно записать лю-
бым из следующих способов (а всего их больше):
2000/1/1 12am
00/01/01 midnight
1,1,2000 12
1-2000-1 0:00
Проверка списком
Проверка списком — это отличный инструмент для ограничения пользо-
вательского ввода, а также для ускорения работы гейм-дизайнера данных.
При такой проверке в ячейке создается выпадающий список, который за-
полняется любыми элементами. Можно ввести список элементов вручную
или сослаться на диапазон данных.
Именованные диапазоны
Именованный диапазон — это набор ячеек, имеющий заданное пользовате-
лем имя ссылки. Именованные диапазоны не требуются для настройки ли-
ста, но это мощный инструмент, облегчающий доступ к сохраненным дан-
ным или значениям. Именованный диапазон может быть как просто одной
ячейкой, так и включать несколько ячеек или строк, или и то и другое. Име-
нованным диапазоном можно сделать выделение любого размера на листе.
Технически они необязательны, но помогают упростить ссылки на су-
ществующие данные. Это можно увидеть на примере списка монстров
из предыдущей части этой главы. Если бы вы захотели использовать про-
верку данных с помощью выпадающего списка, заполненного всеми воз-
можными монстрами, то можно было бы выбрать пункт «Данные», «На-
строить именованные диапазоны», а потом открыть диалоговое окно
проверки данных и выбрать диапазон, как показано на иллюстрации 5.50.
примечание
После того как имя диапазона и сам диапазон определены, можно
нажать кнопку «Готово» (Done) и создать его. После этого в любой
момент можно вернуться и переименовать или переопределить
диапазон, обратившись к интерфейсу диапазона с тем же именем
из пункта меню «Данные».
После того как диапазону присвоено имя, можно использовать имя диа-
пазона везде, где нужно будет получить доступ к данным в этом диапазоне.
Так, в примере с использованием проверки данных для создания списка
из названий монстров вместо ссылки Monsters!A:A можно просто указать
именованный диапазон MonsterNames (иллюстрация 5.53).
Дальнейшие шаги
После завершения этой главы рекомендуется рассмотреть реальные примеры
и соотнести их с рассмотренными здесь концепциями. Для лучшего освоения
электронных таблиц попробуйте выполнить следующие упражнения.
ФУНКЦИИ ЭЛЕКТРОННЫХ
ТАБЛИЦ
Группировка аргументов
В отличие от людей, компьютерные программы не знают английский
на интуитивном уровне, поэтому писать функции и вводить данные нуж-
но в формате, который компьютер сможет понять без всяких двусмыслен-
ностей. Например, рассмотрим фразу на английском языке Pesto butter
toast. Означает ли эта фраза «песто, масло и тост»? Или она означает «масло
песто» и тост? Или это означает «песто и тост с маслом»? Или она означает
тост, который был покрыт масляной смесью, настоянной на песто? Носи-
тели английского языка могут догадаться по контексту и по порядку слов,
но компьютеры так не умеют. Человек может многое понять по интонации
или по визуальным подсказкам, видя что-то перед собой. Для компьюте-
ра необходимо подробно описать, что имеется в виду. При вводе данных
в функцию каждый фрагмент данных называется аргументом, а для разде-
ления нескольких аргументов используются запятые. Группировка аргу-
ментов имеет очень важное значение для компьютера. Например, можно
написать pesto butter toast несколькими разными способами, чтобы пере-
дать именно то, что вы хотите задать электронной таблице. Вот несколько
способов разбивки этих слов для компьютера с соответствующими интер-
претациями:
Структура функций
Функции по своему поведению очень похожи на приборы и механизмы
в реальном мире. В некий прибор поступают какие-то объекты, прибор
выполняет заданную операцию над объектами, а затем прибор возвраща-
ет объекты в измененном виде. Чтобы лучше понять, как работают функ-
ции, воспользуемся аналогией с приборами в реальном мире.
Рассмотрим, например, блендер, который представляет собой при-
бор для смешивания продуктов. Вы как пользователь можете поместить
в блендер самые разнообразные продукты, после чего блендер сделает
свою работу и вернет вам новый продукт. Представьте, что блендер — это
СТРУКТУРА ФУНКЦИЙ 135
7
В русском варианте Google Sheets используются английские названия функций,
но в качестве разделителя аргументов вместо запятой используется точка с запя-
той. В программе Microsoft Excel в русской локализации используются также рус-
ские названия функций, например «СУММ» вместо SUM или «СЧЁТЕСЛИ» вместо
COUNTIF. — Прим. пер.
БОЛЕЕ СЛОЖНЫЕ ФУНКЦИИ 139
Теперь, когда у вас есть этот список, нужно написать функцию, которая
будет просматривать список и подсчитывать ячейки, в которых люди отме-
тились, записав в них «Здесь». Диапазон функции — все ячейки в столбце
B, начиная с B2 и заканчивая B10. В этом диапазоне функция должна най-
ти слово «Здесь» и подсчитать, сколько раз оно встречается. После выпол-
нения функции электронная таблица выглядит так, как показано на ил-
люстрации 6.11.
Важно отметить, что в функции COUNTIF порядок аргументов должен
быть точным, а аргументы должны содержать правильную информацию.
Аргумент 1 должен содержать диапазон, а аргумент 2 — условие провер-
ки. Если порядок аргументов будет обратным, функция не будет работать.
Если в аргументе 1 содержится что-либо, кроме диапазона, функция тоже
не будет работать.
Файлы справки неоценимы при изучении новых функций. В современ-
ных электронных таблицах есть как небольшой файл справки с кратким
описанием, так и более подробный ее файл для каждой функции. Обратив-
шись к нему, вы сможете узнать, какие аргументы и в каком порядке не-
обходимы для функции, а также узнать, какие типы данных допускаются
в каждой функции.
ФУНКЦИИ ДЛЯ ГЕЙМ-ДИЗАЙНЕРОВ 141
примечание
Для получения общей информации о том, как работают эти функции,
обратитесь к файлам справки используемой вами программы элек-
тронных таблиц. В дальнейших разделах эти функции описываются
с точки зрения дизайна игровых систем.
142 ГЛАВА 6 ФУНКЦИИ ЭЛЕКТРОННЫХ ТАБЛИЦ
SUM (СУММ)
SUM — одна из самых простых и полезных функций для разработчика ди-
зайна систем. Как уже упоминалось ранее в этой главе, она складывает все,
что ей предоставляют в качестве аргументов: числа, диапазон содержащих
числа ячеек или и то и другое. На иллюстрации 6.12 показано, как функ-
ция SUM используется для подсчета суммы показателей атрибута STR (со-
кращение от Strength, то есть «сила») в списке монстров.
AVERAGE (СРЗНАЧ)
MEDIAN (МЕДИАНА)
Функция MEDIAN служит хорошим дополнением к функции AVERAGE
и средством проверки ее результатов. Медиана — это число, находящееся
в середине некоего набора данных. В зависимости от распределения дан-
ных она может принимать то же значение, что и среднее. Но если в наборе
данных имеются экстремальные выбросы, среднее значение будет замет-
но отличаться от медианы. Увидев разницу, следует изучить данные по-
дробнее. Например, на иллюстрации 6.14 медиана оказалась ниже сред-
него значения. Как видно, MEDIAN можно использовать в тех же местах,
что и AVERAGE, для одних и тех же данных для получения более глубокого
представления о них.
MODE (МОДА)
Функция MODE бывает как полезной, так и бесполезной в зависимости
от набора данных. «Мода» — это просто наиболее часто встречающееся
значение в некоем наборе данных. Если данные очень детализированы
и имеют большой разброс, никакой особо полезной информации функция
144 ГЛАВА 6 ФУНКЦИИ ЭЛЕКТРОННЫХ ТАБЛИЦ
MODE не предоставит. Однако если в наборе данных есть много повто-
рений, с ее помощью можно выявить тенденции. Пример на иллюстра-
ции 6.15 мультимодален, то есть «кандидатов» на моду несколько, и элек-
тронная таблица возвращает самого первого кандидата.
RANK (РАНГ)
Функция RANK показывает порядок элементов в наборе данных, то есть
присваивает им порядковый номер. На иллюстрации 6.17, например, вид-
но, что вместе с этим она показывает одинаковый ранг для одинаковых
значений, но пропускает порядковые номера каждого элемента после пер-
вого с этим рангом. Например, видно, что второе место по силе заняли
сразу два персонажа, но третий ранг не присвоен никому. По умолчанию
функция RANK распределяет элементы от больших к меньшим, но ее мож-
но обратить для поиска элементов от меньших к большим.
LEN (ДЛСТР)
Функция LEN подсчитывает количество символов в ячейке. Может по-
казаться, что эта функция редко используется разработчиками систем,
но на самом деле она применяется довольно часто. При разработке игр
надписи пользовательского интерфейса для игрока, диалог для персона-
жей, инструкции и прочие фрагменты текста должны помещаться в опре-
деленном пространстве. Чтобы убедиться, что написанный текст поме-
стится, и при этом не проверять каждую строчку игры по отдельности,
разработчики часто заносят его весь в электронную таблицу. Затем с по-
мощью функции LEN они проводят быструю первоначальную проверку
и убеждаются в том, что текст не слишком длинный. В примере, показан-
ном на иллюстрации 6.19, проверяется на длину историческая цитата, ко-
торую должен произнести один из персонажей игры.
IF (ЕСЛИ)
IF — очень мощная и хорошо адаптируемая функция. Она оценивает логи-
ческое выражение, которое, по сути, представляет собой некое утверждение,
ФУНКЦИИ ДЛЯ ГЕЙМ-ДИЗАЙНЕРОВ 147
COUNTIF (СЧЁТЕСЛИ)
Функция COUNTIF, как следует из ее названия, сочетает в себе возможно-
сти функций IF и COUNT, с которыми вы уже познакомились. С помощью
COUNTIF можно применить условие к счетчику и посмотреть, сколько эле-
ментов в списке соответствует этому условию. В примере на иллюстра-
ции 6.21 функция COUNTIF используется для того, чтобы узнать, сколько
персонажей в списке имеют значение STR больше 3.
VLOOKUP (ВПР)
VLOOKUP — несколько более сложная функция, чем те, которые были пред-
ставлены до сих пор. VLOOKUP осуществляет динамический поиск дан-
ных в таблице и извлекает из нее элементы для использования. Обычно эту
функцию применяют, когда в очень большой электронной таблице много
данных, но сейчас нужно сосредоточиться только на небольшой их части.
В примере на иллюстрации 6.22 электронная таблица ищет в списке персо-
нажа Barbarian («Варвар») и возвращает найденное значение в столбце STR.
В VLOOKUP первым аргументом служит объект для поиска — это может
быть текст (в кавычках) или ссылка. Второй аргумент — это таблица (диа-
пазон), содержащая все, что вы хотите найти, и все, что вы хотите вернуть.
Третий аргумент — номер столбца выбранного диапазона. В примере на ил-
люстрации 6.22 цель — вернуть значение не первого столбца с именами, а вто-
рого — с показателями силы STR. Последний аргумент необязателен и ука-
зывает, хотите ли вы, чтобы электронная таблица находила приблизительное
значение, ближайшее к поисковому условию, или использовала только точное
совпадение. В данном случае нужно найти только точное совпадение, поэто-
му аргумент имеет значение FALSE, что означает «не искать приблизительно».
FIND (НАЙТИ)
Функция FIND используется для поиска определенного текста в боль-
шом фрагменте текста в ячейке. Она позволяет вычленять ключевую ин-
формацию из больших фрагментов текста. По умолчанию функция FIND
возвращает позицию символа, с которого начинается указанный текст.
ФУНКЦИИ ДЛЯ ГЕЙМ-ДИЗАЙНЕРОВ 149
MID (ПСТР)
Функция MID — своего рода противоположность конкатенации. Как было
сказано в главе 5 «Основы работы с электронными таблицами», с помощью
символа & можно объединить небольшие фрагменты данных для создания
более крупного фрагмента текста. Функция MID же извлекает небольшие
фрагменты данных из большого. В примере на иллюстрации 6.24 функ-
ция MID извлекает все символы до слова spoken, а затем останавливается
за символ до первой буквы в слове spoken. (А еще иллюстрация 6.24 — хо-
роший пример составной функции, в которой в качестве аргумента ис-
пользуется другая функция, в данном случае FIND.)
NOW (ТДАТА)
NOW — немного странная функция, сама по себе не очень полезная. Если
ввести в ячейку электронной таблицы «=now()», она вернет текущее время.
Каждый раз при обновлении ячейки функция снова определяет текущее вре-
мя и отображает новое значение. По сути, она работает как часы, которые об-
новляются только при обновлении листа. Но в компьютере уже есть часы, так
какой же толк от функции NOW? Функция NOW становится гораздо полез-
нее в сочетании со статическим временем. С помощью проверки данных или
150 ГЛАВА 6 ФУНКЦИИ ЭЛЕКТРОННЫХ ТАБЛИЦ
примечание
Чтобы время в электронной таблице легче читалось человеком,
важно выбрать нужный формат времени (как обсуждалось в главе 5);
моменты должны быть отформатированы как время, а расстояние
между моментами — как длительность.
RAND (СЛЧИС)
Функция RAND выдает случайное число от 0 до 1 с очень большим чис-
лом знаков после запятой. Это еще одна странная функция, поскольку она
обновляется каждый раз, когда обновляется электронная таблица, в том
числе при изменении любой ячейки. Как и функция NOW, функция RAND
более полезна, когда результат функции копируется, а затем вставляет-
ся в виде только значения — случайно сгенерированного числа, исполь-
зуемого в дальнейших расчетах. RAND выдает длинное десятичное число,
не очень удобное для случайных чисел в играх, которые, как правило, бы-
вают небольшими, без десятичных знаков. Но функцией RAND можно вос-
пользоваться в формулах для преобразования исходного случайного числа
в нечто более полезное — например, в случайные числа от 1 до 100. На ил-
люстрации 6.26 показан необработанный результат функции RAND. Обра-
тите внимание, что сам по себе он не дает много информации.
ФУНКЦИИ ДЛЯ ГЕЙМ-ДИЗАЙНЕРОВ 151
ROUND (ОКРУГЛ)
Функция ROUND округляет любое заданное число до определенного коли-
чества знаков после запятой. Этой функцией гейм-дизайнерам приходит-
ся пользоваться довольно часто, чтобы сделать длинные десятичные числа
более удобными для игроков или даже для самой команды разработчиков.
На иллюстрации 6.27 показано использование функции ROUND в сочета-
нии с функцией RAND в простой формуле для генерации полезного слу-
чайного числа от 1 до 100.
примечание
Названия (имена) функций в электронных таблицах не чувстви-
тельны к регистру. Таблица поймет их в любом случае, будут они
написаны прописными или строчными буквами, либо и теми и дру-
гими. При обновлении таблицы буквы в названиях функций станут
прописными.
RANDBETWEEN (СЛУЧМЕЖДУ)
Во многих случаях использовать случайное число между 0 и 1 бывает
очень неудобно, даже если его умножают на какое-то другое число, а ре-
зультат округляют, потому что уже известно, что некие случайные чис-
ла должны располагаться в каком-то диапазоне. В таких случаях можно
152 ГЛАВА 6 ФУНКЦИИ ЭЛЕКТРОННЫХ ТАБЛИЦ
Больше о функциях
Хотя в каждой программе электронных таблиц бывает множество (сот-
ни) функций, выше были перечислены те, которые чаще всего используют
в своей работе гейм-дизайнеры. Потратив какое-то время на тщательное
изучение, вы сможете использовать их для выполнения большинства за-
дач для разработки игры.
Чтобы найти еще больше функций, можно нажать на символ функций
(греческая буква «сигма») на панели инструментов (иллюстрация 6.29)
и выбрать пункт «Все» — так отобразится список всех доступных в про-
грамме функций. Пусть вас не смущает их количество. Функций мо-
гут быть сотни, но большинство из них предназначены для некоторых
очень специализированных профессий, и их можно смело игнорировать.
игры вполне может возникнуть такая ситуация, когда вы знаете, что хоти-
те сделать, но не знаете, с помощью какой функции. Это вполне нормаль-
ная проблема, с которой сталкиваются даже профессионалы. Определить,
какую функцию следует использовать, вам помогут следующие шаги.
Дальнейшие шаги
После завершения этой главы рекомендуется некоторое время попракти-
коваться на реальных примерах и попробовать использовать рассмотрен-
ные здесь концепции. Попробуйте выполнить следующие упражнения, за-
одно оттачивая свое мастерство формулировки вопросов.
вряд ли поняли бы, что должен изображать тот или иной объект. Однако,
бросив взгляд сначала на первое, а потом на второе изображение, мы лег-
ко сможем охарактеризовать их как «городскую сцену с людьми на дороге».
На более абстрактной картине наш разум сам дорисовывает мельчайшие
детали, или же мы просто игнорируем их, потому что они не важны для
передачи сути изображения.
Разница между фотографией и абстрактной картиной сродни разнице
между реальной жизнью и игрой. При создании игры мы рассматриваем
жизнь, выхватываем несколько ключевых элементов и представляем их
игрокам таким образом, чтобы у них возникло определенное впечатление
от увиденного, не увязнув при этом в деталях.
Механика игры может быть крайне простой — например, распознавание
шаблонов. Цель игры «крестики-нолики» состоит в том, чтобы составить
в ряд либо три крестика, либо три нолика. У «крестиков-ноликов» очень
простая механика и очень простой набор правил, и потому они не особен-
но интересны для взрослых. Впрочем, привлекательны они отчасти тем, что
мы полностью знаем их правила. Освоить их могут даже маленькие дети.
В отличие от реальной жизни в «крестиках-ноликах» игроков никогда не за-
стают врасплох изменения правил посреди игры или непредсказуемые ре-
зультаты. В реальной жизни непредсказуемые результаты могут иметь даже
простые действия. В «крестиках-ноликах» же никогда не бывает такого, что
мы не можем поставить крестик, потому что он «неожиданно потерялся»,
или мы проигрываем, потому что соперник купил себе право на еще один
ход. Такие хаотичные события происходят в реальном мире независимо
от того, нравится нам это или нет, считаем ли мы их справедливыми или не-
честными, но в рамках игры мы контролируем такие элементы. Мы можем
решать, что честно, а что нет, и обеспечиваем соблюдение правил в игре.
Это придает играм и их правилам некую чистоту, которую никогда не най-
дешь в реальном мире — и именно это привлекает в играх.
Попробуем довести до крайней простоты несколько наблюдений из ре-
ального мира, выделить из них несколько элементов и создать на их осно-
ве известную игру. Если вы когда-нибудь плотно загружали автомобиль
или складывали вещи в кладовку, то, скорее всего, этот процесс вам напо-
минал некую игру. Но дело в том, что в реальности деталей и подробно-
стей гораздо больше, чем в игре. На иллюстрации 7.3 изображен забитый
вещами автомобиль, а на иллюстрации 7.4 — игра, похожая на «Тетрис».
Они имеют очевидное сходство друг с другом, и некоторые базовые меха-
ники в обоих случаях одинаковы.
160 ГЛАВА 7 КАК НА ОСНОВЕ РЕАЛЬНОЙ ЖИЗНИ СОЗДАТЬ СИСТЕМУ
Абстрактный пример
Рассмотрим теперь более сложный набор абстрактных механик, которые
можно было бы переработать и превратить в популярную игру. В качестве
примера рассмотрим методы охоты эпохи палеолита. Эта эпоха длилась
очень долго, и именно тогда развивались многие из наших наиболее глу-
боко укоренившихся инстинктов. В следующих разделах мы обсудим не-
сколько самых больших преимуществ охотников эпохи палеолита.
Метание предметов
Палеолитическим охотникам часто требовалось метко бросать предметы,
например камни. Рассмотрим механику метания предметов. Люди, в от-
личие от других животных, могут точно и быстро бросать предметы, до-
статочно тяжелые, чтобы убить даже крупных животных. Это дало людям
огромное преимущество в охоте в эпоху палеолита. Атакуя одноразовым
162 ГЛАВА 7 КАК НА ОСНОВЕ РЕАЛЬНОЙ ЖИЗНИ СОЗДАТЬ СИСТЕМУ
Палки
Люди палеолита добились преимущества в охоте, научившись пользоваться
палками и другими орудиями. В отличие от любого другого животного, человек
способен сильно взмахнуть палкой и нанести точный и мощный удар. Не беда,
если при этом палка сломается, потому что ее легко заменить. К тому же, поль-
зуясь палкой при нападении на цель, мы держимся на более безопасной дистан-
ции. Дети во всем мире обожают размахивать палками, и это подтверждает, на-
сколько глубоко такое поведение укоренилось в нас как в виде.
Бег
Бегают многие животные, но у людей это получается особенно хорошо.
Мы эволюционно приспособлены к бегу на длинные дистанции, особенно
в жаркую погоду. Люди по своей природе склонны к бегу и воспринимают
его как нечто положительное. Опять же, понаблюдайте за детьми в любой
точке мира и в любом обществе; в той или иной своей форме бег представ-
лен во многих видах спорта. Этой своей особенностью люди пользовались
еще до того, как стали людьми в полном смысле слова.
Командная работа
Наконец, люди в эпоху палеолита начали действовать совместно. Другие
животные тоже работают в группах и делают это достаточно эффективно,
но только люди достигли в этом высокой степени специализации.
Совмещение механик
Рассмотрев все описанные выше абстрактные механики, немного пере-
работав их и объединив, можно на этой базе и, вооружившись знаниями
об охотниках эпохи палеолита, придумать современную игру.
АБСТРАКТНЫЙ ПРИМЕР 163
Дальнейшие шаги
После завершения этой главы рекомендуется некоторое время попракти-
коваться на реальных примерах и попробовать использовать рассмотрен-
ные здесь концепции. Попробуйте выполнить следующие упражнения
на умение абстрагировать системы реального мира.
8
В оригинале автор использует слово buffet. — Прим. пер.
СЕССИЯ МОЗГОВОГО ШТУРМА 169
Механики
Смешивание цветов для соответствия цвету противника. Лазеры?
Пазл странствующего торговца в RPG.
Плохое управление камерой как вызов.
Стекло разбивается непредсказуемым образом, и игрок использует его.
Даем команды собаке с помощью простого набора символов.
Враг получает урон, только если по нему не попадают.
Играть за NPC в чужой игре.
Постановка целей
Для каждой сессии мозгового штурма важно задать какие-то цели. Их нуж-
но записать и показать всем членам группы до начала сессии. Цели долж-
ны быть простые, состоящие из одной фразы, легко понятные, но не огра-
ничивающие процесс творческого мышления. Вот несколько примеров
целей, которые гейм-дизайнеры могут поставить перед собой в ходе моз-
гового штурма.
примечание
Цели не должны содержать такие формулировки, как «решить эту
проблему» или «принять окончательное решение». Такие темы
не относятся к сфере мозгового штурма. Хорошая сессия мозгового
штурма должна преследовать единственную цель — генерировать
идеи, а не реализовывать, критиковать или оценивать их.
Подготовка к сессии
Один из участников мозгового штурма должен быть его модератором. Моз-
говой штурм можно проводить и в одиночку — часто так и поступают —
но гораздо лучше проводить мозговой штурм в группе. Участники сессии
должны быть знакомы с проблемой, но не обязательно экспертами. Но-
вые точки зрения — это всегда очень хорошо. Для группового мозгового
штурма достаточно двух человек, а максимальное количество для полез-
ной сессии — пять человек. Если участников больше, возникают пробле-
мы с коммуникацией и координацией. Если необходимо участие более
пяти человек, лучше проводить отдельные сессии с небольшими группа-
ми, а не одну большую.
СЕССИЯ МОЗГОВОГО ШТУРМА 171
следующей сессии. В конце сессии оставьте некоторое время для сбора за-
меток и планирования дальнейших действий. Если кто-то пытается начать
планирование во время сессии (что бывает очень часто), модератор дол-
жен мягко напомнить ему, что в конце сессии будет время для планиро-
вания.
Первая идея может быть такой: создать игру, похожую на шашки,
но со случайным количеством шагов согласно броску костей. Такой простой
вопрос предлагался бесчисленным сотням потенциальных гейм-дизайне-
ров, и, безусловно, указанное выше решение было самым распространен-
ным. Но во время мозгового штурма, цель которого — новые идеи, не стоит
выбирать самый очевидный ответ. Во время мозгового штурма возникает
искушение ухватиться за первое высказанное кем-то предложение и сосре-
доточиться на нем. Нужно бороться с этим искушением. Модератор в ответ
на каждое предложение должен говорить: «Хорошая идея, продолжайте».
Можно попробовать сделать это прямо сейчас на примере пуговиц и ко-
стей: запишите свою первую идею, а затем придумайте еще десять вариан-
тов. Проследите за тем, чтобы эти десять вариантов полностью отличались
друг от друга. Например, у вас должно быть несколько идей, где пуговицы
СЕССИЯ МОЗГОВОГО ШТУРМА 173
Избегание критики
Цель мозгового штурма — создавать новые идеи, а не исключать их. Как
технические разработчики стремятся производить качественные продук-
ты, так и разработчики игр очень критично относятся к своей деятельно-
сти. На этапе производства, особенно ближе к концу проекта, это хоро-
шо. Но во время мозгового штурма стремление к перфекционизму — это
катастрофа. Критика заставляет людей занять оборонительную позицию,
когда они больше думают о защите какой-то идеи, нежели о выдвижении
новых. Критика также снижает желание участвовать в процессе, а такое
желание — решающий фактор успеха.
Модератору сессии мозгового штурма важно внимательно следить
за критикой и реагировать на нее. Агрессивный настрой также разруши-
телен для творческого процесса, и один из хороших способов ответить
на критику — это сказать: «Да, я вижу, что вы разглядели потенциаль-
ный недостаток, но давайте сосредоточимся на решении». Другие хоро-
шие фразы: «Эта идея может не сработать, но какая может?» и «Ладно, как
можно улучшить эту идею?» Сохраняя позитивный настрой и направляя
на позитив других, модератор способствует тому, что в результате сессии
появится больше неплохих идей.
от темы. Это можно сравнить с тем, как во время прогулки ведут домой
щенков. Модератору хочется, чтобы все они дошли до дома, но он также
дает им возможность поиграть и высвободить энергию. Он может давать
участникам кое-какие послабления, позволять им дурачиться и прикалы-
ваться друг над другом, но должен мягко направлять беседу в нужное рус-
ло. Модератор должен следить за тем, чтобы никто никого не критиковал
и не говорил, что кто-то делает что-то неправильно, а направлять участ-
ников обратно к цели, хотя и здесь следует проявлять мягкость. Заявление
типа: «Давайте уже говорить по существу» звучит слишком категорично.
Вместо этого можно сказать что-то вроде: «Я сейчас услышал несколько
креативных идей. Как их можно связать с нашей целью?»
Плохой штурм
Отличный способ открытия сессии. Обычно людям не нравится предла-
гать плохие идеи, поэтому они не решаются предлагать что-то вообще,
опасаясь, что их идеи сочтут плохими. Для противодействия такому на-
строению воспользуйтесь методом «плохого штурма». Цель его заключа-
ется в том, чтобы каждый участник сессии целенаправленно выдвинул
плохую идею.
Например, вот очень плохая идея для игры на примере пуговиц, ли-
ста в клеточку и костей. Первый из двух игроков засовывает себе в нос
две красные пуговицы, а затем чихает как можно сильнее, попадая обо-
ими предметами на лист бумаги. Затем оба игрока тайно ставят каждый
176 ГЛАВА 8 РАЗРАБОТКА НОВЫХ ИДЕЙ
Шутки
Поощряйте шутки и шуточные идеи. Этот метод — продолжение «плохого
штурма». Если идея сформулирована как шутка, то к ней относятся не так
критически. Для снятия напряжения попросите участников начинать
высказывания с фразы вроде: «У меня есть сумасшедшая идея. Вот она!»
Шуточная идея может и не стать победителем, но она вдохновит на дру-
гие, более серьезные идеи. В профессиональной среде лучшее решение ча-
сто рождается из шутки. Шутки также поддерживают легкое настроение
и способствуют сплочению команды. Если в условиях строгой дисципли-
ны можно поддерживать мастерство и производительность, то веселые
и творческие идеи в такой атмосфере рождаются плохо.
Строительные блоки
Один из лучших методов начать генерировать идеи, особенно для гейм-
дизайнеров, — разбить объекты или концепции на мельчайшие части. Мы
обсудим эту технику подробнее в главе 9 «Атрибуты: как выразить жизнь
на языке цифр», но здесь она упоминается как отличный метод для прове-
дения мозгового штурма. На первом этапе идея разбивается на минималь-
но возможные компоненты. В результате, скорее всего, получится большой
список. На следующем этапе нужно изменить один из этих компонентов
на что-то другое, а затем предположить, что после такого изменения про-
изойдет с системой в целом.
Представьте, например, игрушечную повозку, у которой есть метал-
лическая платформа, четыре колеса, две оси, рукоятка и шарнир для
МЕТОДЫ ПОВЫШЕНИЯ КРЕАТИВНОСТИ 177
рукоятки. Что, если заменить один из этих элементов на что-то другое?
Например, вместо колес снабдим повозку полозьями. Теперь у нас получи-
лись сани. А что, если поменять металлическую платформу на чан с кипя-
щим супом? Теперь у нас не повозка, а мобильный источник пищи в усло-
виях замерзшей тундры. Меняя мельчайшие составные части концепции,
можно кардинально изменить всю концепцию в целом. Опять же, сгенери-
рованные таким образом идеи могут и не стать выигрышными, но мысли-
тельный процесс разложения объекта на составляющие может привести
к прорыву.
Будущее в прошлом
Метод будущего в прошлом лучше всего подходит в том случае, когда име-
ется конкретная проблема, требующая решения. Согласно этому методу
сначала излагают проблему, а затем кто-то предлагает расплывчатое, слу-
чайное или даже намеренно неправильное решение. Метод заключается
не в том, чтобы определить, сработает ли решение, а в том, чтобы предста-
вить, будто вы находитесь в будущем и знаете, что решение действитель-
но сработало. Теперь нужно выяснить, как оно сработало. Люди, как пра-
вило, слишком сильно задумываются о том, будут ли идеи работать, и это
мешает им сосредоточиться на том, каким образом идеи могут работать.
Метод будущего в прошлом особенно силен, и его можно использовать
для решения проблем во многих сферах. Допустим, вы поставили себе це-
лью вырастить свою компанию из стартапа в гараже до процветающей ин-
ди-студии. Один из способов приступить к решению этой задачи — пред-
ставить, что вы оказались в будущем, где работаете в этой процветающей
студии. Как вы пришли к такой ситуации? Подумайте, какие шаги вы мог-
ли предпринять, чтобы пройти путь от настоящего до будущего, в котором
хотите оказаться. Переформулировав вопрос с «Возможно ли это?» на «Как
это станет возможным?», вы, вероятно, кардинально измените свое пред-
ставление о проблеме.
1. Лошадиная сила.
2. Автомобиль на мускульной тяге.
3. Мидии (моллюски, сжимающие мышцами створки).
4. Паста с морепродуктами.
5. Ужин с мамой.
6. Семейная драма.
7. Семейная комедия.
8. Телевидение.
9. Рейтинги.
Метод «на полпути»
Методом «на полпути» можно воспользоваться, когда у вас есть две совер-
шенно разные идеи. Это своего рода противоположность методу итера-
тивных шагов. В данном случае цель заключается не в том, чтобы отойти
как можно дальше от первоначальной точки, а в том, чтобы найти вообра-
жаемую несуществующую точку между двумя известными идеями. Если
в ходе мозгового штурма были сгенерированы идеи, не имеющие между
собой ничего общего, можно рассмотреть сразу пару этих идей и попы-
таться выяснить, что будет на полпути между двумя идеями. Вот несколь-
ко примеров пар идей, с которыми вы можете попрактиковаться:
Метод противоположностей
При использовании метода противоположностей начинают с темы и пы-
таются придумать противоположную этой теме идею. Затем берут новую
идею и придумывают противоположность уже для нее с той оговоркой,
что первый пункт выбирать нельзя. Занятие это непростое, но оно дает
очень интересные результаты. По сути, оно чем-то напоминает перевод
текста (например, с помощью Google Translate) по цепочке с одного языка
на другой и на последующие, а в конце переводят на самый первый язык.
В итоге редко получается то, с чего начиналось; результаты бывают забав-
ными, часто очень разными и интересными.
180 ГЛАВА 8 РАЗРАБОТКА НОВЫХ ИДЕЙ
Случайные связи
Классический метод случайных ассоциаций — еще один способ сдвинуть
мозговой штурм с мертвой точки. Начните с одной из ваших идей или тем,
и добавляйте случайные слова, используя генератор случайных слов или
старый добрый словарь. После перечислите, чем эти идеи похожи и чем
они отличаются. Будьте конкретны. Этот метод не всегда приносит сокро-
вища, но часто дает удивительные результаты.
примечание
Все описанные в этом разделе методы помогут прервать затянув-
шуюся сессию и заставить людей снова думать об идеях. Держите
список этих методов под рукой. Если вы заметите, что сессия зашла
в тупик и ее нужно подтолкнуть, можно воспользоваться одним
из них. Однако важно при этом придерживаться некоторых огра-
ничений. Прежде всего, не следует превращать мозговой штурм
в коллективную игру, предназначенную для того, чтобы развлечься
и убить время, а не генерировать идеи. Если сессия проходит хорошо
и идеи сыплются с самого начала, просто расслабьтесь, при необ-
ходимости мягко направляйте поток и наслаждайтесь. В опытной
команде у модератора, возможно, вообще не будет много работы,
и это замечательно!
Дальнейшие шаги
После завершения этой главы рекомендуется некоторое время попракти-
коваться на реальных примерах и попробовать использовать рассмотрен-
ные здесь концепции. Чтобы получше освоить методы мозгового штурма,
попробуйте выполнить следующие упражнения.
АТРИБУТЫ:
КАК ВЫРАЗИТЬ ЖИЗНЬ
НА ЯЗЫКЕ ЦИФР
Механики и атрибуты
Игровые объекты можно определять с помощью атрибутов и механик.
Проще говоря, механики — это правила, регулирующие использование
объектов, а атрибуты — это значения, влияющие на эти правила. В прак-
тическом смысле, что касается видеоигр, механика требует некоторого
количества программного кода, тогда как атрибуты представлены в виде
значений (данных). В настольной игре механики требуют правил или их
комбинаций, а атрибуты представлены в виде значений.
Рассмотрим простую аналогию, иллюстрирующую взаимосвязь меж-
ду механиками и атрибутами. В игре объекты данных и атрибуты функ-
ционируют как существительные в письменной речи, а механики — как
глаголы. Можно продолжить эту аналогию и сказать, что микросистемы
представляют собой аналог предложений, макросистемы — аналог глав,
а игры — аналог рассказов и книг. Основные строительные блоки всегда
состоят из существительных и глаголов или, в случае с играми, из данных
и механик.
Вспомним шахматы. Можно утверждать, что каждая клетка доски —
это объект. Некоторые правила шахмат определяют порядок расстановки
фигур по клеткам. Кроме того, каждая фигура — тоже объект. Все эти объ-
екты имеют собственные механики и атрибуты.
Король и ферзь в шахматах имеют механику, согласно которой они
во время хода могут двигаться в любом из восьми направлений. Однако
король может передвигаться только на одну клетку, если путь свободен,
а ферзь — на любую клетку от одной до восьми, если путь свободен. Та-
ким образом можно сказать, что атрибут движения короля — это 1, при
том, что механика подразумевает, что клетка должна быть свободной,
а у ферзя атрибут движения — это 8 с той же механикой передвижения.
У короля также есть дополнительные механики, касающиеся шаха и мата,
но ни одна из них не имеет соответствующего атрибута; каждая из них яв-
ляется простой механикой.
Рассмотрим теперь немного более сложный пример: классическую
аркадную игру Galaga. Космический корабль игрока имеет несколько
механик: он может двигаться из стороны в сторону, стрелять снаряда-
ми по вражеским кораблям и получает урон при столкновении с враже-
ским кораблем или снарядом. Космический корабль игрока также име-
ет несколько атрибутов, которые управляют этими механиками, включая
скорость перемещения, скорость стрельбы и очки попадания. Не меняя
СОСТАВЛЕНИЕ СПИСКА АТРИБУТОВ 185
рост возраст
вес процент жира в организме
объем талии сила
размах рук ловкость
размер обуви скорость
размер головного убора интеллект
кровяное давление богатство
частота сердечных сокращений умение танцевать
Исследование атрибутов
После того как будет составлен большой список как основных, так и более
креативных атрибутов, можно перейти к следующему этапу их создания,
а именно к исследованию. Настоятельно рекомендуется делать это после
креативного этапа, потому что в ходе исследования у вас сформируется
какое-то определенное представление о том, какими «должны быть» эти
объекты, основанные на наблюдениях других. Опираться на реальность
неплохо, как и неплохо разбираться в том, что представляют собой описы-
ваемые объекты, но ожидания и сформированное заранее мнение обычно
подавляют творчество. Поэтому заниматься исследованием следует толь-
ко после того, как вы записали все свои творческие идеи.
Для абстрактного объекта «человек» понадобится исследовать две кате-
гории атрибутов: те, что определяют людей в реальном мире, и те, которые
другие люди использовали для определения людей в существующих играх.
телосложение дух
мудрость рукопашный бой
акробатика точность стрельбы
магия лидерство
проницательность скорость передвижения
способность к устрашению способность переносить тяжести
примечание
Банк атрибутов похож на «шведский стол идей», и их можно даже
объединить в одном документе. Но он включает в себя только атри-
буты, а не идеи в целом.
Определение атрибута
Обратите внимание на то, что во всех списках приведенных в этой гла-
ве атрибутов каждый представляет собой одно слово или очень короткую
фразу. При придумывании новых идей это полезно, потому что попытка
точнее определить каждый атрибут на этапе мозгового штурма только за-
медлит процесс и, скорее всего, подавит креативность. Но чтобы сделать
атрибуты полезными, необходимо пойти дальше и дать им более четкое
определение. Как же его определить? Возьмем для примера такой атри-
бут, как «сила». Что такое сила? На первый взгляд вопрос кажется простым.
Глядя на разных людей, часто можно сразу догадаться, что один человек
сильнее другого. Но сфера дизайна игровых механик и атрибутов требует
большей точности. При создании игры нужно также абстрагировать кон-
цепцию, потому что реальный атрибут, скорее всего, будет слишком слож-
ным, чтобы назначить ему какое-то одно значение.
На данный момент, когда пишется эта книга, мировой рекорд по жиму
лежа, установленный Кириллом Сарычевым, составляет 335 килограммов.
Очевидно, что Сарычев очень силен. Мировой рекорд в приседе, установ-
ленный Йонасом Рантаненом, составляет 575 килограммов. Очевидно, что
Рантанен тоже очень силен. Но кто из них сильнее? Сарычев не может при-
седать с таким весом, как Рантанен, а Рантанен не может выжимать как
Сарычев. Не существует какого-то одного простого параметра, который
измеряет силу. Вам нужно решить, что именно будет подразумеваться под
атрибутом «сила» в вашей игре.
Чтобы уточнить определение атрибута «сила» для игры, нужно четко
знать, для чего этот атрибут в ней используется. Допустим, в вашей игре
190 ГЛАВА 9 АТРИБУТЫ: КАК ВЫРАЗИТЬ ЖИЗНЬ НА ЯЗЫКЕ ЦИФР
Группировка атрибутов
Закончив составление списка атрибутов и работу над их определениями,
вы, скорее всего, придете к мысли о том, что многие определения и атри-
буты излишни и не нужны для вашей игры. Следующий шаг в этом про-
цессе — не исключать ненужные атрибуты, а сгруппировать их. Так вы
получите более четкое представление о том, что же на самом деле означа-
ют ваши абстрактные атрибуты. В простой экшен-игре вам, вероятно, за-
хочется иметь немного атрибутов, чтобы игроку было легче понять игру.
Допустим, вы решили использовать только следующие атрибуты:
сила
ловкость
здоровье
скорость
сила
вес для жима лежа дальность удара в футболе
вес для разгибания бицепса рукопашный бой
вес для приседания переноска тяжестей
скорость подачи в бейсболе
ловкость
слух акробатика
острота зрения точность стрельбы
здоровье
кровяное давление функция поджелудочной же-
пульс лезы
уровень кислорода в крови функция почек
кислотность желудка
ГРУППИРОВКА АТРИБУТОВ 193
скорость
время забега на 100 метров
время для марафонской дистанции
темп движения
неиспользованные
рост чувство юмора
вес зловоние
объем талии неуклюжесть
размах рук удача
размер обуви нейроны мозга
размер шапки телосложение
возраст мудрость
процент жира в организме магия
интеллект проницательность
богатство способность к устрашению
магические способности дух
магнетизм личности лидерство
Дальнейшие шаги
После завершения этой главы рекомендуется некоторое время попракти-
коваться на реальных примерах и попробовать использовать рассмотрен-
ные здесь концепции. Чтобы научиться создавать атрибуты для игр, по-
пробуйте выполнить следующие упражнения.
ОРГАНИЗАЦИЯ ДАННЫХ
В ЭЛЕКТРОННЫХ
ТАБЛИЦАХ
Маркировка данных
примечание
Помните, что при необходимости всегда можно скрыть промежуточ-
ные столбцы или строки и показать только окончательный расчет.
Проверяйте данные
По возможности проверяйте данные. Например, если в столбце перечис-
ляются имена персонажей, можно установить проверку данных и сделать
так, чтобы ячейки принимали только текст. Если есть столбец для атрибу-
та силы, то можно сделать так, чтобы он принимал только числа. В идеа-
ле нужно пойти дальше и сделать так, чтобы столбец для силы принимал
только числа в том диапазоне, который вы определили допустимым для
атрибута силы. Если персонажа можно экипировать именным оружием,
то нужно установить ввод значения в ячейку из списка названий оружия.
ИСПОЛЬЗУЙТЕ СТОЛБЦЫ ДЛЯ АТРИБУТОВ И СТРОКИ ДЛЯ ОБЪЕКТОВ 199
Цветовое кодирование
Никакого официального метода или стандарта цветового кодирования
для электронных таблиц в игровой индустрии не существует. Цветовая
кодировка в игровые движки не импортируется, но она поможет вам в ор-
ганизации и визуализации данных. В отсутствие стандарта цветового ко-
дирования вам придется самим придумать правила.
Справочный лист
В большинстве игр во многих различных расчетах используются одни
и те же переменные. Лучший способ хранить эти переменные в рабочей
книге с данными игры — поместить их все на один справочный лист. Спра-
вочный лист (лист справки) — это банк данных, которые планируется ис-
пользовать множество раз на разных листах. На нем же можно хранить
и переменные, необходимые только для одного листа, но которые иначе
загромождали бы рабочий лист.
Справочный лист может содержать следующие данные:
веса атрибутов;
минимальные и максимальные значения атрибутов;
коэффициенты преобразования, например единицы игрового движка
на метр;
РАЗДЕЛЯЙТЕ ОБЪЕКТЫ ДАННЫХ С ПОМОЩЬЮ ЛИСТОВ 205
Вводный лист
Если рабочей книгой будут пользоваться несколько человек (или даже если
ею будете пользоваться только вы, но вы предполагаете, что она станет
сложной), то может понадобиться вводный лист. Это лист в самом начале
рабочей книги, который можно переименовать как «Инструкции», «Нач-
ните здесь» или «Помощь». На этом листе можно указать схему цветовой
кодировки, объяснить, для чего предназначен каждый из последующих
листов, и записать любые инструкции, необходимые для использования 9.
9
Также полезно оставлять инструкции и примечания на столбцах для каждого от-
дельного листа книги, чтобы дать расшифровки аббревиатур и контекстно пояс-
нить пользователям, что это за данные и в чем общий смысл вычислений. Хоро-
шим тоном считается оставлять контакты для связи с автором таблицы, чтобы
в случае чего можно было обратиться к нему с вопросами. — Прим. науч. ред.
206 ГЛАВА 10 ОРГАНИЗАЦИЯ ДАННЫХ В ЭЛЕКТРОННЫХ ТАБЛИЦАХ
примечание
Лист инструкций на иллюстрации 10.8 содержит четкие инструкции
о том, что новые пользователи могут изменить, а что нужно оставить
без изменений. «Поломать» электронную таблицу довольно легко,
поэтому так важно давать новым пользователям четкие инструкции.
РАЗДЕЛЯЙТЕ ОБЪЕКТЫ ДАННЫХ С ПОМОЩЬЮ ЛИСТОВ 207
Листы вывода/визуализации
После создания больших массивов объектов данных вам почти наверняка
захочется проанализировать их с помощью функций и формул или визуа-
лизировать с помощью диаграмм. Как правило, диаграммы лучше созда-
вать на отдельных листах, а не пытаться добавить на один лист с какими-то
данными в разных строках или столбцах.
На иллюстрации 10.9 показан довольно сложный пример вычисления
вероятности исхода боя для игры Blood Bowl, в котором используются атри-
буты персонажей и правила боя. На иллюстрации видно, насколько боль-
шими и громоздкими могут стать диаграммы анализа данных. Наличие
таких таблиц на одном листе с игровыми данными значительно усложняет
использование как данных, так и диаграмм, повышает вероятность ошиб-
ки и нарушения работы электронной таблицы. В главе 15 «Анализ игро-
вых данных» гораздо подробнее говорится о том, как их анализировать.
Пока же главное — отделить данные от анализа.
Лист-свалка
Очень часто при компоновке объектов данных или при работе в электрон-
ных таблицах в целом возникает необходимость выполнить быстрые од-
норазовые вычисления. Для сохранения порядка и организованности
рабочей книги лучше всего помещать беспорядочные и разрозненные
фрагменты в одно место. Для таких фрагментов можно создать отдельный
лист и поместить его на самой крайней вкладке в правом углу. Все, что на-
ходится на этом листе, можно удалять или перезаписывать. Если обнару-
жится, что вам приходится часто пользоваться расчетами с этого листа,
перенесите их на справочный лист или создайте новый, который будет
служить постоянным контейнером для информации.
Дальнейшие шаги
После завершения этой главы рекомендуется некоторое время попракти-
коваться на реальных примерах и попробовать использовать рассмотрен-
ные здесь концепции. Чтобы научиться лучше организовывать данные, по-
пробуйте выполнить следующие упражнения.
АТРИБУТЫ В ЧИСЛАХ
Пример 1
Сила: 150
Рост: 6 (футов)
Скорость: 220
Ловкость: 180
Но такой список выглядит странным, потому что рост в нем обозна-
чен однозначным числом, тогда как все другие атрибуты передаются трех-
значными. Кроме того, в таком случае придется еще и пользоваться про-
стыми или десятичными долями. Вот другой пример списка атрибутов
баскетболиста.
Пример 2
Сила: 150
Рост: 182 (сантиметра)
Скорость: 220
Ловкость: 180
Пример 3
Сила: 50
Рост: 72 (дюйма)
Скорость: 73
Ловкость: 60
ОПРЕДЕЛЕНИЕ ДЕТАЛИЗАЦИИ ЧИСЕЛ 215
Пример 4
Сила: 150
Рост: 165 (игровых единиц)
Скорость: 220
Ловкость: 180
на этом ходу. При выпадении «дубля», то есть двух одинаковых чисел, чис-
ло шагов удваивается. (Так, при выпадении двух шестерок игрок может
переместиться сразу на 24 шага.) Каждый ход с броском костей и пере-
мещением шашки проходит за несколько секунд. Сложение результатов
броска двух костей — это очень простой расчет, не замедляющий темпа
игры. Кроме того, все результаты представляют собой небольшие целые
числа. Результаты связаны и с физическим пространством игры. На доске
отмечены лишь 24 позиции для перемещения шашек, поэтому большее ко-
личество ходов было бы бессмысленным.
Теперь рассмотрим подсчет очков в игре «Пики». В «Пиках» существует
довольно сложная система подсчета очков, согласно которой игроки в на-
чале игры стараются угадать свой счет, а в конце сравнивают свои пред-
положения с реальным результатом. Окончательный счет определяет-
ся согласно некоторой системе; вычисления немного сложны, и игроки
часто пользуются для них бумагой или калькулятором, но это делается
лишь один раз за игру. Числовые показатели также намного больше, чем
в нардах: очки могут исчисляться сотнями или даже превышать тысячу.
Поскольку вычисления происходят только один раз за партию, то это це-
лое значимое событие, создающее некоторое напряжение в конце игры,
но если бы вычисления происходили каждый ход, то игра затянулась бы
надолго.
В ранних и даже многих современных настольных играх и бумажных
ролевых играх для показателей атрибутов продолжают использоваться од-
нозначные и небольшие двузначные числа. Например, персонаж пятой ре-
дакции Dungeons & Dragons мог бы вступить в игру со следующими пока-
зателями атрибутов.
Сила: 10
Ловкость: 13
Телосложение: 14
Мудрость: 19
Харизма: 14
Пример с числами
На иллюстрации 11.2 приведен пример, в котором в каждом столбце пред-
ставлена пара значений: одно для атрибута А и одно для атрибута Б. В каж-
дой паре отношение А к Б одинаковое: 94%. Поскольку у каждой пары
одинаковое соотношение, для компьютера все они будут работать одина-
ково. Но игроки смогут понять некоторые из этих чисел легко, а другие —
с большим трудом. Если игроки будут видеть числа, то следует пользовать-
ся по возможности только двузначными или трехзначными.
Трюк с напряжением
Существует трюк, с помощью которого разработчики систем, манипули-
руя несколькими связанными числами, могут передавать различную сте-
пень напряжения в игре. Основные правила создания напряжения таковы.
Враг наносит 5 очков урона за удар, поэтому после трех ударов у ИП
остается 5 HP, а после четырех ударов — 0 HP.
Враг наносит 6 очков урона за удар, поэтому после трех ударов у ИП
остается 2 HP, а после четырех ударов — 0 HP.
В обоих случаях ИП жив после трех ударов и убит на четвертом, так что
функционально они одинаковы. Но игрок может ощущать их совершенно
по-разному. Почему?
Рассмотрим эти примеры графически, а затем разберем подробнее.
Представьте, что ИП получил три удара. На иллюстрации 11.3 показаны
два варианта индикатора здоровья персонажа в этот момент.
Кукуруза: 5 единиц
Бобы: 10 единиц
Пшеница: 5 единиц
Рис: 10 единиц
ПОИСКИ ПРАВИЛЬНЫХ ЧИСЕЛ 221
Кукуруза: 37 единиц
Бобы: 63 единицы
Пшеница: 58 единиц
Рис: 29 единиц
Дальнейшие шаги
После завершения этой главы рекомендуется некоторое время попракти-
коваться на реальных примерах и попробовать использовать рассмотрен-
ные здесь концепции. Чтобы научиться лучше подбирать нужные значе-
ния игровым данным, попробуйте выполнить следующие упражнения.
224 ГЛАВА 11 АТРИБУТЫ В ЧИСЛАХ
ОСНОВЫ СИСТЕМНОГО
ДИЗАЙНА
Вес атрибутов
В этом разделе говорится о том, как найти вес атрибутов для примера
с гонками из главы 11 «Атрибуты в числах». В таблице 12.1 показано, как
получить общий балл для каждого автомобиля на основе его атрибутов
(см. таблицу 11.1).
Максимальная
Максимальная
Транспортное
Громкость
Громкость
Ускорение
Ускорение
скорость
скорость
средство
сигнала
сигнала
Сумма
Вес 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
Максимальная
Максимальная
Транспортное
Громкость
Громкость
Ускорение
Ускорение
скорость
скорость
средство
сигнала
сигнала
Сумма
Вес 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
Оружие Урон
Кинжал 6
Боевой топор 14
Какой из этих видов оружия наносит больший урон? Без всякого друго-
го контекста ответ достаточно очевиден — боевой топор, но давайте рас-
смотрим ситуацию несколько подробнее. В таблице 12.8 показано, как ча-
сто каждым оружием можно атаковать в течение минуты.
Урон оружия × Атак в минуту = Урон в минуту (Damage Per Minute, DPM)
«Скоростной»: 60/20 = 3
«Толстяк»: 60/30 = 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 показаны различные диапазоны и максимальное коли-
чество догадок, которое потребуется для двоичного поиска.
8 4
16 5
32 6
64 7
128 8
256 9
512 10
1024 11
Именование объектов
При работе даже над относительно несложными играми создается мно-
жество игровых объектов, количество которых исчисляется сотнями,
а то и тысячами. Одно из самых основных требований к любому игровому
240 ГЛАВА 12 ОСНОВЫ СИСТЕМНОГО ДИЗАЙНА
объекту — это наличие у него своего названия. Если у вас нет никаких
стандартных правил, относящихся к именованию объектов, то приду-
мывание сотен или тысяч имен может стать весьма утомительной зада-
чей. Еще более сложной задачей становится поиск какого-то конкретного
ранее созданного объекта, находящегося в общей куче других, и работа
с ним. И еще сложнее найти конкретный объект, созданный кем-то другим
из команды. Попробуйте представить себе, как вы перебираете сотни объ-
ектов со случайными номерами или совершенно нечитаемыми названия-
ми, пытаясь найти тот, над которым вам нужно поработать. Звучит ужас-
но — и это ужасно на самом деле. А теперь представьте, что вы делаете это
десятки раз в день, каждый день, в течение нескольких месяцев или даже
лет. Если у вас нет хорошей системы именования, эта задача становится
трудновыполнимой и значительно замедляет работу над игрой.
«Ну хорошо, — скажете вы. — Мы знаем, в чем проблема, но как ее ре-
шить?» Самое важное здесь — чтобы вся команда пользовалась одной
и той же системой именования. Существуют различные способы имено-
вания объектов, и многие из них работают неплохо. Главное, чтобы все
разработчики из одной команды согласились с какими-то конкретными
правилами.
Рассмотрим систему, ориентированную на гейм-дизайнера, который
обычно чаще всего меняет объекты данных, вынужден быстро находить
нужные ему объекты и поддерживает организацию всей группы объектов.
Чтобы вникнуть в суть системы, поговорим о естественном языке, на ко-
тором разговариваем мы с вами (для автора книги это английский). Есте-
ственный язык по своей природе неоднозначен в описании объектов. Для
примера начнем какое-нибудь предложение…
Мой объект — большой…
До сих пор недостаточно, чтобы понять, о чем речь; под такое определе-
ние попадают миллионы разных вещей. Добавим еще одно слово:
ChaNarwhal
или
Cha_Narwhal
примечание
Почему бы просто не использовать в имени объекта пробел? Мно-
гие игровые движки могут работать с пробелами в именах, но не все.
Пробелы в именах-объектах недопустимы во многих языках про-
граммирования, потому что компилятор интерпретирует пробел,
как указание на новый объект. Поэтому, как правило, следует избе-
гать пробелов в любых именах.
Cha_Narwhal_Big
Cha_Narwhal_Big_Fast
244 ГЛАВА 12 ОСНОВЫ СИСТЕМНОГО ДИЗАЙНА
примечание
Как определить, какие атрибуты более важны? Решать вам, гейм-
дизайнеру. Во многих играх ответ очевиден. Например, в гоночной
игре самый важный атрибут — это, вероятнее всего, скорость. Но все
зависит от конкретных случаев и выбранных принципов. Главное —
принять четкое решение и последовательно придерживаться его.
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
примечание
Хотя о том, чем на самом деле занимаются персонажи этой игры,
не было сказано ни слова, названия уже дают несколько довольно
серьезных подсказок. Они содержат достаточно информации для
приблизительного представления о том, чем теоретически может
быть эта игра. Можно догадаться, что это, скорее всего, не гонки,
потому что скорость здесь не самый важный атрибут. И это не игра-
головоломка с подбором цветов, потому что цвет — наименее важ-
ный из перечисленных атрибутов. Глядя только на имена, можно
предположить, что эта игра про выживание в море или, возможно,
о сражениях. В обоих случаях размер будет очень важен, а ско-
рость — на втором месте.
примечание
Многие программные системы контроля версий обрабатывают
имена итераций автоматически. Например, Perforce отслеживает
несколько итераций объекта с одним и тем же именем с помощью
временных меток.
примечание
Вместе со словом new при именовании итераций также следует избе-
гать слов rework («переделанный»), modified («модифицированный»),
updated («обновленный»), changed («измененный») и любого другого
нечеткого описания.
Cha_Narwhal_Big_Fast_Blue_01
Cha_Narwhal_Big_Fast_Blue_02
Cha_Narwhal_Big_Fast_Blue_03
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 ОСНОВЫ СИСТЕМНОГО ДИЗАЙНА
Специальные метки
Специальные метки используются для временных объектов или файлов
во время тестирования или разработки. В некоторых таких метках исполь-
зуются слова, иллюстрирующие назначение метки.
Deleteme
Вы, вероятно, уже догадались, что означает фраза Delete me («сотри меня»)
и для какого случая она предназначается. Скорее всего, вам очень часто потре-
буется создавать временные игровые объекты и файлы для тестов или для про-
верки разных идей. Было бы неплохо как-то указать на их временный характер,
чтобы они не хранились рядом с нужными объектами и файлами, не занима-
ли место и не вызывали путаницу. Многие гейм-дизайнеры используют для
этого метку deleteme. Например, если вы решили протестировать идею ги-
гантского нарвала для игры про нарвалов, то можно назвать этот объект так:
Cha_Narwhal_Gaint_Fast_Blue_deleteme_a01
Deprecated
Как и метка deleteme, специальная метка deprecated («исключенный, уста-
ревший») также означает именно то, о чем говорит это слово. Но если
deleteme указывает на временный характер объекта или файла, то метка
deprecated указывает на то, что этот файл или объект был заменен новой
версией, а эту можно сохранить — допустим, в качестве резервной копии.
Например, после полного обновления объекта narwhal («нарвал») можно
удалить все другие части его имени и добавить эту метку:
Cha_Narwhal_Deprecated
ФОРМУЛА РУКОПОЖАТИЙ 249
Test
Еще одна специальная метка, которую можно использовать в именах объ-
ектов, означает то же, что и соответствующее слово test («тест»). В отличие
от метки deleteme она не говорит о том, что объект нужно будет удалить.
Увидев метку test в имени объекта, вы понимаете, что объект следует сохра-
нить, но не нужно ссылаться на него как на окончательную версию.
Cha_Narwhal_Test_2020_10_02
Формула рукопожатий
Как только вы начнете создавать игровые объекты, вам понадобится ме-
тод их сравнения. Для очень простых игр с небольшим количеством объек-
тов сделать это просто: берете каждый вариант объекта и сравниваете его
со всеми остальными вариантами. Например, чтобы убедиться в том, что
все персонажи файтинга сбалансированы, можно выставлять их драться
друг против друга. В гоночной игре можно заставить каждую машину со-
ревноваться с другими машинами. В экшен-игре можно сравнить каждый
тип врага под руководством ИИ с другими врагами. Такой метод тестиро-
вания и балансировки «брутфорсом» (перебором всех вариантов) отлично
работает для маленьких игр с небольшим количеством вариаций. Однако
при увеличении количества создаваемых игровых объектов начинаются
проблемы. Полный цикл тестирования и балансировки даже для простой
пары объектов может занять час или больше — и это всего лишь для од-
ного цикла тестирования. При создании полноценной игры часто прихо-
дится проходить десятки циклов тестирования, настройки, балансировки
и перебалансировки.
250 ГЛАВА 12 ОСНОВЫ СИСТЕМНОГО ДИЗАЙНА
Или
42 – 4 = 16 – 4 = 12 уникальных сравнений
(42 – 4)/2 = 6
Понятно, что независимо от того, насколько велико или мало число
объектов, картина каждый раз повторяется. Подставив в формулу новое
число, получаем следующий результат:
Объекты Комбинации
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 ОСНОВЫ СИСТЕМНОГО ДИЗАЙНА
Дальнейшие шаги
После завершения этой главы рекомендуется некоторое время попрак-
тиковаться на реальных примерах и попробовать использовать рассмо-
тренные здесь концепции. Для этого попробуйте выполнить следующие
упражнения.
БАЛАНСИРОВКА
ДИАПАЗОНА, ОПОРНЫЕ
ТОЧКИ ДАННЫХ
И ИЕРАРХИЧЕСКИЙ
ДИЗАЙН
Балансировка диапазона
Многие числа, используемые в качестве значений атрибутов объектов дан-
ных, имеют физические или виртуальные ограничения. Например, ско-
рость обычно измеряется в милях (километрах) в час, а вес в фунтах (или
килограммах) — это широко известные измерения, знакомые любой ауди-
тории. Чтобы игроки легко понимали значения атрибутов в игре, лучше
всего придерживаться таких известных систем измерения, а не ориенти-
роваться на какие-то абстрактные системы.
С другой стороны, ваша собственная шкала, хорошо сочетающая-
ся с вашими системами и электронными таблицами, позволит вам, как
гейм-дизайнеру, быстрее и лучше выполнять вашу работу. Например, при
обозначении веса бойца смешанных боевых искусств (MMA) можно вос-
пользоваться одним из двух вариантов:
или:
Проценты = 50%
Диапазон = 2 (фута)
Max = 8 (футов)
Min = 6 (футов)
Значение = ((8 – 6) × 0,5) + 6
или
Значение = 7 (футов)
Среднеста-
Тренированный Молодой Маленький Тяжело Чемпион тистический
Пожилой спортсмен и здоровый Ленивый ребёнок травмированный мира человек
Среднеста-
Тренированный Молодой Маленький Тяжело Чемпион тистический
Пожилой спортсмен и здоровый Ленивый ребёнок травмированный мира человек
Проценты
28% 86% 79% 32% 1% 10% 99% 50%
Среднеста-
Тренированный Молодой Маленький Тяжело Чемпион тистический
Пожилой спортсмен и здоровый Ленивый ребёнок травмированный мира человек
Проценты
28% 86% 79% 32% 1% 10% 99% 50%
Min = 3, Max = 20
8 18 16 8 3 5 20 12
Среднеста-
Тренированный Молодой Маленький Тяжело Чемпион тистический
Пожилой спортсмен и здоровый Ленивый ребёнок травмированный мира человек
Проценты
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
примечание
В большинстве игр бывает больше одной опорной точки. В фэнтезий-
ных RPG могут быть опорные точки для мечей, щитов, брони, персо-
нажей, магических заклинаний и т. д.
Сила: 50
Ловкость: 50
Интеллект: 50
Но имейте в виду, что это только первый шаг. Может оказаться и так,
что в вашей игре не все атрибуты сбалансированы или интересны. Это
только начало, а не конец.
Сила: 50
Ловкость: 50
Интеллект: 50
Сила: 40
Ловкость: 85
Интеллект: 50
Допустим, что для этой игры вам нужно сделать еще 19 персонажей. Вы
уже прошли процесс, описанный в главе 11 «Атрибуты в числах» и опреде-
лились с прилагательными.
Громила
Сила: 40
Ловкость: 85
Интеллект: 50
ОПОРНЫЕ ТОЧКИ ДАННЫХ 275
Громила
Сила: 90
Ловкость: 73
Интеллект: 20
примечание
С этого момента все важнее становится постоянно сравнивать гро-
милу с опорной точкой.
=COMBIN(20;8)
ОПОРНЫЕ ТОЧКИ ДАННЫХ 277
примечание
В больших командах разработчики вместо тестирования методом
грубого перебора могут использовать автоматическое ИИ-тестиро-
вание или другие алгоритмы.
Иерархический дизайн
Не только в играх, но и в любой сложной системе со множеством настраивае-
мых переменных возникает общая проблема: какую переменную настраи-
вать? Например, если вы работаете над игрой, в которой игровой персонаж
сражается с монстром, и вы пришли к мнению, что монстр слишком труд-
ный, то как сделать его легче в сражении? Исходя из предположения, что
у монстра стандартные боевые атрибуты ролевой игры (RPG), можно сде-
лать так, чтобы монстр наносил меньше урона, реже атаковал или начинал
с меньшим количеством очков здоровья. Или же можно сделать наоборот,
чтобы игровой персонаж наносил больше урона, чаще атаковал или начинал
с большим количеством очков здоровья. Значения всех этих атрибутов мож-
но менять в любых комбинациях. Но что именно следует изменить? И что
оставить прежним? Как говорилось ранее, к моменту балансировки персона-
жей опорная точка данных должна быть зафиксирована и не должна менять-
ся. От чего тогда зависит выбор изменяемого значения для персонажей? От-
вет слегка отличается для каждой игры, но можно воспользоваться методом,
облегчающим принятие решения: методом иерархического дизайна.
В своей основе метод иерархического дизайна очень прост: составить
линейный список элементов игры с самых важных вверху до наименее
важных внизу. Далее, если между собой конфликтуют какие-то две харак-
теристики, следует проверить, на каком месте в списке находится каждая
из них. Изменять следует ту, которая ниже. В случае сомнений начните
с самых глобальных, влияющих на всю игру характеристик в верхней ча-
сти списка и переходите к самым локальным характеристикам в нижней
280 ГЛАВА 13 БАЛАНСИРОВКА ДИАПАЗОНА
Звук
Музыка
Спецэффекты (SFX)
Дальнейшие шаги
После завершения этой главы рекомендуется некоторое время попракти-
коваться на реальных примерах и попробовать использовать рассмотрен-
ные здесь концепции. Чтобы лучше усвоить такие понятия, как «иерар-
хический дизайн» и «балансировка диапазона», выполните следующие
упражнения.
ЭКСПОНЕНЦИАЛЬНЫЙ
РОСТ И УБЫВАЮЩАЯ
ОТДАЧА
В системе с экспоненциальным ростом линейные
шаги подразумевают постоянно растущий объем
ввода или вывода. Хороший пример из реального
мира — соотношение стоимости автомобилей с разной
скоростью. В целом более быстрые автомобили
стоят дороже. Но скорость и стоимость автомобилей
не увеличиваются одинаково. Чтобы приобрести
автомобиль с ненамного большей скоростью,
приходится платить все больше и больше. Каждая
дополнительная миля в час становится все дороже.
Такой тип увеличения называется экспоненциальным
ростом. С другой стороны, максимальная скорость
автомобиля, за который вы платите, становится меньше
в пересчете на доллары. Такое снижение предельного
(дополнительного) приращения производительности
при постепенном увеличении количества одного
фактора производства и неизменных остальных
факторов называется убывающей отдачей. Обе эти
концепции взаимосвязаны и работают вместе.
286 ГЛАВА 14 ЭКСПОНЕНЦИАЛЬНЫЙ РОСТ И УБЫВАЮЩАЯ ОТДАЧА
Линейный рост
Прежде чем описывать экспоненциальный рост, неплохо для сравнения
узнать, что такое линейный рост. Линейный рост означает, что общая сум-
ма просто растет совместно с увеличением какой-то величины. Например,
если после каждого хода в игре вы добавляете 2 очка к общей сумме, то по-
сле 10 ходов у вас будет 20 очков, а после 100 ходов — 200 очков. График
такого роста показан на иллюстрации 14.1.
Экспоненциальный рост
Как уже упоминалось выше, экспоненциальный рост — это рост, степень
которого повышается пропорционально растущей сумме или размеру. Гра-
фик экспоненциального роста показан на иллюстрации 14.2. В играх та-
кой тип роста можно использовать бесчисленным количеством способов,
и каждый из них имеет свои сильные и слабые стороны. Поскольку эта
книга представляет собой лишь введение в дизайн систем, то рассматри-
ваемая здесь формула — отличная для начала; на протяжении всей книги
мы будем называть ee базовой формулой экспоненциального роста. Усвоив
288 ГЛАВА 14 ЭКСПОНЕНЦИАЛЬНЫЙ РОСТ И УБЫВАЮЩАЯ ОТДАЧА
примечание
Чтобы получить максимальную пользу от этой главы, откройте элек-
тронную таблицу и проработайте в ней все описанные примеры.
Экспоненциальный рост
40000,000
30000,000
Рост
20000,000
10000,000
0,000
количество итераций;
начальное значение;
аддитивное значение итерации («рост роста»);
множитель итерации.
ЭКСПОНЕНЦИАЛЬНЫЙ РОСТ 289
примечание
В примере с конкретной игрой можно, например, заменить «ите-
рации» на «уровень игрока», чтобы найти опыт, необходимый для
повышения уровня.
Первым делом нужно решить, сколько всего будет итераций (или «ша-
гов»). Это может быть количество уровней, через которые игрок будет про-
ходить, пока не достигнет максимального развития. Либо это стоимость
различных мечей, которые может купить игрок, или уровни мощности
космических кораблей, или что-то еще, что растет экспоненциально. Ба-
зовая формула экспоненциального роста потому и называется базовой,
что ее можно применять в самых разных областях. Для примера возьмем
100 итераций, чтобы построить достаточно длинную кривую. В вашей соб-
ственной игре вы можете воспользоваться кривой гораздо меньшего или
даже большего размера.
290 ГЛАВА 14 ЭКСПОНЕНЦИАЛЬНЫЙ РОСТ И УБЫВАЮЩАЯ ОТДАЧА
Дальнейшие шаги
После завершения этой главы рекомендуется некоторое время попрак-
тиковаться на реальных примерах и попробовать использовать рассмо-
тренные здесь концепции. Для лучшего усвоения концепции экспоненци-
ального роста попробуйте выполнить следующие упражнения в разных
вариантах.
АНАЛИЗ ИГРОВЫХ
ДАННЫХ
Обзорный анализ
Обзорный анализ предполагает рассмотрение данных на высоком уровне,
обнаружение некоторых тенденций и получение более полной картины
происходящего. Один из стандартных способов высокоуровневого пред-
ставления — нахождение среднего значения. Однако само по себе среднее
значение не дает много информации, и иногда даже может дезинформиро-
вать. Рассмотрим простой пример того, как можно ошибочно истолковать
среднее значение. Каково среднее значение следующего списка?
10
10
10
10
10
10
10
10
10
10
10
999 910
Среднее значение равно 100 000,00. Но помогает ли оно понять, что
происходит в этом списке? Нет. При взгляде на список сразу видно, что
большинство чисел в нем небольшие (10), но последнее огромное и явно
выбивается из общего числа — это так называемый статистический «вы-
брос». Среднее значение, 100 000, слишком мало по сравнению с выбро-
сом и слишком велико по сравнению с основным массивом данных, по-
этому оно не дает никаких полезных намеков о структуре данных. Чтобы
ОБЗОРНЫЙ АНАЛИЗ 305
При взгляде на два этих числа сразу понятно, что с данными происхо-
дит нечто странное. При равномерном и однородном распределении чисел
среднее и медиана находятся довольно близко друг к другу, но в этом при-
мере они отличаются на порядок. Такое различие требует более глубокого
погружения в данные — нужно выяснить, что происходит.
В таблице 15.1 показан случай, с которым вы можете столкнуться при
создании игры. В ней перечислены фантастические существа, каждое
из которых имеет определенный набор атрибутов.
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 показан ряд формул, примененных к данным о персона-
жах ролевой игры.
Эта диаграмма дает еще больше информации о том, как данные рабо-
тают в игре. Похоже, что есть три пика частоты, которые затем снижают-
ся до следующего пика. Это указывает на то, что среди персонажей могут
существовать «классы» по атрибуту STR — возможно, «низкий», «средний»
и «высокий» или «слабый», «средний» и «сильный» — с вариациями в этих
группах. Аналогичный анализ можно применить ко всем атрибутам, что-
бы получить полную картину распределения значений каждого признака
(иллюстрация 15.9).
ГЛУБОКИЙ АНАЛИЗ СЛЕДУЮЩЕГО УРОВНЯ 315
При взгляде на более полную картину можно сделать следующие на-
блюдения.
Сравнительный анализ
В сложных играх с большими списками объектов бывает полезно сосредото-
читься на изолированном сравнении двух объектов. Например, в предыду-
щем примере с персонажами ролевой игры можно одновременно рассмотреть
двух персонажей и сравнить их показатели. Для этого можно с помощью про-
верки данных (как описано в главе 5 «Основы электронных таблиц») создать
выпадающий список всех объектов данных, а затем воспользоваться функци-
ей VLOOKUP (ВПР) для получения значений каждого атрибута двух объектов
данных. Пример сравнения показан на иллюстрации 15.10.
Канарейки
При анализе новых или чужих данных часто возникает одна общая проб-
лема: неизвестно, когда вы допустили ошибку. Если неизвестно, каких
результатов ждать от анализа, то нельзя утверждать наверняка, что по-
лучилось правильно или неправильно. Полностью избавиться от этой
проблемы сложно, но есть инструмент, которым можно воспользоваться
в качестве защиты от нее, — так называемая канарейка (canary). Если ка-
нарейка обнаружит, что с вашими данными что-то не так, то это с какой-то
долей вероятности свидетельствует о более серьезной проблеме.
примечание
Термин «канарейка» возник по аналогии с канарейками, которых
использовали шахтеры для определения пригодности для дыхания
воздуха в некоторых участках шахты.
Дальнейшие шаги
После завершения этой главы рекомендуется некоторое время попракти-
коваться на реальных примерах и попробовать использовать рассмотрен-
ные здесь концепции. Для лучшего усвоения методов анализа данных как
высокоуровневого обзора, так и более детального анализа, попробуйте вы-
полнить следующие упражнения.
МАКРОСИСТЕМЫ
И ВОВЛЕЧЕННОСТЬ
ИГРОКА
Чистый баланс.
Положительная обратная связь.
Отрицательная обратная связь.
Динамическая настройка сложности.
Многоуровневая настройка сложности.
Перекрестная настройка.
Чистый баланс
Игра с чистым балансом «честна» сама по себе, и ее не настраивают специ-
ально для какой-либо из сторон.
примечание
Чистый баланс — древнейшая форма настройки баланса, и она
используется в большинстве спортивных игр, а также в таких ста-
ринных играх, как шахматы и нарды. Вот для чего она подходит
и не подходит.
Подходит для: серьезных соревнований.
Не подходит для: получения удовольствия, доступных игр.
При чистом балансе неважно, что делает каждый из игроков, какую по-
зицию он занимает и насколько хорошо играет в эту игру. Игра проходит
без всяких дополнительных настроек и поправок.
Например, если два игрока играют в шахматы и Игрок 1 выигрывает,
то можно предположить, что Игрок 1 просто играет лучше соперника. Из-
вестно, что в игре нет ничего такого, благодаря чему Игрок 1 мог бы полу-
чить преимущество или, наоборот, что могло бы ему помешать победить12.
12
Несмотря на то что в шахматах силы и расположение фигур обеих сторон дей-
ствительно сбалансированы, в игре существует дисбаланс, связанный с правом
первого хода. Играющий белыми фигурами априори ставит игрока, играющего
черными, в зависимую позицию от своего хода. — Прим. науч. ред.
НАСТРОЙКА СЛОЖНОСТИ МАКРОСИСТЕМ 323
Недостаток здесь в том, что если Игрок 1 играет сильно лучше Игрока 2,
то Игрок 2 никогда не выиграет. Игрок 1 будет выигрывать всегда, и игра
вскоре станет скучной для обеих сторон. Не так уж увлекательно играть
в игру, когда знаешь, что обязательно победишь или проиграешь. Часть
удовольствия состоит как раз в неопределенности исхода, а если исход из-
вестен заранее, то это не так интересно.
Чистый баланс отлично подходит для состязаний, в которых нужно вы-
яснить, кто лучше, например, в спорте. В профессиональном спорте никто
не ожидает, что каждая игра будет напряженным и увлекательным противо-
стоянием отчаянно пытающихся обогнать друг друга сторон; предполагается,
что выигрывает тот, кто лучше умеет играть. С другой стороны, если нужно,
чтобы игра была увлекательной и интересной — а это обычная цель разработ-
чиков коммерческих игр, — то чистый баланс для этого не подходит.
примечание
Положительная обратная связь используется в покере и боулинге.
Вот для чего она подходит и не подходит.
Подходит для: выхода из тупиковой ситуации, когда на протяжении
длительного времени счет игроков примерно равен.
Не подходит для: ситуаций, когда игроку нужно наверстать упу-
щенное и при этом получить удовольствие; не очень серьезных игр.
что всего он может набрать максимум 100 очков (если за каждую сбитую
кеглю присуждать по очку). Но те, кто играет постоянно, повышают мастер-
ство и все чаще сбивают десять кеглей с одной попытки. Если бы максималь-
ный счет был равен 100, игроки часто находились бы рядом друг с другом,
и набирали бы равное количество очков. На профессиональном уровне они
набирали бы по 96–98 очков в каждой игре. Процесс стал бы менее непред-
сказуемым и увлекательным как для игроков, так и для зрителей. Для под-
держания интереса существует правило, согласно которому при выбивании
всех десяти кеглей с первой попытки (это называется «страйком»), фрейм
(заход) оценивается в 10 очков плюс сумма двух следующих фреймов игро-
ка. Так хороший игрок может получить до 30 очков за один фрейм, а мак-
симальный результат может достигать 300 очков. Поскольку один промах
может привести к значительному снижению количества очков, из-за не-
скольких оставшихся кеглей результаты расходятся гораздо сильнее, чем
без такого правила, и игра становится менее предсказуемой.
Другой пример — классическая «Монополия». В «Монополии» чем луч-
ше у игрока результат броска, тем больше недвижимости он может при-
обрести и тем больше денег он может получить; это позволяет ему приоб-
ретать все больше недвижимости и все больше денег. Цикл продолжается
до тех пор, пока один из игроков не одержит неизбежную победу. Если бы
игрокам было сложнее получать деньги и недвижимость, игра продолжа-
лась бы вечно. При том, что игра и так занимает много времени, расшире-
ние процесса, скорее всего, вызвало бы только сильную скуку у игроков.
примечание
Обычно отрицательная обратная связь используется в гонках и пар-
тийных играх. Вот для чего она подходит и не подходит.
Подходит для: несерьезных игр, в которых главное — это веселье.
Не подходит для: серьезных состязательных игр.
видеоигру в боулинг с гандикапом. Как уже было сказано в начале главы, мак-
симальное количество очков, которое может набрать игрок в боулинге, равно
300. Предположим, что два игрока имеют следующие средние показатели:
В этой игре побеждает Игрок 1, пусть даже они оба набрали одинаковый
счет. Это может показаться несправедливым, но гандикап выравнивает
ситуацию; счет игрока соотносится с его средними показателями, а не не-
посредственно со счетом соперника. Система подсчета очков как бы гово-
рит: «Сегодня у Игрока 1, который обычно играет хуже, выдался неплохой
328 ГЛАВА 16 МАКРОСИСТЕМЫ И ВОВЛЕЧЕННОСТЬ ИГРОКА
примечание
ДНС используется в условно-бесплатных мобильных играх и совре-
менных экшен-играх категории ААА. Вот для чего она подходит
и не подходит.
Подходит для: предоставления последовательного опыта для огром-
ного количества игроков.
Не подходит для: предоставления уникального или контролируе-
мого опыта отдельному игроку.
примечание
Разные типы игроков реагируют на ДНС по-разному. Те, кто хочет пока-
зать свое мастерство или получить уникальный опыт, отказываются
от игры, даже если просто заподозрят в ней ДНС. С другой стороны,
есть много геймеров, предпочитающих получать заранее определен-
ный опыт и плавно проходить игру до конца, и таких ДНС привлекает13.
примечание
Вот для чего подходит и не подходит многоуровневая настройка
сложности.
Подходит для: предоставления игрокам возможности сделать соб-
ственный выбор.
Не подходит для: предоставления игрокам последовательного
и контролируемого опыта.
13
К ДНС также нужно относиться с осторожностью в случае, если вы продае-
те игроку усилители за реальные деньги (например, в играх с типом монетиза-
ции Free-to-play). Игрок ожидает, что при приобретении усилителя он увеличит
свою эффективность, допустим, в бою, но система ДНС автоматически подстроит
сложность под полученную новую силу персонажа игрока, что, по сути, обнулит
ценность такого приобретения. Для таких случаев разработчики придумали сис-
тему запоздалой реакции ДНС, при которой сложность плавно нарастает до тре-
буемой новой силы игрока, давая ему возможность некоторое время насладиться
приобретением усилителя. — Прим. науч. ред.
НАСТРОЙКА СЛОЖНОСТИ МАКРОСИСТЕМ 331
Перекрестная настройка
Перекрестная настройка — вид баланса, позволяющий игрокам приме-
нять различные навыки для выполнения одной и той же задачи. Пере-
крестную настройку часто используют в играх жанра «стелс-комбат» или
в ролевых играх (RPG) с разными классами.
примечание
Вот для чего подходит и не подходит перекрестная настройка
сложности.
Подходит для: предоставления игрокам выбора и уникальной
истории.
Не подходит для: балансировки сложности и предоставления после-
довательного опыта.
Дальнейшие шаги
После завершения этой главы рекомендуется некоторое время попракти-
коваться на реальных примерах и попробовать использовать рассмотрен-
ные здесь концепции. Для лучшего усвоения различных методов баланси-
ровки попробуйте выполнить следующие упражнения.
ТОНКАЯ НАСТРОЙКА
БАЛАНСА, ТЕСТИРОВАНИЕ
И РЕШЕНИЕ ПРОБЛЕМ
Баланс
С точки зрения гейм-дизайна баланс — это способ настроить данные так,
чтобы у игроков возникло ощущение контроля над игрой. На протяжении
всей игры постоянно возникают вопросы вроде таких:
Нарушение данных
После проведения широкого спектра тестов, давших более или менее аде-
кватное представление об игре, возникает соблазн остановиться и «зафик-
сировать прибыль». Но не поддавайтесь этому искушению. Вместо этого
продолжайте вносить изменения. Чем больше у вас времени, тем больше
вы должны экспериментировать. Нужно намеренно нарушать границы
сис темы, чтобы посмотреть, что произойдет в том или ином случае. Такие
эксперименты следует проводить отдельно, на копиях игры, а не на ее го-
товом к отправке варианте. На этом важном этапе данные могут меняться
от технически приемлемых до весьма инновационных.
примечание
В игровой индустрии игра на судью возникает всякий раз во время
презентаций предложений («питчей»). Если вам повезло и у вас
появился шанс представить идею своей игры руководителю или
инвестору, то вряд ли вам захочется тратить время на то, чтобы
доказать неоспоримое превосходство вашего проекта; вам, скорее,
захочется показать, что ваша игра — лучшая для реализации, с их
точки зрения. Инвестор имеет полное право быть предвзятым, и он
может выбрать проект, который вам кажется не совсем качествен-
ным, только потому, что он ему больше понравился. В этом нет
ничего плохого. Инвесторы вправе вкладывать свои средства, куда
хотят и во что хотят.
Прототипирование
Один из способов балансировки — прототипирование, то есть создание
небольшого фрагмента игры с конкретной целью получить какое-то по-
лезное для работы знание. Прототипы должны быть как можно более де-
шевыми и быстрыми в изготовлении, и от них сразу же избавляются, как
только те выполнят свою задачу.
БАЛАНС 343
примечание
Не совершайте ошибку, когда вы быстро, «на коленке», собираете
прототип, а затем влюбляетесь в него и хотите сохранить. Созда-
вайте прототип с четким намерением избавиться от него сразу же
после использования.
Прототип «крафта»
Допустим, вы создали систему «крафта» (создания объектов) для игры про
исследование мира. Вместо того чтобы реализовать ее на полноценном иг-
ровом движке, можно собрать часть данных в электронной таблице, а за-
тем оформить правила и действия на физических карточках. Ваш план —
создать временный аналоговый набор правил, имитирующий работу
механик, а затем протестировать систему. При этом вы стараетесь вклю-
чить в свой прототип как можно меньше таких посторонних аспектов, как
механика сбора урожая, графика и элементы пользовательского интер-
фейса. В прототипе вам нужно сосредоточиться только на одном факто-
ре: как накапливать материалы и как обменивать их на готовые предметы.
Во время тестирования прототипа нужно обращать внимание на пред-
меты, которые используются постоянно или не используются вообще. Су-
ществуют ли некие комбинации, которые кажутся очевидным выбором
в большинстве ситуаций? Существуют ли предметы или комбинации, ко-
торые не используются никогда? Наконец, если вы нашли слабое место,
нужно выяснить, с чем связана проблема — с игровыми данными или с са-
мим прототипом. Помните о том, что в прототип не всегда можно легко пе-
ренести все данные, поэтому не может быть стопроцентной уверенности
в том, что все, что есть в прототипе, будет работать точно так же и в гото-
вой игре.
344 ГЛАВА 17 ТОНКАЯ НАСТРОЙКА БАЛАНСА, ТЕСТИРОВАНИЕ И РЕШЕНИЕ ПРОБЛЕМ
Прототип прыжков
Теперь предположим, что вы собираетесь создать классический платфор-
мер. Вместо того чтобы создавать уровни для всей игры, можно в стандарт-
ном движке (например, Unity или Unreal) сделать пустой уровень с одним
лишь полом, без врагов, без бонусов и без целей и провести тестирование
в нем. Такой тест называется прокси-тестом, потому что в этом случае ис-
пользуется не настоящий игровой движок, а стандартный или «прокси» (то
есть «заменяющий»). Для этого подойдет любой движок или любая систе-
ма, которую можно модифицировать в достаточной степени, чтобы полу-
чить нужную информацию. Существует много игровых движков, которые
БАЛАНС 345
Прототип макросистем
Допустим, вы планируете создать крупномасштабную военную игру, в ко-
торой игроки в небольших локациях будут вести сражения, влияющие
на большую стратегическую карту. Вам нужно определить, как работать
с информацией о сражениях на большой карте. В этом случае можно вос-
пользоваться сочетанием аналогового и прокси-прототипирования. Для
небольших сражений можно выбрать уже существующую игру, пример-
но соответствующую той, что вы хотите создать (даже если она подходит
не идеально). Затем вы разыгрываете сражения в этой игре и переноси-
те результаты на полностью аналоговую карту из бумаги. Таким образом
часть тестирования проводится в другой игре, а часть на большом листе
бумаги.
346 ГЛАВА 17 ТОНКАЯ НАСТРОЙКА БАЛАНСА, ТЕСТИРОВАНИЕ И РЕШЕНИЕ ПРОБЛЕМ
примечание
Получать как можно быстрее результаты тестов и переходить к новым
итерациям позволит любое сочетание прокси, аналоговых и других
методов прототипирования. Некоторые команды разработчиков для
быстрого создания сценариев и тестирования игровых механик исполь-
зуют даже игрушечные фигурки, резинки и миниатюрные модели.
Фаза прототипа — лучшее время в жизненном цикле разработки игры,
когда можно проявить творчество и смекалку. Прототип также дает воз-
можность гейм-дизайнерам и балансировщикам чем-то заняться, пока
создается основной движок, и они не сидят сложа руки в ожидании.
Помните, что первая итерация будет самой неудачной, поэтому
стоит как можно быстрее избавиться от нее и перейти к следующей.
Игровое тестирование
Игровое тестирование — это в большей степени тестирование, чем игра. В за-
висимости от этапа создания игры и предполагаемого результата тестирова-
ние может проводиться по-разному. Как правило, оно начинается с проверки
минимальной работоспособности, а затем, по мере разработки игры, добав-
ляются многие другие виды тестов. По мере расширения тестов первоначаль-
ные виды остаются неизменными, а объем тестирования увеличивается.
Выбирая тестировщиков, помните, что «свежий взгляд» возможен лишь
единожды. Поэтому, если у вас ограниченный круг тестировщиков, не сто-
ит использовать для первых тестов сразу всех. По возможности новичков
следует привлекать с каждым новым раундом тестирования, всегда остав-
ляя кого-то для последующих тестов. Тот, кто никогда раньше не видел
игру, будет воспринимать ее совершенно не так, как тот, кто уже немного
ознакомился с ней. Кроме того, тестировщики, повидавшие ранние версии
игры, будут отличаться некоторой предвзятостью. Они будут мысленно
сравнивать более поздние варианты с более ранними. У основной вашей
аудитории такой предвзятости не будет, поэтому в каком-то смысле мне-
ние этих тестировщиков менее полезно для предположительной оценки
восприятия игры после выпуска. Например, если на ранней стадии тести-
ровщик жаловался на какой-то уровень, а затем этот уровень изменился,
он с гораздо большей вероятностью похвалит изменение, потому что ощу-
щает личную связь с ним — в конце концов, он попросил что-то поменять,
ИГРОВОЕ ТЕСТИРОВАНИЕ 347
После того как первый объект данных — как правило, опорная точка —
реализован и протестирован, можно переходить к небольшой группе, напри-
мер к пяти объектам данных. Сможете ли вы успешно реализовать пять объ-
ектов в одной группе, а затем провести удачные тесты с одним-двумя? Если
да, то можно внедрить более крупную партию, каждый раз выборочно про-
веряя, правильно ли импортируются данные. Никогда не следует надеяться
на то, что если вы настроили одну вещь и она работает, то она будет рабо-
тать правильно каждый раз. Как только минимальные тесты на работоспо-
собность пройдут успешно и у вас будет достаточно данных, чтобы провести
более тщательную проверку, пора переходить к тестированию баланса.
Тестирование баланса
После того как данные введены в игру, самое время начать тестирование ба-
ланса. Если данные были сопоставлены с опорной точкой, то тестирование
баланса должно пройти быстро. Как упоминалось в главе 13 «Балансировка
диапазона, опорные точки данных и иерархический дизайн», нужно начать
с тестирования опорной точки против нее самой. Затем можно выбрать объ-
екты данных, наиболее далекие от опорной точки, и протестировать их друг
против друга, поскольку именно здесь, вероятнее всего, и кроется дисбаланс.
Например, вы работаете над ролевой игрой в стиле фэнтези и сдела-
ли опорной точкой рыцаря. Орки, гоблины, кобольды, варвары, викинги
и солдаты — все это довольно похожие персонажи, но при создании лучни-
ков вы дали им дальнобойное оружие вместо оружия ближнего боя, а ги-
гантским паукам дали яд для атаки. Таким образом, лучники и гигантские
пауки сильно отличаются от опорного персонажа и друг от друга, и, хотя
они уже сбалансированы по отношению к опорной точке, было бы непло-
хо запланировать выборочную проверку этой комбинации отдельно. Чем
сильнее отличается объект данных от опорного и больше его уникаль-
ность, тем тщательнее нужно его тестировать.
Следующий шаг — попросить поиграть с новыми данными кого-то дру-
гого. Вы и ваша команда как создатели данных знаете то, чего не знает
никто другой, и поскольку данные создавали вы сами, вы в полной мере
представляете весь их потенциал. Другие игроки ничего этого не знают,
а при тестировании очень важен свежий взгляд. При этом не помешает
ИГРОВОЕ ТЕСТИРОВАНИЕ 349
Тестирование на ошибки
После запуска игры в производство обычно привлекается независимая
команда по обеспечению качества, или команда по контролю качества
(QA, Quality Assurance). Хотя члены этой команды, безусловно, могут по-
мочь и в тестировании баланса, их основная работа заключается в поис-
ке ошибок. Их цель — сэкономить деньги компании. Если крупная игра
попадет к издателю с ошибками, нарушающими игровой процесс, она бу-
дет отклонена. Сроки выхода игры, скорее всего, сдвинутся, издатель про-
пустит рекламное окно, а из-за этого и других факторов будет увеличена
350 ГЛАВА 17 ТОНКАЯ НАСТРОЙКА БАЛАНСА, ТЕСТИРОВАНИЕ И РЕШЕНИЕ ПРОБЛЕМ
Пользовательское тестирование
К пользовательскому тестированию приступают по мере приближения
к завершению работы над игрой. Цель пользовательского тестирования —
выяснить, как пользователи взаимодействуют с игрой, как работает ба-
ланс и получают ли игроки удовольствие.
Найти хороших испытуемых на этом этапе гораздо важнее, чем в пре-
дыдущих раундах тестирования. В идеале тестировщики для первых не-
скольких раундов должны точно соответствовать целевой аудитории. При
обращении к тестировщикам уточните, кого именно вы ищете. Необя-
зательно составлять такой же тщательный профиль тестировщиков, как
профиль целевой аудитории, но составить его все же нужно, чтобы исклю-
чить некоторых людей из пула. Для конкретной игры подойдет не каждый
игрок, поэтому правильный выбор так важен. Ниже приведены примеры
обращений к игрокам, в которых указываются типы тестировщиков.
примечание
Чтобы исключить предвзятость, некоторые команды специально
назначают наблюдателей, не имеющих никакой личной привязан-
ности к игре. В начале тестирования наблюдатель может заверить
тестировщиков в том, что он не имеет отношения к игре, и потому
все, что скажут тестировщики, не заденет его чувств.
примечание
Игровые тестировщики не должны быть профессионалами в обла-
сти контроля качества (QA) (если только они и не есть целевая
аудитория игры). Игроки-любители не имеют такой же подготовки
и таких же навыков, как профи. Это говорится не для того, чтобы усо-
мниться в их способностях, а для того, чтобы наблюдатель учитывал
этот важный факт.
15
В кругу разработчиков, когда говорят о сборе данных в определенных точках взаи-
модействия игрока с игрой, чаще используется термин «событие». Гейм-дизайнеры
составляют специальные таблицы событий, куда вносят информацию о наименова-
нии события, его типе и данных, которые под него собираются. — Прим. науч. ред.
16
Специалист, который анализирует и интерпретирует данные телеметрии, назы-
вается игровым аналитиком. — Прим. науч. ред.
ИГРОВОЕ ТЕСТИРОВАНИЕ 357
примечание
Телеметрия — удивительный и полезный инструмент для непредвзя-
той оценки игр при участии большого количества тестировщиков,
но этот инструмент хорош лишь в правильных руках. Поэтому пусть
телеметрия — это и хорошая идея для любой игры, но не стоит слиш-
ком сильно доверять каждому результату, полученному благодаря
такому методу сбора данных.
Решение проблем
При создании игр неизбежно возникает множество проблем. Придумать
концепцию и какие-то начальные идеи бывает легко. Реализовать идеи
при наличии опыта также можно довольно быстро. Но решение проб-
лем с идеями и их реализацией — это медленный процесс, и он будет
360 ГЛАВА 17 ТОНКАЯ НАСТРОЙКА БАЛАНСА, ТЕСТИРОВАНИЕ И РЕШЕНИЕ ПРОБЛЕМ
1. Определить проблему.
2. Исключить переменные.
3. Придумать решения.
4. Пообщаться с командой.
5. Создать прототип и протестировать.
6. Документировать изменения.
Творческая работа
10%
Реализация
20%
Решение проблем
70%
Определение проблемы
Это первый и, возможно, самый важный шаг в процессе решения пробле-
мы. Однако он не так очевиден, как кажется. На этом этапе велик соблазн
определить симптомы, но определить нужно именно проблему. Например,
первоначальная постановка вопроса может звучать так: «Как нам удержать
игроков после третьего уровня?» В действительности же это не проблема,
а симптом. Никаких параметров или переменных, которые можно было бы
настроить так, чтобы игроки задерживались в игре дольше, не существу-
ет. При определении проблемы важно выявить аспекты, которые можно
РЕШЕНИЕ ПРОБЛЕМ 361
Исключение переменных
Следующий шаг после определения проблемы — устранение переменных.
Какие переменные могут быть причиной проблемы? Какие из них под ва-
шим контролем? Лучший способ найти проблемную переменную — изо-
лировать ее и протестировать отдельно.
В примере с игрой на мобильном телефоне нужно посмотреть, какие
процессы выполняются во время игры, отделить их и протестировать
по отдельности. Если сделать уровни пустыми, продолжат ли они разря-
жать аккумулятор? Если неигровые персонажи и игровые объекты нахо-
дятся на пустом уровне без геометрии, разряжают ли они аккумулятор?
Если в одном случае это происходит, а в другом нет, значит, вы приблизи-
лись к определению реального источника проблемы. Продолжайте разби-
вать игру на более мелкие части, пока точно не определите проблему.
Поиск решения
Разработка решений очень похожа на поиск новых идей, и при этом можно
пользоваться теми же методами, что описаны в главе 8 «Разработка идей».
Единственное реальное отличие заключается в том, что темой мозгового
штурма будет проблема, а не какая-то концепция.
Коммуникация с командой
На позднем этапе создания игры важно, чтобы задействованные разра-
ботчики знали о проблеме и понимали, что им, возможно, придется при-
нять участие в ее устранении. Получить всеобщее одобрение решения
362 ГЛАВА 17 ТОНКАЯ НАСТРОЙКА БАЛАНСА, ТЕСТИРОВАНИЕ И РЕШЕНИЕ ПРОБЛЕМ
Документирование изменений
После нахождения подходящего решения не забудьте задокументировать
его. Документация помогает команде понять, какие изменения нужно
было сделать, и она же послужит справочником в будущем, если возник-
нет аналогичная проблема.
Дальнейшие шаги
После завершения этой главы рекомендуется некоторое время попрактико-
ваться на реальных примерах и попробовать использовать рассмотренные
здесь концепции. Для этого постарайтесь выполнить следующие упраж-
нения на тонкую настройку баланса, тестирование и пересмотр данных.
СИСТЕМНАЯ
КОММУНИКАЦИЯ
И ПСИХОЛОГИЯ
Правило
Коммуникация Правило
Коммуникация
я
аци
муник
Ком
Значения слов
Язык по своей природе несовершенен, и это важно учитывать при написа-
нии правил игры. Главная цель языка — передать идею из сознания одного
человека в сознание другого, но язык недостаточно точен, и потому не все-
гда эффективно справляется с этой задачей.
Рассмотрим для примера следующее предложение:
примечание
Для многих игровых механик подсказки — предпочтительный
метод коммуникации, поскольку удовольствие для игрока отча-
сти заключается в том, чтобы понять, что делать в игре. Разработ-
чики должны как следует продумать все возможные «шпаргалки».
О каких аспектах игры игрок должен догадаться интуитивно и какие
должен понять с помощью подсказок? Старые видеоигры заставляли
игроков разбираться практически во всем самим. Сейчас этот метод
считается примитивным и вызывающим разочарование у современ-
ной аудитории, а гейм-дизайнеры стараются соотносить различные
механики с различными уровнями коммуникации.
Шум
С точки зрения теории коммуникации, шум — это не просто фоновые зву-
ки. Шум — это все, что мешает коммуникации или приводит к недопони-
манию (иллюстрация 18.4). В играх шумом может быть что угодно, в том
числе игровые контроллеры, понимание правил, физические условия игры,
звуковой шум в буквальном смысле слова, визуальный шум на экране ком-
пьютера или все остальное, что может препятствовать коммуникации. Шум
неизбежен в любой момент коммуникации; гейм-дизайнер должен при-
знать этот факт и по мере возможностей минимизировать влияние шума.
ШУМ 369
ШУМ
М
ШУ
Взаимность
В теории коммуникации существует понятие «взаимность», представ-
ляющее собой часть более широкой концепции социального проникнове-
ния. На самом общем уровне теория взаимности излагается так: на пер-
вых порах знакомства люди, как правило, сдержанны в общении и мало
рассказывают о себе. По мере того как они все больше узнают друг дру-
га и начинают доверять друг другу, они рассказывают о себе все больше.
17
Известную нам схему управления WASD популяризировал легендарный кибер-
спортсмен по имени Деннис Фонг. В 1997 году ему удалось выиграть первый на-
циональный турнир по Quake, наградой за победу в котором стал личный Ferrari
328 Джона Кармака. В решающем матче правая рука Фонга находилась на мышке,
а левая — на популярной нынче комбинации клавиш WASD. — Прим. науч. ред.
372 ГЛАВА 18 СИСТЕМНАЯ КОММУНИКАЦИЯ И ПСИХОЛОГИЯ
И только полностью доверяя друг другу, они раскрывают свои самые со-
кровенные мысли и чувства. Какое же отношение эта концепция имеет
к играм? Игры и игроки строят своего рода отношения друг с другом. Как
уже говорилось ранее в этой главе, между ними происходит обмен инфор-
мацией, то есть коммуникация. Игра просит игрока выполнять задания
все возрастающей сложности, а взамен дает вознаграждение, как вирту-
ально в игре, так и в виде развлекательной ценности. Игроки просят игру
предоставить им инструкции по выполнению заданий, а она дает необхо-
димые задания. Это и есть взаимность. В следующих разделах описано не-
сколько примеров проблем, связанных с взаимностью.
Переход границ
Игрок, который только начинает узнавать игру, как правило, сдержан
в своем желании посвятить этому всего себя. Прежде чем уделять игре
(то есть отношениям с игрой) больше времени и усилий, он хочет полу-
чить положительную обратную связь. Если игра требует слишком многого
слишком рано, игрок, скорее всего, сочтет, что это нарушение границ; это
форма грубости по отношению к игроку, которая отталкивает его.
Представим, что два человека встречаются впервые. Первый говорит:
«Хорошая погода». Второй говорит: «В детстве я пережил пожар. Он мне
до сих пор снится в кошмарах». Довольно неожиданно, не правда ли? На-
верное, у всех в жизни бывали похожие случаи, так что вы представляете,
насколько это неловко. Это не значит, что чувства и переживания второго
человека не важны, но он перешел границы общественной нормы, поведав
о своих глубоких переживаниях во время первой же встречи, и тем самым
слишком многого потребовал от первого человека.
Предположим теперь, что игрок впервые запускает на своем компьюте-
ре новую игру. Перед началом игры на экране крупным текстом всплывает
сообщение: «Прежде чем играть, внимательно прочтите руководство поль-
зователя на 63 страницы». И снова неловкая ситуация! Игрок еще не знает,
понравится ли ему эта игра и готов ли он потратить время на заучивание
63 страниц руководства пользователя. Игра перешла границы того, что
можно требовать от игрока при первой встрече. При этом вполне возмож-
но, что за все время игры игрок действительно с удовольствием прочита-
ет 63 или даже больше страниц инструкций — но только если будет знать,
что его затраты времени стоят того и что игра готова ответить на его уси-
лия вознаграждением в виде развлечения.
ВЗАИМНОСТЬ 373
Поверхностные отношения
Если игра так и не начинает требовать большего с тем, чтобы дать игроку
больше взамен, у игрока может возникнуть ощущение, что его отношения
с игрой носят поверхностный характер.
Представим двух знакомых пожилых мужчин, знающих друг друга бо-
лее пятидесяти лет. Жена первого спрашивает у него, какое любимое блю-
до его друга. Первый отвечает: «Не знаю, мы никогда ни о чем не разго-
вариваем, кроме погоды». Казалось бы, люди, знакомые на протяжении
такого длительного времени, должны были узнать какие-то сведения друг
о друге. Предполагается, что за долгий срок отношения должны хотя бы
немного продвинуться. Если же этого не происходит, отношения считают-
ся очень поверхностными и не приносящими особого удовольствия.
Допустим, некий игрок уже много лет играет в некую многопользова-
тельскую онлайн-игру и потратил много часов, изучая принципы работы
игры. Он запускает игру, чтобы проверить недавно вышедшее обновление
и подходит к неигровому персонажу, с которого начинается новая цепоч-
ка квестов. Персонаж говорит ему: «Приветствую тебя, искатель приклю-
чений! На нас напали гоблины 1 уровня. Прошу тебя, убей двух гоблинов
первого уровня, чтобы завершить квест». Какое разочарование! Столько
времени и усилий вложено в игру, такая шумиха с обновлением… а в ре-
зультате игра просит сделать игрока нечто до ужаса банальное. Игрок вы-
полнил свою часть сделки, но игра показала себя поверхностной в отно-
шениях.
Верный баланс
Рассмотрим теперь пару примеров, в которых соблюден баланс с точки
зрения взаимности. Предположим, что два незнакомых человека встреча-
ются на вечеринке и проводят вечер, болтая о кино. Выясняется, что им
нравится много одинаковых фильмов, и поэтому они договариваются по-
смотреть новые фильмы вместе. Со временем они в своих беседах начи-
нают затрагивать и другие темы, говорят об отношениях, о семье, о со-
циальной жизни. Постепенно они все больше доверяют друг другу вплоть
до того, что решаются рассказать про свои тайны, желания и страхи, о ко-
торых раньше не рассказывали никому.
Теперь предположим, что игрок включает игру, и игра сразу же привет-
ствует его. Затем игра предлагает ему очень простое задание, например:
374 ГЛАВА 18 СИСТЕМНАЯ КОММУНИКАЦИЯ И ПСИХОЛОГИЯ
Вознаграждение ожиданий
Реакция игроков на вознаграждение может резко отличаться в зависи-
мости от того, какие у них ожидания. Как уже говорилось в предыдущем
разделе, если игроки продолжают прилагать все больше усилий, а игра
не реагирует, они могут расстроиться. Существуют и другие способы
разочаровать игроков. Один из них — задать ложные ожидания относи-
тельно вознаграждения. Согласно распространенному правилу следует
занижать их, то есть давать в награду больше, чем было обещано. Рас-
смотрим пример.
Допустим, игра сообщает игроку, что если он выполнит следующее
задание, то получит специальный приз стоимостью до 100 золотых. Иг-
рок выполняет задание и получает приз, оцениваемый в 50 золотых. Иг-
рок разочарован, потому что, услышав или прочитав описание задания
(«То да се… 100 золотых»), он отбросил все, кроме «100 золотых», и сра-
зу же настроился на эту сумму. Все, что меньше, для него будет разоча-
рованием, поэтому, несмотря на то что игрок все же получил награду, он
ДАЛЬНЕЙШИЕ ШАГИ 375
недоволен результатом и, возможно, недоволен также тем, что ему при-
шлось напрячься для получения награды.
Теперь рассмотрим тот же пример, но немного перефразируем описа-
ние задания, что приведет к совершенно иному эффекту. В этом варианте
игра сообщает пользователю, что за выполнение задания он получит приз
стоимостью по меньшей мере в 40 золотых. Он выполняет задание и полу-
чает приз стоимостью в 50 золотых. Несмотря на то что это точно такая же
награда, как и в первом примере, игрок в данном случае не разочарован,
а очень рад. Он уже был рад, что ему пообещали награду, и его бы устро-
ил приз стоимостью и в 40 золотых. Когда игрокам дают свыше их ожида-
ний, они счастливы, поскольку были согласны и на изначальные условия
сделки. Они охотнее возьмутся выполнять другие задания в игре, надеясь
на то, что им дадут еще больше скрытых наград.
Если вы вспомните свой собственный игровой опыт, то наверняка у вас
был не один случай, когда игра слишком много обещала и слишком мало
давала. Какой-нибудь знаменитый меч с громким названием «Великолеп-
ный меч пламени Древних богов» оказывался похожим на все остальные
мечи, только оранжевого цвета.
Чтобы игроки не разочаровались в вашей игре, планируйте занижать
обещания и по мере возможностей повышать награду. Внимательно сле-
дите за этим на этапе тестирования. Многое может поведать выражение
лица тестировщика, только что получившего награду. Игроки часто силь-
нее демонстрируют свои эмоции, будучи разочарованными.
Дальнейшие шаги
После завершения этой главы рекомендуется некоторое время попракти-
коваться на реальных примерах и попробовать использовать рассмотрен-
ные здесь концепции. Для лучшего усвоения теории коммуникации с иг-
роком попробуйте выполнить следующие упражнения.
ВЕРОЯТНОСТЬ
Дать точное определение случайности не так уж просто, как кажет-
ся. Существуют целые области исследований, посвященные случайности
и вероятности. В этой книге излагаются некоторые из самых основных по-
нятий теории вероятности, но она не предлагает полного объяснения слу-
чайности; дополнительные сведения можно почерпнуть из других книг
и ресурсов по теме.
Для целей этой главы я предлагаю следующее определение случайно-
го события:
примечание
Я настоятельно рекомендую вам при чтении этой главы повторять
все показанные примеры самостоятельно в электронной таблице.
380 ГЛАВА 19 ВЕРОЯТНОСТЬ
или 1D6. Таблица для него будет похожа для монеты 1D2, только чуть боль-
ше и с другими шансами. Для начала нужно настроить формулы так, что-
бы они вели себя практически так же, как и формулы для 1D2, но с более
длинным списком событий. В режиме просмотра формул электронная таб-
лица должна выглядеть так, как показано на иллюстрации 19.4.
На иллюстрации 19.4 ячейки с D3 по D7 не заполнены, но в ячейке D2
записана такая формула, которую можно «протянуть вниз», то есть запол-
нить все остальные ячейки с помощью автозаполнения без написания но-
вой формулы. После этого должна получиться электронная таблица, кото-
рая выглядит так, как показано на иллюстрации 19.5.
Неделя Выплата
1 $10
2 $10
3 $10
4 $10
И без калькулятора легко сказать, что всего к концу третьей недели бу-
дет выплачено 30 долларов. А к концу четвертой недели — 40 долларов.
По какой же формуле это было вычислено? Вы смотрите на первую сумму
за первую неделю — к концу первой недели это и есть суммарная выпла-
та. К концу второй недели имеем уже как первую, так и вторую сумму, так
что складываем их и получаем 20 долларов. К концу третьей недели к об-
щей сумме добавляем еще 10 долларов и всего получаем 30. Таким образом
вычисляют нарастающий итог — и эта же формула применима к расчетам
ОСНОВЫ ТЕОРИИ ВЕРОЯТНОСТИ 385
исхода равна 4/6. Сокращаем дробь и получаем 2/3, что равно примерно
тем же 66,7%, так что все числа сходятся.
примечание
Для шестигранной кости выпадение какого-то отдельного числа —
не такое уж редкое событие. Вероятность его выпадения равна 16,7%,
а вероятность того, что оно не выпадет, равна 82,3%, и это далеко
не редкость. Иногда игроки, у которых часто выпадает единица (при
условии, что это «плохой» результат), попадают в психологическую
ловушку и приходят к мысли, что им как-то по-особому не везет. Они
обращают повышенное внимание на выпадение числа 1, тогда как
в действительности шанс выпадения этого числа не так уж мал.
Красный
Желтый Желтый
Коричневый Зеленый
Фиолетовый Синий
Оранжевый
Иллюстрация 19.10. Волчок
ОСНОВЫ ТЕОРИИ ВЕРОЯТНОСТИ 387
примечание
В чем-то это похоже на разницу между линейными и квадратными
метрами. При измерении длины прямой линии, например натяну-
той веревки, длину выражают в линейных метрах. При измерении
площади, например поля или пола комнаты, используются квадрат-
ные метры.
Обратите внимание, что это первая таблица в этой главе, где данные
начинаются не с A1. Помните, что нужно держать под рукой сетку для
событий 2D2, чтобы на нее можно было ссылаться в этих новых вычисле-
ниях. Также обратите внимание на то, что в столбце событий не указан
вариант 1, потому что такой результат невозможно получить при броске
двух монет. («Событие» в данном случае — это исход сразу двух бросков
монет.)
После оформления электронной таблицы нужно заполнить столбец
«Количество». Чтобы рассчитать его значения вручную, посмотрим на сет-
ку 2D2 и посчитаем, сколько раз тот или иной вариант появляется в ней.
В данном случае пример очень простой, но с увеличением количества ва-
риантов расчеты быстро усложняются, поэтому лучше настроить элек-
тронную таблицу для автоматических расчетов. Узнав, как это сделать для
простого случая, мы легко сможем воспользоваться этим методом для бо-
лее сложных вычислений.
Подумайте, какую формулу или функцию из описанных в главе 6
«Функции электронных таблиц» можно использовать для этого примера.
Один из лучших способов подобрать нужную функцию — это подумать
о том, как получить ответ вручную. В данном случае мы смотрим на сетку
в ячейках B2:C3, и всякий раз, когда видим значение 2, прибавляем к ре-
зультату единицу; в итоге получается 1. Затем ищем значение 3, склады-
ваем количество таких исходов и получаем в итоге 2. Наконец, для 4 по-
лучаем результат 1. Итак, вам нужна функция, которая будет вести поиск
указанного значения в определенной группе ячеек и добавлять к резуль-
тату единицу всякий раз, как находит нужное значение. Эта функция —
COUNTIF (СЧЁТЕСЛИ). Чтобы настроить ее, начните с ввода функции
в ячейку G2, создайте ссылку на сетку 2D2 и попросите функцию искать
событие, указанное в F2. В итоге функция должна выглядеть так, как по-
казано на иллюстрации 19.21.
ясности, воспользуемся тем же методом, что и для 2D2 (и это тот же самый
метод, которым мы пользовались для расчета вероятностей 1D6). Укажи-
те количество различных событий с помощью функции COUNTIF (находя-
щей точное число в сетке), и сошлитесь на эти значения для расчета веро-
ятности каждого исхода. В итоге электронная таблица должна выглядеть
так, как показано на иллюстрации 19.26.
примечание
В главе 10 «Организация данных в электронных таблицах» я реко-
мендовал не использовать пустые столбцы или строки для разделения
данных в таблице. Может показаться, что на рисунке 19.27 я нарушил
это правило, поскольку столбец H пустой. Однако здесь есть важное
отличие. На этом листе представлены две разные таблицы: сетка
результатов слева и анализ этих результатов справа. Поэтому стол-
бец H находится между таблицами, а не внутри. Для максимальной
ясности в идеале следовало бы вынести эти две таблицы на два отдель-
ных листа. Но здесь я показал их на одном, чтобы нагляднее предста-
вить всю информацию. Бывают случаи, когда несколько небольших
таблиц полезнее размещать на одном листе. Впрочем, в случае сомне-
ний разделяйте данные по отдельным листам.
примечание
Возможно, вы уже заметили, что при расчете вероятностей для 1D6
и 2D6 часто всплывает значение 16,67%, и это вовсе не случайное
совпадение. Вероятность выпадения любого отдельного результата
встроена в вероятность броска: шанс выпадения дубля при любом
броске двух костей равна шансу выпадения данного числа на одной
из этих костей.
раз подряд. На первый взгляд, задача может показаться более сложной,
но, по сути, это то же самое вычисление, только с одним дополнительным
шагом. Вы знаете, что вероятность выпадения числа 12 при броске 2D6
равна 1/36, или 2,78%. Это значит, что вероятность невыпадения 12 равна
100% минус вероятность выпадения 12: 100% – 2,78% = 97,22%. Теперь эти
числа можно подставить в исходную формулу. Чтобы адаптировать табли-
цу для учета еще и этого фактора, добавим один ряд под «Вероятностью»
для переменных и назовем его «НЕ», добавим еще один столбец после «Ве-
роятности» серии и назовем его «Инверсией» (в нем будет указываться ве-
роятность того, что событие не произойдет несколько раз подряд). Полу-
чится таблица, изображенная на иллюстрации 19.38.
Обратите внимание, что в обеих формулах для серий имеются как аб-
солютные, так и относительные ссылки. Относительные указывают на ре-
зультат предыдущего шага вычислений и потому должны обновляться.
Ссылки на переменные должны оставаться неизменными, и потому они
указаны в абсолютном виде. Эти формулы дают значения, показанные
на иллюстрации 19.39.
Оказывается, в серии из шести бросков кубика шестерка не выпадает
с вероятностью более чем в 33%. Также вполне вероятно не выбросить ше-
стерку и за десять бросков. Причина этого в том, что каждое событие про-
исходит независимо от других событий.
ОСНОВЫ ТЕОРИИ ВЕРОЯТНОСТИ 405
примечание
Учтите, что это только одна из огромного количества возможных
ветвей, возможных при вытаскивании карт из колоды. При расчете
зависимой вероятности построить диаграмму всего дерева воз-
можностей часто бывает невозможно, так как оно будет слишком
большим для практического использования. Вместо этого можно
рассчитать вероятности для какой-нибудь отдельной ветви, чтобы
получить представление о том, что примерно происходит в целом.
После того как каждому элементу списка присвоен вес, можно рассчи-
тать вероятность каждого события точно так же, как мы рассчитывали
вероятность для 2D6. Сначала получаем сумму весовых коэффициентов
(в столбце C на иллюстрации 19.48), а затем делим вес каждого события
на общую сумму.
ОСНОВЫ ТЕОРИИ ВЕРОЯТНОСТИ 415
Восприятие вероятности
Еще одна очень важная концепция, о которой должны знать все разработ-
чики систем, заключается в том, что игроки не воспринимают вероят-
ность событий в играх реалистично. Есть такое психологическое явление,
называемое оптимистическим предубеждением, из-за которого игроки
полагают, что вероятность наступления неблагоприятного события мень-
ше, чем на самом деле. Если, допустим, вероятность благоприятного исхо-
да или получения награды в игре равна 40%, то в силу оптимистического
420 ГЛАВА 19 ВЕРОЯТНОСТЬ
Неопределенность вероятности
При изучении методов прогнозирования вероятности, рассмотрен-
ных до сих пор в этой главе, возникает вполне естественное ощущение,
что с какой-то долей уверенности контролировать вероятность можно.
В каком-то смысле это так и есть, но с очень важной оговоркой: все описан-
ные здесь методы — это математические абстракции, а не реальные данные.
Возьмем для примера бросок монеты 1D2. Какова вероятность выпа-
дения орла? Как говорилось выше, она равна 1 случаю из 2, то есть 1/2,
или 50%. Исходя из этого вы можете предположить, что за четыре брос-
ка в двух случаях выпадет орел и в двух случаях — решка. Да, такое впол-
не может произойти, но может и не произойти. Вероятность в 50% — это
вовсе не абсолютная гарантия того, что распределение результатов будет
равномерным. 50% — среднее значение для долгой серии, имеющее очень
небольшое влияние на отдельные события. Вполне может случиться и так,
что за все четыре броска орел выпадет четыре раза.
Рассмотрим другой пример и предположим, что вы собираетесь бросить
кубик 1D6 1000 раз. Вы ожидаете, что каждое число выпадет в 16,67% случа-
ев, то есть по 167 раз. Такой точный результат очень маловероятен, но чем
больше случайных событий, тем ближе среднее значение реальной серии
к вычисленной вероятности. Так шанс того, что какое-то число за тысячу
бросков кубика выпадет от 127 до 207 раз, гораздо выше, чем шанс того, что
одно и то же число выпадет 900 раз (хотя не исключен и такой исход).
ПРОФИЛИ ВЕРОЯТНОСТИ 421
Профили вероятности
В начале работы над игрой хорошим упражнением будет составление
профилей вероятности событий в игре. Вы как гейм-дизайнер должны
хорошо представлять себе, с какими видами случайностей будут стал-
киваться ваши игроки. На основе этих представлений вы целенаправ-
ленно создаете сценарии для игры и конструируете ощущения от игры.
При том что никакой необходимости строить подробную схему или
профиль для каждого случайного события в игре нет, неплохо было бы
создать относительно большой набор профилей, чтобы лучше понять
функцию случайности в игре. Теоретически это похоже на составление
схем предложений для детей, обучающихся чтению и письму; необяза-
тельно составлять схему для каждого предложения, но польза от них
очевидна.
Тип случайности
Для определения каждого случайного события в игре можно воспользо-
ваться одним или несколькими методами создания случайности. Каждый
метод по-своему влияет на ход игры и на то, как гейм-дизайнер отслежи-
вает результаты случайных событий. Например, при чистой случайности
вероятность события должна оставаться одной и той же для всех игро-
ков, а при случайности в зависимости от мастерства вероятность зависит
от навыков игроков и от их поведения в игре.
Распределение вероятности
Существует множество вариантов распределения вероятности. Вот одни
из самых популярных в играх.
Зависимость исхода
Зависимость исхода — атрибут, указывающий на то, влияют ли на случай-
ное событие другие события. С учетом типа зависимости события меняет-
ся формула расчета его вероятности. Например, вероятности независимых
событий распределяются по прямой, а зависимых — по колоколообразной
кривой.
какие из них можно изменить и тем самым решить проблему. При опре-
деленном творческом подходе гейм-дизайнер сможет изменить отдель-
ные аспекты события так, чтобы добиться совершенно иных ощущений
от очень похожих событий.
Рассмотрим еще один пример. Что, если объединить два предыдущих
примера в одну игру и составить один общий список атрибутов? Подумай-
те, какой может стать игра с такими атрибутами.
словами, на исход игры не влияют какие бы то ни было механизмы,
не находящиеся под полным контролем игрока.
Примеры: шахматы, го 18, забег на сто метров.
18
В шахматах или го вероятностными событиями могут быть ходы/действия сопер-
ников. Поэтому эти игры нельзя отнести к играм, где нет фактора случайности. —
Прим. науч. ред.
430 ГЛАВА 19 ВЕРОЯТНОСТЬ
1. 3, 4
2. 1, 6
3. 4, 4
4. 2, 5
Фактор хаоса
Со стопроцентной уверенностью невозможно предсказать исход даже для
игр, ориентированных на мастерство и умение. Если бы исход был ясен
заранее, то не было бы особого смысла играть. У игроков бывает плохое
настроение, они бывают не в форме. Иногда наблюдаются особенно ис-
ключительные «полосы невезения». Влияют на исход и внешние факторы,
например «баги» в видеоиграх. Поэтому никогда не следует делать серь-
езные выводы на основе лишь нескольких тестов и ограниченного набора
данных. Как бы ни старалась эта книга убедить вас в важности логических,
основанных на фактах решений, когда дело доходит до ощущения от игры,
всегда будет играть роль человеческая интуиция.
Дальнейшие шаги
После завершения этой главы рекомендуется некоторое время попракти-
коваться на реальных примерах и попробовать использовать рассмотрен-
ные здесь концепции. Для лучшего усвоения концепции вероятности в иг-
рах попробуйте выполнить следующие упражнения.
434 ГЛАВА 19 ВЕРОЯТНОСТЬ
ДАЛЬНЕЙШИЕ ШАГИ
Практика
Многие из изложенных в этой книге концепций представляют собой не-
что большее, чем основные факты, которые можно запомнить и усвоить.
Для полного понимания описанных в этой книге методов и приемов необ-
ходимо активно пользоваться ими на практике. Я настоятельно рекомен-
дую вам еще раз просмотреть каждую из глав и активно попрактиковаться
в использовании описанных концепций. Далее попробуйте развить каж-
дую концепцию. Например, поэкспериментируйте с изменением формулы
экспоненциального роста и посмотрите, что получится. Попробуйте объ-
единить несколько рассмотренных в книге концепций, например построе-
ние диаграмм и коммуникационный шум, и посмотрите, что получится.
Развивая и модифицируя описанные в книге концепции, вы действитель-
но усвоите их, а не будете просто копировать прочитанное.
Продолжение обучения
Эта книга представляет собой лишь базовое введение в дизайн игровых
систем, и узнать в этой сфере можно еще очень многое. Скорее всего, для
более полного понимания того, как работают описанные здесь методы
и концепции, вам потребуется глубже изучить ряд тем. Например, можно
найти какую-нибудь хорошую книгу продвинутого уровня по электрон-
ным таблицам, а также выбрать одну из множества хороших книг по тео-
рии игр, психологии и теории вероятности. Более подробные сведения
по любой из затронутых в этой книге тем можно найти в Интернете.
АЛФАВИТНЫЙ
УКАЗАТЕЛЬ
Научно-популярное издание
Гэзеуэй Дакс
12+