Геймдизайн. Рецепты успеха лучших компьютерных игр от Super Mario и Doom до Assassin’s Creed и дальше Сильвестр Тайнан
В играх наши убеждения исходят из двух ключевых источников. Во-первых, каждый раз, когда мы заимствуем концепцию из другой области, к ней автоматом добавляются скрытые убеждения. Во-вторых, мозг человека биологически связан с убеждениями. Давайте рассмотрим каждое из них.
Заимствованные убеждения
Почему мы говорим, что игра находится на стадии препродакшн? Почему бета-версия? Почему разработкой руководит директор? Почему в играх продюсеры, а не логисты или аллокаторы? Почему в игровых командах есть младшие дизайнеры, а не ассистенты, ученики дизайнеров или рядовые? Почему директор, а не капитан, главный редактор, тренер или шеф-повар? Почему мы не говорим, что существует черновик?
Каждое из этих слов взято из другой области. Вопрос в том, имеют ли эти слова смысл в разработке игр. Обычно ответ будет отрицательный.
Проблема заключается в том, что эти термины были разработаны для решения проблем, которые отличаются от наших. Часто в них заложены убеждения, которые верны в исходной области, но не в играх.
Возьмем, к примеру, такие термины, как предпродакшн, продакшн и постпродакшн. Они были заимствованы из киноиндустрии. Они развивались в этой среде, потому что кинопроизводство неразрывно связано с короткими периодами чрезвычайно дорогой съемки. Съемка фильма может стоить тысячи долларов в минуту, поэтому режиссеры научились сжимать этот дорогостоящий период производства в несколько недель. Для них разделение процесса на три части имеет смысл, поскольку у периода определенные начало и конец. Все в их процессе сводится к минимизации этой средней части так, чтобы не приходилось оплачивать лишний час работы кейтеринга, а также сотни светооператоров и постановщиков.
В играх все совсем иначе. В случае если студия переходит от стадии предпродакшн к стадии продакшн… то ничего не меняется. Никого не нанимают и не увольняют, не задействуются никакие значительные ресурсы, а одни и те же старые совещания проходят в одно и то же время каждую неделю. Ничего не меняется, потому что в разработке игр нет очень дорогой средней части. Итак, когда мы говорим «предпродакшн», «продакшн» и «постпродакшн», что мы имеем в виду на самом деле? Режиссеры знают, что они имеют в виду. В их среде это очевидно. Для нас эти слова без дополнительного объяснения значат очень мало.
Вы можете сказать, что это всего лишь слова. Они помогают людям общаться. В чем проблема? А проблема в том, что эти слова несут в себе скрытые смыслы. Например, они подразумевают, что до начала стадии продакшн должен быть составлен сценарий или план. Они подразумевают, что сценарий, написанный до стадии продакшн, может дойти до самого конца. Они подразумевают, что на разных этапах мы должны нанимать разных людей. Мы знаем, что эти факты справедливы для кино. А как же геймдизайн? Возможно, да, а возможно, и нет. Необходимо пролить свет на эти укоренившиеся убеждения и подвергнуть их сомнению. И если слово содержит больше неправильных убеждений, чем правильных, возможно, следует от него отказаться.
В геймдизайне заимствованные слова и понятия процветают, потому что процессы, обычно используемые в разработке игр, никто не планировал. Они вошли в норму по мере накопления привычки в течение десятилетий. Первые игры были написаны одним человеком. Современные игры могут быть сделаны сотнями разработчиков. Со временем команды разработчиков становились все больше и больше, а процессы становились все сложнее. Каждый раз, когда команда увеличивалась, кто бы в ней ни появился, он просто вносил свои поправки, чтобы система работала. Эти люди искали самое простое и очевидное решение, которое было бы понятно большинству. Почти во всех случаях это означало заимствование терминологии из кино, программного обеспечения или промышленности.
Мы можем видеть этому подтверждение в огромном разнообразии технологий, используемых в разных компаниях. Каждая игровая студия работает по-своему. Там нет стандартизированных процессов, потому что никто еще не написал действительно стоящие процессы. Методы, которыми все пользуются, – это знания других людей. Это общие нормы, которые появились в результате многочисленных проб и ошибок. И, как и любые общие правила, они произвольно меняются в зависимости от ситуации.
К счастью, сейчас ведется активное обсуждение проблемы заимствованной терминологии. Лучшие студии заменяют заимствованные методы новыми процессами, изначально разработанными для решения уникальных задач игровой индустрии. Впрочем, это медленный процесс, и многие заимствованные процессы и терминология остаются.
«Врожденные» убеждения
Человеческий мозг рассчитан на решения проблем пещерного человека. У нас появляются представления о мире, благодаря которым мы не попадаемся в лапы тигров и можем ловко ориентироваться в племенной политике. И для пещерного человека это работает.
К сожалению, геймдизайнеры сталкиваются с несколько иными проблемами, чем были у наших предков, в то время как принципы работы нашего мозга не изменились. В современном мире убеждения проявляются в поведении в виде когнитивных искажений – иными словами, люди допускают последовательные, предсказуемые ошибки в восприятии или суждении. Например:
Гало-эффект означает, что мы не можем судить о различных свойствах вещи по отдельности. Если мужчина красив, мы склонны считать его более надежным. Если игровой персонаж лучше прорисован, мы думаем, что им лучше управлять. Человеческий разум склонен классифицировать вещи на хорошие или плохие. Для геймдизайнеров это смертельная ошибка, потому что наша работа требует, чтобы мы разложили каждую игровую систему на составные части, поняли, как они совмещаются и какой вклад вносят в контексте получения окончательного опыта. Любить и ненавидеть каждый элемент дизайна целиком – это ленивый путь заблуждения. Всегда остается какая-то ценность, и всегда есть оптимальное соотношение.
Боязнь потерь приводит к тому, что наш страх потерять что-либо становится сильнее, чем желание выиграть. Это заставляет разработчиков игр цепляться за старые идеи, вместо того чтобы исследовать новые концепции дизайна. Со временем это может привести к иррациональному усилению, так как разработчики годами тратят деньги впустую, не могут признать, что идея провалилась, отказаться от нее и двигаться дальше.
Эвристика доступности заставляет нас реагировать только на то, что мы можем воспринимать или представить, и игнорировать то, чего мы представить не можем, как если бы этого даже не существовало. Лауреат Нобелевской премии психолог Даниел Канеман называет это WYSIATI, что ты видишь, то и существует. Вот почему люди всегда больше думают о том, как выжить в случае повторного теракта, и не думают о других потенциальных опасностях. Поскольку атака уже произошла и вызвала сильные эмоции, мозг весьма легко может ее воспроизвести. Ее можно представить, снова испытать страх и отреагировать. Между тем человек не думает о других потенциальных опасностях, хотя они не менее вероятны. Поэтому относится к ним так, как будто их даже не существует.
Эвристика доступности постоянно проявляется в геймдизайне, потому что игровые системы и игроки часто делают вещи, которые нельзя заранее представить. В итоге мы рассматриваем игру так, как будто она делает только то, что мы видели, и не воспринимаем ее как систему, которая обычно может делать больше, чем то, что мы видели когда-либо.
Вот почему дизайнеры, отвечающие за баланс, напрасно стараются как можно тщательнее исправить последнюю ошибку баланса, которую они заметили. Эта ошибка может быть одной среди сотен других аналогичных ошибок в игре, но поскольку она более всего доступна для мозга, он будет исправлять ее так, как будто она единственная в своем роде. То, что вы видите, то и существует.
Существуют сотни других подобных предубеждений. Я не буду больше о них писать в этой книге. Чтобы узнать о них больше, посмотрите список рекомендуемой литературы в конце.
До некоторой степени мы можем бороться с такими отклонениями, не давая возможности эмоциональному брать верх над рациональным. Но мы не можем полностью устранить наши предубеждения, потому что мы всегда остаемся людьми.
Что мы можем сделать, так это выбрать процессы, которые минимизируют влияние когнитивных отклонений. Мы можем создать социальные структуры вместе с системой сдержек и противовесов и следовать процедурам, которые обходят наши личные отклонения. За пределами геймдизайна примерами такого рода процессов против когнитивных искажений являются правовая система и научные методы. Чтобы преодолеть наши эволюционно укоренившиеся убеждения, подобные методы нужны и в геймдизайне.
Когнитивные искажения наполняют нас ложной уверенностью, основанной на убеждениях пещерного человека. Но на самом деле мы знаем гораздо меньше, чем думаем. Вот почему ключ ко всем лучшим стратегиям геймдизайна заключается в том, что от дизайнеров не требуется много – меньше предвидения, меньше общения и меньше мысленного моделирования. Традиционный геймдизайн требует таких сверхчеловеческих подвигов, как составление целого рабочего дизайна на бумаге или руководство десятками подчиненных, и четкого понимания того, что они должны делать. Этого никто не умеет. Если в качестве инструмента нам достался своеобразный человеческий разум, а наша задача такая же сложная, как и создание машин, генерирующих опыт, мы должны работать поэтапно со смирением.
Глава 11. Планирование и итерация
Как отмечает Ханс Гроте, строительный подрядчик, тренер по футболу не скажет кому-то из форвардов, что тот точно забьет гол, если на шестой минуте игры приблизится к воротам противника справа под углом 22 градуса и в 17 метрах от цели забьет мяч под углом подъема 10 градусов и 11 минут… Если тренер хочет определить позиции, с которых должен забивать каждый игрок команды, он должен помнить, что к бутсам может прилипать влажная земля. Комок грязи между бутсой и мячом может нарушить угол запланированного удара. Поэтому было бы разумно изучить средний размер комков грязи и частоту их появления, а также места на бутсах, где они прицепляются с наибольшей вероятностью. Но если учесть, что футбольные поля на севере, как правило, песчаные, а на юге – глинистые, нам нужно… Думаете, никто бы никогда не стал заниматься подобным? Стал бы еще как!
Дитрих Дернер
Перепланировщик
Вот вам история, которая случалась много раз.
У дизайнера есть идея для игры. Он хочет реализовать ее должным образом, поэтому решает не лениться. Он собирается работать самым дисциплинированным, усердным способом, какой только знает, – написать дизайн-документ. В Документе описывается все: механика, задумка, сценарии диалога, оформление, технологии, целевые рынки. Дизайнер переписывает его снова и снова, анализируя каждую часть, переосмысливая, представляя себе, как разворачивается игра.
Проходят месяцы. Наконец, он заканчивает его. Документ состоит из 200 страниц спецификаций механики, примеров прохождения игры, биографии персонажей и описания интерфейса. Он мог бы сейчас же распечатать его, просто для того, чтобы поднять и почувствовать его вес. Я знаю, как это, потому что именно так и сделал, когда написал свой дизайн-документ для Elemental Conflict.
Затем он приступает к разработке. Он собирает игру как складную картинку, каждая часть которой предназначена для определенного места в соответствии с Документом. Проходят месяцы прогресса, но дизайнер верит в свой Документ. В конце концов, он дает возможность первому игроку поиграть в игру впервые. И именно тогда все расстраивается.
Ничего не работает так, как задумано. Самый сильный враг скатывается в простую, дегенеративную стратегию. Игрок пропускает душещипательную историю, потому что он занят тем, что прыгает на столе. Он не понимает простейшей механики и легко осваивает самую сложную. Он пропускает главный проход и заканчивает тем, что бродит по одной и той же комнате 20 минут. Он ненавидит персонажа-компаньона и использует только три из 10 инструментов.
Но бывает, что происходит и хорошее. Игрок находит новое, более интересное решение головоломки. Он влюбляется во второстепенного персонажа. И теперь, когда игра пошла, разработчик может увидеть сотни простых вариантов дизайна. Если он подправит этого персонажа, появится новая увлекательная стратегия. Если бы он объединил эти части, история, заданная сценарием, была бы понятнее и интереснее. Если бы он убрал стоимость этих ресурсов, скорее всего, темп бы улучшился. Теперь все кажется понятным.
Дизайнер оказывается в безвыходном положении. С одной стороны, у него есть Документ, в который он вложил столько любви и времени. С другой стороны, перед ним стоит суровая реальность – как неожиданные провалы, так и случайные открытия. И они тянут в разные стороны. Здесь нет вариантов. Он должен либо уничтожить свой Документ, либо проигнорировать свои открытия.
Основная ошибка этого дизайнера в том, что он слишком много планировал.
Недостаточное планирование
А вот еще одна история, которая случалась много раз.
Команда начинает игру. Они быстро обсуждают идеи, а затем погружаются в работу. Художники начинают создавать модели персонажей, среды и концептуальные изображения. Программисты начинают собирать искусственный интеллект, алгоритмы мирового поколения и физические движки. Дизайнеры создают уровни, интерфейсы и размахивают руками во время бурных совещаний по вопросам инноваций. Прогресс кажется быстрым.
Но со временем все начинает портиться. Игра тянется со скоростью 10 кадров в секунду, потому что несколько программистов использовали весь бюджет игры. Из-за отсутствия четкого представления о том, что собой представляет игра, трудно найти инвесторов. Оказывается, художник потратил недели, работая над вариациями персонажа, который появляется только один раз.
Дизайн получается несвязным, потому что очень много людей работали по отдельности, сосредоточившись на своих собственных представлениях о том, какой должна быть игра. Одна часть напоминает глубокую историю RPG. Другая похожа на игру в жанре «экшн-шутер». Третья – на игру в жанре «стратегия». Дизайн в конечном счете становится своего рода монстром, напоминающим Франкенштейна, кусочки которого никогда не станут элегантным целым.
С приближением даты релиза нужно выпустить продукт. Игра не работает как единая система. Оставшаяся работа не соответствует возможностям команды. Одна подсистема пропускает огромное количество графики; другую никто вообще не тестировал; третья – ниже требований к качеству. И наконец, бесполезно рекламировать игру, потому что никто не знает, что это будет.
В конце концов, команда усиленно работает в течение шести месяцев, прорабатывая большие куски игры, пытается укрепить ядро того, что у них уже в наличии, и на выходе получает нечто особенное. Игра получает посредственные отзывы, и все задаются вопросом, что именно пошло не так.
Основная ошибка этих разработчиков заключается в том, что они недостаточно планировали.
Недостаточное и чрезмерное планирование
Без планирования процесс распадается, поскольку разные части команды и игры работают друг против друга. Это недостаточное планирование. Но если мы составим тщательный, детальный план, он рушится при контакте с реальностью. Это чрезмерное планирование. Похоже на «Поправку-22»[12]. В любом случае, мы расстраиваемся.
К счастью, есть решение. Но прежде, чем мы его рассмотрим, мы должны рассмотреть проблемы с недостаточным планированием и чрезмерным планированием более подробно.
Цена недостатка планирования
Недостаточное планирование создает несколько характерных проблем.
Если мы недостаточно планируем, то почти всегда выполняем работу, которую придется отбросить. Работа оказывается ненужной или устаревшей из-за дальнейшего прогресса. Планирование помогает избежать этой проблемы. С помощью планирования мы можем определить минимальный набор шагов, необходимых для достижения цели. Если мы обнаружим, что часть работы не нужна, мы можем убрать ее из плана еще на этапе планирования. Это более эффективно, чем сначала делать, а затем выбрасывать.
Недостаточное планирование также мешает координации команды. Планирование является необходимой частью координации. Даже команда из двух разработчиков должна обсуждать, что они будут делать в течение следующего часа. А теперь представьте команду из сотни разработчиков – координация становится огромной проблемой. План, в котором описывается все, что должен делать каждый в течение следующего месяца или года, является одним из способов решения этой проблемы. Такой план можно отправить всем разработчикам проекта, и каждый человек сможет выполнять свою часть.
В случае с недостаточным планированием это невозможно. Если проект недостаточно спланирован, люди работают без четкого представления о том, как их задачи вписываются в целое. Между работой разных людей появляется несовместимость. Некоторые несовместимости носят технический характер, например в модели персонажа, которая не соответствует стандартам, или в подсистеме, которая потребляет слишком много памяти. Другие несовместимости могут быть творческими, например несовместимость в деталях истории, элементах дизайна или художественных стилях. Это отсутствие творческого единства превращает игру в непродуманного монстра Франкенштейна.
Наконец, разработчики – не единственные люди, которым нужно знать, какой будет игра. Недостаточное планирование лишает информации, на которой можно основывать свою работу. Например, чтобы реклама попала на телевидение, ее сначала нужно сделать и определить ее временной интервал, а это занимает месяцы. Поэтому, если мы хотим согласовать выпуск рекламной кампании в декабре, маркетологи должны были начать работу прошлым летом или еще раньше. Точно так же инвесторы хотят знать, во что они вкладывают деньги, и часто будут требовать подробное описание будущего продукта. HR-менеджеры должны знать, кого нужно будет нанимать задолго до того, как появятся открытые вакансии. Каналы сбыта нуждаются в предварительных оценках того, сколько копий игры будет продано, кому и где. Это нужно, чтобы они могли планировать товародвижение дисков. Мир хочет знать, какой будет игра и когда она появится, а недостаточное планирование делает это невозможным.
Цена чрезмерного планирования
Существует распространенное убеждение, что небольшое количество лишнего планирования никому не помешает. Но это совсем не так. Чрезмерное планирование разрушает проекты разными способами.
Чтобы написать план, требуется время. Его нужно придумать, обсудить, записать, отредактировать и отправить. Поскольку планы превращаются в сотни страниц, они могут утяжелить проект. Чрезмерное планирование отвлекает, и вместо реальной работы над проектом вы тратите время на планирование.
Придется сокращать планы, если они неизбежно проваливаются. Чтобы вырезать согласованную идею, потребуются обсуждения, дебаты и политический вес. А для творческого человека психологически тяжело вкладываться в идею, а затем отказываться от нее. Чрезмерное планирование приводит к появлению многих вещей, которые позже придется убрать из проекта, а это означает, что вы снова и снова будете нести дополнительные затраты.
Но это не самая большая цена чрезмерного планирования. Реальная цена заключается в том, что такое планирование создает ложное чувство уверенности относительно будущего. Планы на бумаге часто рассматриваются как гарантия того, что проект будет реализован. Но это не так – планы переполнены предположениями. Позже, когда будет очевидно, что эти предположения не оправданны, зависящая от них работа просто остановится.
Например, представьте, что согласно первоначальному дизайн-документу персонаж игрока может прыгнуть на 3 метра вверх. Согласно этому плану, дизайнер уровня строит уровень, ограниченный стенами высотой 3,3 метра. Если план правильный, все должно сработать, поскольку персонаж игрока не может преодолеть стену высотой 3,3 метра при том, что он может прыгнуть вверх только на 3 метра. Но затем дизайнер решает, что игра станет намного лучше, если персонаж сможет прыгнуть на 4,5 метра вместо трех. А вот теперь проблема. Либо нужно подгонять уровень для обработки 4,5-метровых прыжков, либо прыжок должен соответствовать запланированному изначально. Один из вариантов заставляет отказаться от хорошей работы. Другой – ухудшает игру.
И далеко не всегда все так просто, как в этом примере.
Настоящий геймдизайн – это паутины зависимостей; изменения в одном месте почти всегда подразумевают много изменений в другом месте. Обычное изменение высоты прыжка может повлиять на границы уровней, движение врага (чтобы он мог поймать прыгающего игрока), головоломки прыжка, аудиовизуальные эффекты прыжка и многое другое. И каждое из этих изменений может подразумевать дальнейшие изменения – изменение движения противника может включать изменения его графики и анимации. Изменение головоломки прыжка может означать изменение сюжета уровня, если эта головоломка связана с сюжетом. Последствия неудачного плана отражаются на дизайне, графике, коде, механике и задумке.
Геймдизайн выделяется среди современных творческих поисков тем, что в каждой системе заложена неопределенность.
Как сказал Сорен Джонсон, ведущий дизайнер Civilization IV: «Быть геймдизайнером – значит быть неправым». Дизайнер может только догадываться, как будет работать система или уровень, но он никогда не сможет сказать это наверняка. Обычно когда игра готова, игровая система работает совсем не так, как предполагалось. Вот почему отличные игры склонны значительно меняться в процессе разработки.
Например, Halo – это один из самых популярных шутеров от первого лица. Но изначально это был совсем не шутер и совсем не от первого лица. Это была стратегическая игра с нисходящим методом проектирования. Вместо того чтобы стрелять в голову космического десантника, игрок смотрел на поле боя сверху и использовал указательный интерфейс, чтобы управлять войсками. Но в процессе разработки дизайнеры обнаружили, что чем ближе они показывали происходящее, тем лучше становилась игра. Они все больше и больше приближали камеру, пока в конечном итоге главный герой не стал смотреть на происходящее собственными глазами. Этот странный путь развития не был ошибкой – он был необходим для того, чтобы игра стала успешной. Halo была известна своими инновациями в крупномасштабных сражениях, включающих нескольких персонажей, гонками на выживание и открытым окружением. Все это изначально было стратегической игрой. Никто не мог запланировать полученный результат, и никто этого и не делал.
BioShock – это исследование подводного города, построенного в стиле ар-деко. Город под названием Восторг был попыткой создания утопии, основанной на принципах философии объективизма Айн Рэнд. Персонаж игрока прибывает в город в 1960 году, утопия потерпела крах, и Восторг погрузился в гражданскую войну. Игра прославилась этим богатым и уникальным нарративом о мире. Но с самого начала события игры BioShock происходили не под водой и не имели ничего общего с Айн Рэнд. Это была научно-фантастическая игра на космическом корабле. Позже они переместились в заброшенный нацистский бункер, кишащий мутантами. Прошло всего несколько лет, и игра превратилась в подводный город в стиле ар-деко и обрела свою тему объективистский утопии. Дизайнеры не планировали этот мир на бумаге; они разработали его за годы работы над самой игрой.
The Sims начиналась как архитектурная игра. Изначально Уилл Райт не планировал помещать в дом семью. Игра была о строительстве и не более. Игрок экспериментировал с различными формами дома, цветами и обстановкой в абсолютно стерильной среде. Только добавив простого персонажа в пространство, Райт обнаружил, насколько сильно это понравилось игрокам. Райт следовал возможностям, которые он видел, и игра все больше и больше сосредоточивались на людях, и так до тех пор, пока они не стали ее центром. Он не планировал такой результат; он обнаружил его в процессе создания игры.
Меняется весь дизайн, как это случилось с Halo, BioShock и The Sims. Но даже самый маленький кусочек игры может преподнести сюрпризы. Например, когда я работал над уровнями головоломки в загружаемом контенте для BioShock, в моем уровне была комната с рядом ракетных пусковых установок вдоль стены. Я хотел, чтобы игроки о них узнали, но чтобы при этом их не убило. По этой причине я использовал старый трюк сообщения игроку об опасности: когда он входил в комнату, появлялся враг и бежал на игрока только для того, чтобы ракетные пусковые установки его обстреляли. Отлично сработало. Враг кричал и взрывался. Проблема казалась решенной. Потом я смотрел, как кто-то другой проходит этот уровень. Он вошел в комнату. Враг закричал и побежал на него; так как это был уровень головоломки, у игрока не было оружия. Поэтому он повернулся и выбежал из комнаты, чтобы убежать от врага. Мне пришлось создать вокруг игрока непробиваемое стекло, чтобы он чувствовал себя в безопасности, не отступал и наблюдал за происходящим.
Геймдизайн всегда изменчив. У каждого опытного дизайнера множество историй о том, как игровые системы работают и не работают там, где этого не ждешь. Невозможно узнать, как будет работать дизайн и будет ли он работать вообще, прочитав дизайн-документ на бумаге. Именно этот разрыв между ожиданиями и реальностью приводит к перегрузкам сотрудников, а также нарушению сроков и бюджета. Когда вы предполагаете, что планы надежны как скала, хотя на самом деле они очень неопределенные, вы будете перепланировать, что не приведет ни к чему хорошему.
ИТЕРАЦИЯ – это практика составления краткосрочных планов, их реализации, тестирования и повторения.
Итерация
Мы не можем вообще не планировать, но мы также не можем планировать каждую деталь до конца проекта. Нам нужно нечто среднее. Нам нужна итерация.
Традиционный творческий подход является линейным. Планируем, затем компилируем, затем тестируем, чтобы проверить качество и готовность продукта.
Итерация работает иначе. Действия выполняются не поочередно, а циклично.
Это означает, что нам не нужно прогнозировать события наперед. Нам нужно планировать только до конца текущего цикла. Каждый раз, когда мы тестируем игру, мы сверяем наши предположения с реальностью. Эта проверка дает надежную информацию, на основании которой мы планируем следующий цикл.
Этот цикл может повторяться несколько раз или тысячи раз в зависимости от проекта. Иногда разработчики планируют количество циклов, которое им нужно, перед выпуском. В других случаях они просто повторяют цикл, пока игра не достигнет необходимого уровня качества или пока не закончится бюджет.
Итерация осуществляется не только для всей игры. Мы можем применять ее для уровня, инструмента или интерфейса. В больших командах должно быть много разных циклов итерации, работающих одновременно.
Пример итерации
Поскольку каждая задача проектирования особенная, любой процесс итерации нужно адаптировать к конкретной задаче. Вот пример простого процесса итерации, который я использовал для разработки боевых сценариев в шутерах от первого лица. Этот процесс не подходит для других задач или разработчиков – это всего лишь один из возможных примеров.
Я начинаю черновую работу и максимально быстро набрасываю базовый бой. Добавляю элементы, не задумываясь и не анализируя их. Я мог бы подумать о том, куда я иду, но мне это не нужно. Моя единственная цель – запустить бой как можно скорее.
Через час я это делаю. Бой, как всегда, получился ужасным. Он выглядит так, как будто его разработал незаинтересованный дизайнер-новичок. Серые блоки укрытий хаотично разбросаны, геометрия мира представляет собой горстку плохо масштабированных кубиков, а враги появляются в виде гигантских глыб. И поскольку я обычно забываю дать игроку оружие, он всегда проигрывает. Но несмотря на свое низкое качество, эта первая версия выполняет свое предназначение. Она замыкает цикл итерации.
Бой больше не прокручивается в воображении. Он вполне реален. Когда человек играет в настоящую игру, держа руки на джойстике, слыша тикающий секундомер, у него возникают мыслительные процессы, которые невозможно воспроизвести любым другим способом. Эта первая версия игры и не должна быть похожа на конечный продукт. Ее единственная цель – стать стартовой платформой к чему-то менее ужасному.
И это получается. Пока я играю, мне в голову приходят новые идеи, и они более конкретны, чем все, что я мог придумать до этого. Они мне нравятся, и мне не нужно ждать, анализировать или что-то записывать. Мое вдохновение не улетучивается. Протестировав игру один раз, я возвращаюсь в редактор, удаляю куски, которые не работали, разбрасываю по местности места для укрытия, дорабатываю оружие и врагов. Возможно, на этот раз я даже не забуду дать игроку оружие.
Я делаю несколько таких циклов, меняю уровень и проверяю его снова и снова. Поскольку итерация проходит быстро, я не трачу время на анализ. Я просто добавляю что-то в уровень и тестирую несколько минут. И так как вся игра еще остается в виде серых блоков, работа остается сырой. Это хорошо, так как я вношу достаточно существенные концептуальные изменения вроде замены башни на мост или меняю тип основных врагов. О деталях пока не думаю.
За несколько часов я повторил несколько циклов итерации и, возможно, несколько раз поменял общую концепцию. Могу начать с врагов в башне (на самом деле это просто высокий блок со снайперами наверху), но понимаю, что это не сработало. Могу попробовать начать с моста (длинный, широкий блок через длинную дыру в полу). Возможно, я попробую делать минные поля, снайперов, траншеи, артиллерию и любые другие приемы, которые смог придумать. Даже самые черновые версии любого из предложений можно сделать за считанные минуты.
Попробовав от трех до восьми разных концепций, я выбираю одну, рабочую. И здесь все начинает меняться. Цикл удлиняется, я вношу меньше изменений. Я не тестирую игру каждый час, а делаю это раз в два или три часа. Я не разрываю и не заменяю целые здания, а делаю позиционирование на стенах и колоннах. Всегда вношу изменения, обусловленные реальными проблемами, которые я заметил при тестировании. Каждый тест указывает мне на новые очевидные изменения, которые необходимы.
С этого момента я подключаю к работе дизайнера уровней. Скорее всего, он еще не работает непосредственно над пространством – для этого еще слишком рано, но он может проконсультировать по поводу его художественной реализации. Если моя общая концепция бессмысленна с художественной точки зрения, возможно, мне стоит начать все сначала. Чаще всего мы обсуждаем способы корректировки игрового пространства, чтобы сделать его более пригодным для графики. Например, сам уровень остается серым, но мы можем решить придать башне или мосту какую-нибудь необычную форму, которая отражает стиль, тему, историю мира и его настроение. Дизайнер уровней может что-то смоделировать или сделать тестовый уровень, чтобы исследовать художественные идеи для игрового пространства.
Итерационные циклы продолжаются. Бой становится сбалансированным. Иногда пространство меняется в соответствии с художественными или нарративными проблемами, но большинство изменений по-прежнему обусловлены проблемами баланса, темпа, ясности и глубины.
Однако, в конце концов, я захожу в тупик. Настает момент, когда, тестируя свою собственную работу, вы больше ничего не узнаете. К этому моменту у меня уже есть готовый, рабочий бой, который меня устраивает, но игра создается не для меня. Бой должен работать для всех своих игроков. И единственный способ понять, насколько хорошо он работает, когда в него играют реальные игроки, – это понаблюдать за их игрой.
Итак, я приглашаю других тестировщиков вместо себя. В идеале, приглашаю реальных игроков из потенциальной целевой аудитории для этой игры. Но даже если это невозможно, существуют и другие альтернативы. Я обычно «использую» коллег. Приглашаю программистов, тестировщиков, художников и звукорежиссеров, которые не видели бой, сажаю их за свой компьютер и смотрю, как они играют. Я ничего им не говорю, стою подальше от них, чтобы они меня не видели, и жду момента, когда что-то пойдет не так.
И он всегда наступает. Некоторые игроки прекращают бой, изобретая стратегии, о которых я никогда не думал. Они отказываются продвигаться вперед и стреляют по каждому врагу с расстояния. Или атакуют вражеские батальоны без единого выстрела. Другие впадают в фрустрацию, потому что они не знают бой так, как его знаю я, или не замечают ключевой элемент. Они не замечают дыру в полу, проваливаются в нее и умирают. Их может застрелить парень, которого я послал им в помощь. Они наступают на мигающую мину, которую я считал очевидной. Перефразируя название шоу Билла Косби, тестировщики делают самые невероятные вещи.
Проведя один плейтест, я пишу список задач, которые нужно решить. Некоторые из них простые (лучше осветить врага, чтобы люди могли его видеть). Другие более сложные (реструктурировать маршрут слева, чтобы его могли использовать как игроки, так и враги). Я приступаю к работе. Спустя полдня изменения внесены, и я готов к следующему плейтесту. Я нахожу кого-то, кто еще не проходил этот бой, и смотрю, как он играет.
Цикл повторяется еще 10–20 раз. К концу цикла проходит две или три недели. Бой идет в хорошем темпе, хорошо сбалансирован и подходит игрокам разных уровней мастерства и с разными игровыми привычками. Мне не нужно догадываться, как будут развиваться события, когда игра попадет к реальным игрокам, потому что я уже и так это знаю благодаря тестировщикам. Но это все еще не похоже на готовую игру – повсюду вы видите плоские серые формы. Самое время художникам вступить в бой.
Дизайнеры уровня делают первые шаги в игровом пространстве, заменяя серые фигуры настоящими художественными образами. Мы снова тестируем. Даже если механика боя не меняется, художественные изменения влияют на то, как игроки его воспринимают, поэтому мы должны видеть, как они влияют на плейтест. Если мы видим проблемы, то обсуждаем их, чтобы найти решение. Иногда мне приходится изменять детали сценария, удаляя или добавляя героев или инструменты. В других случаях художнику, возможно, придется добавить свет или что-то упростить, чтобы уменьшить шум. Итерационный цикл длится уже несколько дней, так как создание графики – это медленный процесс.
Если нам повезет, графика не вызывает серьезных проблем. Поскольку я провел тщательный плейтест с серыми кубами, базовый уровень должен работать так же, как и раньше. Итак, еще через несколько циклов уровень начинает работать как на уровне механики, так и графики.
Теперь мы еще больше увеличили цикл, включив в него другие дисциплины разработки. Текстовые окна заменяются на реальные диалоги. Звукорежиссеры передают атмосферу и звуки сцен. Мы ищем способы выразить нарратив о мире через игровое пространство. Писатели переделывают диалоги. Наконец, тестировщики справляются на отлично, мы исправляем технические неисправности и игра поставляется на рынок.
Это один из способов разработки шутера. Другие итерационные циклы могут значительно отличаться в зависимости от проекта и преследуемых целей. Этот конкретный процесс был основан на механике, поэтому начал его дизайнер боев, работающий над балансом и темпом. Для другой игры может потребоваться хороший нарратив, где сначала происходит итерация сюжета, а затем механики. Кроме того, существуют совершенно разные аспекты дизайна: дизайн персонажей, дизайн интерфейса и дизайн систем требуют разных методов. Некоторые будут представлять короткие циклы, сделанные одним человеком. У других будут длинные циклы продолжительностью в несколько недель с участием 10 разных специалистов. Некоторые разработчики тестируют игру в одиночку, другие тихонько наблюдают со стороны, кто-то использует метрики автоматизированного тестирования или отправляется в специализированные лаборатории.
Но независимо от того, какой цикл вы будете использовать, в основе итерации лежат те же базовые принципы. Она меняет глубокое планирование на проверку в реальных условиях. Она помогает сначала протестировать крупную текстуру, прежде чем переходить к оттачиванию деталей. И она требует, чтобы дизайнеры не слишком инвестировали в планы на будущее, а вместо этого постоянно адаптировались к непредсказуемым результатам тестирования.
Горизонт планирования
Сколько должен длиться итерационный цикл? Нужно ли тестировать игру каждый день? Каждую неделю? Каждый месяц?
Если наш цикл слишком длинный, мы занимаемся избыточным планированием. В конечном итоге все закончится тем, что разработчики будут думать о проблемах, которых не существует, или не заметят проблем, скрытых за их предположениями. Если цикл слишком короткий, мы планируем недостаточно. Мы теряем время на ненужную работу и не можем заставить группу разработчиков работать в команде. Мы должны найти баланс между ними, выбрав правильный горизонт планирования.
ГОРИЗОНТ ПЛАНИРОВАНИЯ – это будущее время, на которое планируется работа.
Долгосрочный горизонт планирования – это планирование работы на месяц и ее последующее выполнение, прежде чем перейти к следующему тестированию. Краткосрочный горизонт планирования – просто закидать игру разными формами и ежеминутно тестировать, чтобы понять, как все работает.
Выбор горизонта планирования в основном зависит от степени точности ваших планов. Если вероятность того, что все пойдет по плану, достаточно высока, горизонт планирования должен быть долгосрочным. Именно так архитекторы проектируют здания вплоть до болтов и гаек – они абсолютно уверены в конфигурации. Если планы склонны меняться, ваш горизонт планирования должен быть краткосрочным. Это похоже на футбольный матч, когда все меняется в зависимости обстоятельств, которые невозможно спрогнозировать. Любой процесс разработки игры находится в некоторой точке между этими двумя крайностями.
Давайте рассмотрим некоторые более конкретные обстоятельства, которые влияют на горизонт планирования.
Шаблонные, производные игры могут иметь относительно долгосрочный горизонт планирования, потому что они зависят от имеющихся данных.
Чем игра менее оригинальна, тем глубже мы можем планировать. The Sims полностью изменились во время разработки, а The Sims 2 – нет, потому что ядро дизайна уже было хорошо разработано в первой игре. Точно так же разработчик шутера от первого лица может заимствовать из других игр всю уже имеющуюся информацию по этому жанру, чтобы понять, как будет работать его собственная игра.
Крайней формой является создание клона или портирование существующей игры. Поскольку весь проект уже создан и протестирован на реальных игроках, можно даже заранее спланировать каждую деталь, подобно архитектору, который готовит копии проектной документации.
Вот почему создание сиквела так сильно отличается от создания оригинала. Некоторые игровые франшизы делают пять сиквелов или больше, незначительно изменяя базовую механику. Это обеспечивает плавность процессов разработки, поскольку дизайн пятого сиквела может зависеть от огромного объема информации, полученной в предыдущих играх.
Исходные игры позволяют только краткосрочное планирование, так как они зависят от элементов, которые еще не были использованы.
Планировать исходные игры гораздо сложнее, потому что у дизайнера нет основы из хорошо проверенных дизайнов. Исходная игра, состоящая из оригинальной механики, управляемой с помощью оригинального интерфейса в оригинальном мире, представляет собой гигантскую сеть взаимосвязанных неопределенностей. В такой ситуации правильный горизонт планирования может составлять день или меньше. Любой план, составленный на неделю вперед, может разрушиться в результате внезапных сюрпризов в виде работающего или неработающего геймплея.
Соответствующий горизонт планирования склонен увеличиваться в течение срока проекта.
В начале проекта мы стоим на зыбучем песке предположений. К концу мы беспокоимся о мельчайших деталях структуры. На начальном этапе горизонт планирования проекта может составлять менее суток, так как небольшая группа разработчиков пробует дикие идеи. Последние несколько месяцев могут быть распланированы заранее в развернутой таблице с указанием каждого графического объекта и каждой задачи программирования, которые необходимо закрыть, прежде чем игра выйдет на рынок.
При низкой стоимости тестирования необходим краткосрочный горизонт планирования.
На начальном этапе проектирования боя я мог очень быстро скомпилировать и протестировать идею боя. Зачем тратить час на анализ идеи, если я могу создать и протестировать ее за 15 минут и получить гораздо больше информации? Оно того не стоит. Поэтому я не думаю слишком много, а просто делаю игру.
В этом преимущество хороших инструментов. Они не только делают игру быстрее. Дело в том, что они смещают проблему выбора между планированием и компиляцией и позволяют использовать более экспериментальный подход к разработке, уменьшая цену ошибки. Хорошие инструменты позволяют рисковать. Так они позволяют вам обратить внимание на дизайн, который вы могли пропустить, если работа шла слишком медленно и вам приходилось планировать и все делать правильно с первого раза.
Планируйте более глубоко, если вы ставите своей целью новаторство.
Итерация – это то, что известно как алгоритм поиска с восхождением к вершине. Представьте каждую возможную игру в виде точек на ландшафте. Точки на более высоком уровне – те игры, которые считаются лучше. Итерация делает игру похожей на слепого альпиниста, который начинает карабкаться по любому склону, где оказывается. Он делает короткие шаги, тестирует их, чтобы понять, стали ли они лучше, и продолжает дальше, если ожидания подтвердились. Со временем игра становится все лучше и лучше.
Проблема поиска с восхождением к вершине заключается в том, что альпинист слеп, он не может точно сказать, поднимается ли он на гору или холм. Если мы пойдем по склону невысокого холма, мы доберемся до его вершины, но не будем знать о горе неподалеку. Мы хотим взойти на эту гору, но если мы можем делать только небольшие шаги, у нас нет возможности добраться туда с вершины этого холма. Итерация оптимизирует дизайн, но не меняет его полностью.
Чтобы прыгнуть выше, нужно оторваться от земли. Это означает внесение больших изменений в дизайн без тестирования. Это рискованно – вы не узнаете, где приземлитесь, пока не доберетесь туда, но это единственный способ открыть радикально новые идеи и избежать стандартизированного дизайна. Составление детального плана позволяет вам увидеть горы на расстоянии, однако вы можете подойти к ним и обнаружить, что это всего лишь подножие горы. В этом заключается риск глубокого планирования.
Избыточное планирование: причины
Как недостаточное, так и чрезмерное планирование одинаково опасно. Но в геймдизайне избыточное планирование более разрушительно. В основном проблема разработчиков заключается в избыточном, а не в недостаточном планировании, а это наносит больше ущерба.
Почему в игровом дизайне возникает избыточное планирование? Существует ряд устойчивых стереотипов, которые заставляют нас планировать в избыточном количестве снова и снова. Давайте разберемся в них подробнее.
Привычка, заложенная культурой
С юных лет мы знакомимся с привычкой планирования. Учителя и родители учат нас планировать заранее и думать о будущем.
И обычно это хорошая идея. Современный мир появился благодаря тщательному планированию. Когда инженеры и рабочие строили плотину Гувера, они заранее решили, что будут делать, прежде чем приступить к работе. Они точно знали, сколько бетона нужно и где именно он будет залит. Они могли точно распланировать работу и поставки материалов для максимальной эффективности. И готовая плотина выглядела практически точно так же, как и было решено на этапе проектирования.
Но геймдизайн отличается, потому что в нем больше неопределенности. Архитекторы плотины Гувера не могли на полпути вдруг решить, что плотина должна была стать небоскребом. Но разработчики Halo обнаружили, что их стратегия, спроектированная по принципу «сверху вниз», должна стать шутером от первого лица. И, как мы уже убедились, такого рода радикальная трансформация не является необычной.
Врожденная самоуверенность
Давайте поиграем в игру об уверенности. Я задам вам десять вопросов, ответы на которые – цифры. Ваша задача – дать завышенные и заниженные оценки так, чтобы по каждому вопросу вы были на 90 % уверены, что ответ попадет в пределы диапазона, который вы указали.
Имейте в виду, что диапазоны могут быть любой величины. Для этого не нужно знать правильные ответы. Задайте достаточно широкий диапазон, чтобы вы на 90 % были уверены, что правильный ответ находится между верхней и нижней границами. Если вы сомневаетесь, ваш диапазон будет большим. Если нет, он будет маленьким.
Я настоятельно рекомендую вам взять карандаш и записать свои ответы. Это упражнение работает не так хорошо, если его только прочитать.
Теперь сверьте свои ответы с ответами в конце книги. Что у вас получилось?
Обратите внимание, что ваш результат теста никак не связан с вашими знаниями географии или истории. Чтобы ваш уровень достоверности составил 90 %, вы можете задать любой диапазон, какой только захотите. И если вы это сделали, то почти наверняка получили 8, 9 или 10 ответов, которые попали в предел вашего диапазона.
Но если вы относитесь к большинству, то, скорее всего, у вас получилось от двух до четырех правильных ответов. Небольшое количество людей получают в своем доверительном интервале пять или шесть правильных ответов. Очень немногим удается пройти тест, даже если они понимают, как он устроен, и уже решали его ранее.
Когда я решал аналогичный тест в книге Стива Макконнелла «Software Estimation: Demystifying the Black Art» (Microsoft Press), я ответил правильно на четыре вопроса. Макконнелл давал подобные тесты сотням профессиональных оценщиков. Это были люди с многолетним опытом оценки сроков реализации проекта и затрат на программные проекты. Даже среди этой элитной группы Макконнелл обнаружил, что фактически менее 1 % тестируемых отвечают правильно на девять вопросов, которые мы должны ожидать от объективной оценки. Более 90 % из них получили пять или менее правильных ответов. Почему так произошло?
Людям присуща самоуверенность.
Психологи называют это оптимистическим уклоном. Что-то в психологии человека приближает доверительную оценку в 90 % к доверительной оценке в 30 %.
Эта чрезмерная уверенность не ограничивается оценкой чисел в вопросах. Исследования показали, что люди постоянно чрезмерно уверены относительно бюджета на разработку программного обеспечения, экономических прогнозов, бизнес-планов и военных стратегий.
Подобная необъективность имеет огромные последствия в планировании в геймдизайне. Иными словами, без поправки дизайнер будет уверен в своем дизайне на 90 %, хотя на самом деле шанс, что дизайн будет рабочим, составляет всего 30 %. Так складывается огромный разрыв между ожиданиями и реальностью. Такая самоуверенность заставляет нас думать, что мы можем планировать то, что на самом деле не сможем реализовать. Мы читаем дизайн-документ и думаем, что проект будет работать, хотя вероятность того, что он будет работать именно так, как мы ожидаем, является достаточно низкой. Это толкает нас в сторону избыточного планирования.
Терапевтическое планирование
Вспомните выражение «чувствовать неуверенность». Технически быть неуверенным – значит не иметь определенной информации. Но фраза «чувство неуверенности» перегружена негативными эмоциональными оттенками. Мы рассматриваем неуверенного человека как неспособного и неэффективного. Если мы неуверены, то представляем себя нервными и подавленными. Неуверенность эмоционально неприятна. Ответная реакция на неопределенность часто заключается в желании скрыть неопределенность за терапевтическим планированием.
ТЕРАПЕВТИЧЕСКОЕ ПЛАНИРОВАНИЕ – это планирование не для координации работы, а для того, чтобы мы не беспокоились о неизбежно неопределенном будущем.
Наличие плана может убрать тревогу неуверенности, создав ложное чувство уверенности в будущем. Но, как говорит философ Нассим Талеб, если вы хотите расслабиться, выпейте и не делайте прогнозов. Опрометчивое прогнозирование намного опаснее.
Отсутствие избыточного планирования означает принятие когнитивного стресса из-за неопределенности. Это означает постоянную переоценку ситуации, а не откладывание решений, поскольку их можно легко забыть. Желание избежать этого умственного усилия часто приводит к терапевтическому перепланированию.
Групповая ошибка планирования
Представьте двух человек, Уверенного Боба и Рациональную Алису, в группе, которая пытается угадать погоду. Рациональная Алиса смотрит на небо и точно помнит, что во всех случаях, когда она видела аналогичные сочетания погодных условий, дождь шел почти половину всего времени.
«Я понятия не имею, пойдет дождь или нет, – говорит она. – Как бы то ни было, мы не можем знать наверняка».
Люди поощряют чрезмерную уверенность и ценят ее выше, чем рациональные сомнения.
Теперь выходит Уверенный Боб. Он недолго смотрит вверх, улыбается, словно наслаждаясь шуткой, понятной только ограниченному кругу людей. Он поворачивается к группе и уверенно объявляет: «Дождя не будет. Не беспокойтесь».
Группа естественным образом выбирает Боба. Боб получает последователей, одобрение и социальный статус. Алису называют слабой, глупой, нерешительной или ленивой, хотя ее ответ и был более точным.
Это групповая ошибка планирования. Люди естественным образом тянутся к лидерам, которые, как им кажется, уверенно смотрят в будущее, даже если это видение будущего не соответствует реальности.
Чтобы не попадаться на эту удочку, достаточно поймать Боба на том, что он оказался неправ. Как только это случится несколько раз, люди перестанут его слушать. Но такие выводы в геймдизайне не так очевидны, как в прогнозе погоды. В геймдизайне трудно сразу связать причину и следствие, результаты могут проявляться годами, и за это время происходит так много, что мы забываем о своих прогнозах. В обычной жизни, когда мы можем оценить результат такого «предсказателя» практически сразу, наши инстинкты в конечном итоге заставляют нас не доверять Уверенному Бобу. Но в современных задачах дизайна происходит иначе. У нас нет такой подушки безопасности. Таким образом, стереотипы относительно Уверенных Бобов остаются, а подушка безопасности (проверка результатов) – нет. Стереотипы не сбалансированы.
Если мы не будем бороться с этим эффектом, люди пойдут за более уверенным лидером, а не за тем, кто прав. Неопределенность скрывается за бравадой, и начинается избыточное планирование.
Эффект хиндсайта
Несмотря на все описанные выше стереотипы, можно подумать, что мы могли б учиться на ошибках. Существуют разработчики, которые прошли через десять чрезмерно спланированных проектов подряд, каждый раз испытывая одну и ту же боль, вырезая лишние функции, работая в цейтноте и хаосе. Почему мы не учимся на этом опыте? Виной тому эффект хиндсайта.
ЭФФЕКТ ХИНДСАЙТА (склонность к запоздалым суждениям) – это когнитивные искажения, которые незаметно перестраивают воспоминания, чтобы прошлые события выглядели так, как будто они были более предсказуемыми, чем на самом деле.
В 1972 году исследователь Барух Фишофф спросил людей, что может произойти во время предстоящей дипломатической поездки президента Никсона в Китай. Будет ли Никсон встречаться с Мао Цзэдуном? Произойдет ли значительный дипломатический прогресс? Он спросил о вероятности этих событий, а также о 13 других.
Когда Никсон вернулся, Фишофф снова попросил тех же людей сказать, с какой вероятностью событие будет иметь определенный исход. Эффект хиндсайта был очевиден. Если чей-то прогноз оказывался верным, человек говорил, что был увереннее в своем ответе, чем это было на самом деле. Если же прогноз оказывался неверным, то он преуменьшал степень своей уверенности. Они скорректировали свои воспоминания, преувеличивая свою способность предвидеть, как все произойдет. Постфактум процесс разработки игр всегда выглядит более логичным и контролируемым, чем это было на самом деле. Наш мозг автоматически редактирует хаос процесса разработки, превращая его в нашей памяти в чистую историю. Когда мы рассказываем о нем другим, мы еще сильнее осуществляем упрощение. Бесплодная трата времени время на тангенсы, бездумные ошибки, ужасные недопонимания и монотонные дни оттачивания работы – все это отпадает, а история становится детской сказкой. На самом деле я описал подобные истории в этой книге.
Проблема в том, что уроки, которые мы должны извлечь, заключаются не в чистой отредактированной истории, которую мы рассказываем позже. Они в запутанных уловках и ложных предсказаниях, которые мы вычеркиваем из истории. Эффект хиндсайта мешает нам учиться на своих ошибках, заставляя нас думать, что события были более предсказуемыми, чем они были на самом деле. Эффект хиндсайта всегда заставляет чувствовать, что глубокое планирование было бы возможным. Поэтому мы думаем, что оно будет возможно в будущем, и мы снова и снова занимаемся избыточным планированием и не учимся на своих ошибках.
Когда вы знаете, что искать, вы начинаете видеть эти ошибки избыточного планирования. И вы сможете их исправить.
Протокол тестирования
Итерационный процесс представляет собой цикл между планированием, компиляцией и тестированием. В основном все сосредоточены на планировании и компиляции, а тестированием часто пренебрегают. Но этап тестирования имеет решающее значение, потому что это механизм, с помощью которого мы извлекаем уроки из реального мира и получаем основное преимущество итерации.
Цель плейтестинга состоит не в том, чтобы выявить технические проблемы или собрать данные о маркетинге, а в том, чтобы понять, как работает геймдизайн в действии. Это значит, что нужно дать поиграть в игру обычным людям и посмотреть, где дизайн работает, а где – нет. Где игроки в замешательстве? Где слишком легко или слишком сложно? Достаточно ли сбалансирована игра? Есть ли вырожденные стратегии? Понимают ли игроки нарратив?
Проведение плейтеста – это навык. И это не менее сложно, чем планирование или компиляция. Качественный плейтест дает дизайнерам необходимую информацию без особых затрат и усилий. Плохой плейтест – и дизайнер пропускает критические недостатки дизайна, тратит время напрасно и даже может активно вводить в заблуждение других дизайнеров.
Ключом к получению достоверных данных является использование правильного протокола тестирования.
ПРОТОКОЛ ТЕСТИРОВАНИЯ – это набор правил и процедур для проведения плейтеста.
Создать хороший протокол тестирования сложно, потому что если мы делаем это неправильно, то не получаем никакой обратной связи. Ошибочные или вводящие в заблуждение результаты тестирования часто выглядят очень убедительно. Хуже того, при плохих протоколах тестирования сам тест обычно проходит более гладко. Плохо выполненное тестирование хуже, чем просто бесполезное тестирование. Перед плохим тестированием дизайнер не знал, работает ли игра. После плохого тестирования он думает, что игра работает, хотя на самом деле это не так. Дело не в том, что он не смог получить информацию, а в том, что та информация, которую он получил, не соответствует действительности.
Однажды я расспрашивал ведущего дизайнера по поводу провалившегося многопользовательского шутера. Вот так выглядел его протокол тестирования: группа игроков сидела в комнате с запасами еды и в течение продолжительного времени играла в игру. В этой среде игра, казалось, работала хорошо. Они выполняли циклы итерации, находили проблемы, тестировали и шлифовали игру до тех пор, пока она не стала такой же глубокой и сбалансированной, как философ, идущий по канату. Но этот успех был обманчивым, потому что их протокол тестирования не выявил каких-либо ошибок в дизайне, которые обнаруживаются в том случае, когда в игру играют незнакомые друг с другом люди через интернет, а не друзья в одной комнате. Пока играли хорошо скоординированные, очень общительные команды, игра проявляла себя блестяще. В интернете ее не ждал успех. Она настолько зависела от сложной командной тактики, что не работала совсем, если играли ленивые, некомпетентные, случайные игроки. Дизайнеры проводили плейтесты, но их ошибочный протокол тестирования не выявил критические недостатки в дизайне, и поэтому игра провалилась на рынке и среди большинства игроков.
Протоколы тестирования могут не оправдать надежд множеством способов. Открытое тестирование приводит к появлению у тестировщиков желания подтвердить свою точку зрения. Групповое тестирование создает социальную конкуренцию, и игроки копируют мнения друг друга. Если попросить игроков выражать свои мысли вслух, дизайнеры смогут интерпретировать действия игроков, но в этом случае действия могут изменяться. Выбор тестировщиков приводит к необъективности, которая скрывает проблемы, появляющиеся, только если в игру играют люди определенного возраста, пола, культуры или уровня мастерства. Небольшое количество тестировщиков означает, что наши данные искажены поразительно большими случайными статистическими отклонениями.
В конце концов, мы никогда не сможем полностью избежать этих отклонений. Протокол тестирования – это не вопрос правильного и неправильного. Это ремесло, в котором дизайнер пытается получить максимально полезную информацию из заданного набора ресурсов.
Давайте рассмотрим основные протоколы тестирования.
Самостоятельное тестирование
Самый дешевый протокол тестирования – игра в одиночку. Несмотря на то что оценка дизайнера предвзята, так как он знает игру, обычное наблюдение за игровыми системами в их непосредственном движении дает огромное понимание. Так можно выявить множество проблем в потоке, ритме и балансе. И конечно же технические неисправности лучше всего обнаруживать при самостоятельном тестировании. Самые ранние циклы итерационного процесса должны завершаться самостоятельным тестированием.
Плейтестинг «через плечо»
В этом случае дизайнер наблюдает за тем, как играют другие игроки. В ином случае он может даже просто схватить своего коллегу и усадить его за свой рабочий стол. Или же может пригласить случайных людей в ненастоящую гостиную с напитками, игровой системой и скрытыми камерами.
Наблюдение за плейтестингом «через плечо» лучше, чем самостоятельное тестирование, потому что можно привлечь разных игроков и они не будут знать игру полностью. Вы можете пригласить поучаствовать старых, молодых, мужчин, женщин, агрессивных, пассивных и еще кого угодно. И никто из них не будет знать об игре так, как вы, поэтому все они будут воспринимать ее практически как настоящие игроки.
Самая большая опасность в наблюдении за плейтестом «через плечо» – это испортить тест, сказав игрокам то, чего они не должны знать. Именно поэтому почти во всех случаях дизайнер должен молчать во время теста. Не говорите. Не смейтесь. Не вздыхайте тяжело. Не сигнализируйте и не выдавайте свои мысли. Если тестировщик спросит вас о чем-то, скажите нейтральным тоном: «Извините, я не могу ответить».
Это правило неудобно с социальной точки зрения. Если игрок смущен или расстроен, для него такая игра может быть попросту болезненной. Каждый опытный дизайнер наблюдал, как игрок застревал минут на пятнадцать в поисках двери или кнопки. Вы отчаянно хотите подсказать игроку: «Вот же она! Просто нажмите синюю кнопку!» Но так вы испортите весь тест, дав тестируемому ту информацию, которой не будет у реальных игроков. Это уже будет не тестирование игры, а ее странная версия, в которой дизайнер приходит в определенное пространство и раздает советы. Тесты могут идти более или менее гладко, но только потому, что недостатки скрыты.
Иногда, чтобы заполнить недостающие фрагменты игры, необходимо предоставить игроку информацию. В этих случаях ее необходимо включить в протокол тестирования заранее.
Как выбрать тестировщиков
Выбор тестировщика влияет на тип данных, которые вы получите. Основное различие между тестировщиками заключается в их знании игры.
В так называемой тестировке Kleenex дизайнер приглашает тестировщиков, которые никогда не играли в эту игру. Этот вид тестирования показывает, как игроки будут реагировать в первые критические моменты игры. Но этих тестеровщиков можно приглашать только один раз, отсюда и название данного вида тестирования.
В других случаях мы хотим проверить наличие в игре баланса высокого мастерства. Для этого нужны игроки, которые смогут играть интенсивно в течение длительного времени. Обычно это означает наличие команды специализированных тестировщиков, которые ежедневно работают над своими навыками.
Между этими крайностями есть различия. Например, в процессе разработки боев я тестировал игру на коллегах, которые знали игру, но не знали, над каким именно боем я работал. Таким образом, их первоначальные знания игры были близки к знаниям реального игрока. Они знали игру, но не конкретный бой, который я разрабатывал.
Тестировщиков можно выбирать и по другим критериям. Вы можете протестировать игру на детях или пожилых людях, людях разных культур, социально-экономических традиций или интересов. В общем, выбирайте набор тестеров, похожих на людей, с которыми вы хотите сыграть в финальной игре.
Размер выборки
Можно запросто зациклиться на одном-единственном результате плейтеста. Поскольку ваш мозг инстинктивно верит, что то, что вы видите, то и существует (WYSIATI), вы попадетесь в ловушку, думая, что этот опыт – это и есть вся игра. Но часто оказывается, что первый тестовый запуск был всего лишь одним незначительным шагом сквозь большой и разнообразный набор возможных опытов. Вот почему хороший плейтест предполагает много плейтестов.
Хорошие решения могут быть приняты только в том случае, если дизайнер понимает все возможные опыты, которые может генерировать игра. Это предполагает множество плейтестов.
Без такого широкого ментального контекста дизайнеры будут стремиться решать задачи опыта, который им доступен, и при этом создавать проблемы в опыте, который недоступен. Игра может продолжать постоянно меняться, но она не улучшится, потому что каждое решение приводит к еще большему количеству проблем.
Чтобы добиться реального прогресса, мы должны решать задачи с одним опытом, не вызывая проблем в другом месте. Это невозможно, если мы увидели только один или два потока, в которые игроки могут попасть. Мы должны знать все, что игра дает игрокам. Тогда мы сможем выбрать подходящие решения.
Процесс получения этого контекста прост: смотреть много плейтестов. Каждый тестировщик показывает вам новый поток в пространстве возможностей игры. Как только вы наберете достаточно информации, вы сможете сформировать полноценную модель всех опытов, которые может предложить игра. Вы будете знать обо всех развилках и возможностях, которые могут возникнуть в любой ситуации, и о том, как они взаимосвязаны. Вы сможете предсказать все различные последствия изменения дизайна, потому что вы будете понимать игру как систему, а не как историю.
Для этого нет готового списка плейтестов. Разные игры генерируют разный опыт, поэтому некоторые из них нужно тестить дольше, прежде чем дизайнер сможет их понять. Для очень простой, ограниченной игры может потребоваться от двух до трех плейтестов. В боевом шутере – обычно от 6 до 12 плейтестов. В неограниченных системных играх необходимое количество плейтестов может быть весьма большим.
Хорошее проверенное правило – прекратить плейтестинг, когда вы видите, что тестировщики часто повторяют один и тот же опыт. Как только это произойдет, можете быть уверены, что понимаете достаточно из того, что может предложить игра, чтобы принимать правильные дизайнерские решения.
Методика опроса
Мы можем узнать большую часть того, что нас интересует, просто наблюдая за плейтестом. Тестировщик проиграет, тем самым показав нам, где игра слишком сложная, и мгновенно выиграет, показав, где она слишком проста. Пропустив инструкции или удобный случай, он покажет нам, где игра непонятна.
Но иногда одного наблюдения недостаточно. Иногда нам нужно понять, что произошло в голове у тестировщиков. Иными словами, мы должны спросить у них.
Проблема в том, что устные сообщения ненадежны. Воспоминания редактируются или придумываются полностью. Отчет об опыте смешивается с предложениями по дизайну. Зацикленность тестировщика на дизайнере или студии затуманивают его мнение об игре. Тестировщик не делает этого намеренно; такова человеческая природа. Поэтому, чтобы узнать что-либо со слов тестировщика, мы должны составлять свои вопросы очень тщательно.
Мой любимый вопрос, который я задаю после тестирования, звучит примерно так: «Расскажите историю о том, что только что произошло в игре». Этот вопрос на проверку памяти. С его помощью можно выяснить, какие особенности игры игрок понял, запомнил и посчитал достаточно важными, чтобы их упомянуть. Вещи, которые он не упоминает в своем рассказе, могут быть баластом дизайна. Часто я обнаруживал, что история, которую помнят игроки, очень отличается от того, что я написал, или от того, что произошло на самом деле.
Дизайнер также может адаптировать вопрос, чтобы определить, понял ли игрок конкретную вещь. Не стоит спрашивать: «Вы заметили дверь слева?», потому что сам вопрос дает игрокам подсказку и ответ может быть необъективным. Они чаще всего отвечают «да», просто чтобы не выглядеть глупо или понравиться интервьюеру. Лучше спросить: «Расскажите мне, почему вы выбрали этот путь». Тестировщик либо упомянет про дверь слева и объяснит, почему он не вошел в нее, либо промолчит. В первом случае это говорит о том, что ее заметили и проигнорировали, а во втором – что ее могут вообще никогда не заметить.
Держитесь профессионально и открыто. Наблюдая за тестировщиками или слушая их отзывы об игре, особенно если они не понимают ее так, как она была задумана, можно очень легко разочароваться. Но любое внешнее проявление этой эмоции заставит тестировщиков замолчать и перестать отвечать на вопросы честно. Тестировщики делают вам одолжение, поэтому относитесь к ним с благодарностью.
Тестирование методом «серого ящика»
Глупо создавать полномасштабное аудиосопровождение и графику для проекта только для того, чтобы во время плейтеста выяснилось, что он не работает. Чтобы избежать этого, мы можем выполнить итерацию методом «серого ящика».