Главная » Хабрахабр » [Перевод] Почему в 2018 году я использую метод разработки, которому уже 30 лет

[Перевод] Почему в 2018 году я использую метод разработки, которому уже 30 лет

image

Создавать игры сложно

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

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

В момент соединения всех частей (то есть создания первой играбельной версии) вы понимаете, действительно ли ваша команда шла к исходной цели. Это совершенно неподходящий момент, если вы проработали над игрой несколько лет.
«Но разработка игр сама по себе является хаотичным процессом», — возражает выдуманное мной соломенное чучело. Да, оно право, всё так и есть. Для инноваций нужны время, талант, впустую потраченный труд и бесконечное количество итераций. Как усмирить этот хаос и получить возможность создавать инновации, не рискуя всем?

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

В соответствии с методом Церни к концу препродакшена у вас должен быть один уровень игры, неотличимый от завершённого профессионального продукта. Здесь нельзя срезать углы. Демо — это не первая играбельная версия. Альфа — это не первая играбельная версия. «Белый ящик» — это совершенно точно не первая играбельная версия. Графика, анимации, механики и звук должны работать вместе, они должны быть потрясающими и вместе они должны походить на то, что сможет победить конкурентов два года спустя.

Но зачем?

Так зачем заморачиваться созданием первой играбельной версии, если на неё уйдёт столько работы? Потому что, по словам Церни,

«Это единственный способ получить достаточный шанс на создание хорошей игры».

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

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

На самом деле, нужно работать так, как будто вы собираетесь всё это потом выкинуть.

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

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

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

Но здесь есть одна огромная опасность:

Цезарь опускает палец вниз

Ахиллесова пята метода Церни такова: не каждая игра переживёт препродакшен. Если у вас есть 5 прототипов уровней и всё ещё нет первой играбельной версии, которую можно представить публике, этой бомбы, которая спустя два года сможет порвать всех конкурентов, то вы убили проект.

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

Звучит жестоко, но не забывайте, что весь смысл метода Церни заключается в том, чтобы не оказаться в описанной выше ситуации: вы в полную силу работаете над продакшеном проекта, обречённой игры, которая никогда не будет работать.

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

Когда я оглядываюсь на свои провалившиеся проекты, то совершенно не сомневаюсь, что лучше бы их отменили через 6 месяцев препродакшена, чем через 3 года продакшена.

Лёгкий путь

Но если вы достигли завершения препродакшена, получили первую играбельную версию релизного качества и ваша игран невероятно прекрасна, то поздравляю вас! С этого момента работа становится простой; всё, что нужно — делать игру. Церни формулирует это так:

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

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

Я не считаю, что методом Церни должны обязательно пользоваться все. Есть причины тому. что он устарел, многие команды способны использовать Agile или другой итеративный метод. Но я впервые делаю игру самостоятельно и знаю, что я не один такой.

Студия с гораздо большей вероятностью сможет оправиться после провала, чем инди-разработчик, заложивший свой дом. Если вы думаете вложить в игру собственные деньги, то ради Бога, займитесь сначала препродакшеном. Не ждите, пока 90% бюджета продакшена уйдёт на тестирование концепта.

Ограничения

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

Crash компенсирует проблему тем, что Церни называет «особыми механиками». В Crash 1 особой механикой была поездка на диком кабане. Но в соответствии с методом Церни особая механика не может быть придумана задним числом; она должна итерироваться и тестироваться на этапе препродакшена, так же, как и базовая механика.

Crash 3 обладает наибольшей вариативностью в серии: после каждого босса Крэш получает новую способность. БОльшая часть неопределённости компенсируется тем, что новые способности являются вариациями уже имеющихся. Единственной истинно новой способностью является базука. Она же стала и самой неуклюжей механикой игры; заметно, что она не так отточена, как все остальные механики. Базука — это пример того, что может произойти, если вы не консервативны на этапе продакшена.

Я нежно люблю игры наподобие Portal 2, Rayman Legends, Psychonauts и Antichamber, в которых кажется, что каждая новая область предлагает больше инноваций, чем предыдущая. Скорее всего, подобные игры невозможно создать методом Церни, потому что нельзя разделить их продакшен и препродакшен таким образом.

Подобные игры требуют постоянных (ПОСТОЯННЫХ) итераций и тестирования на близких к продакшену уровнях. В противном случае каждый новый уровень будет казаться непротестированным прототипом. У Ubisoft и Valve есть ресурсы для этого, у меня — нет. Разработка Antichamber не идёт ни в какое сравнение, поскольку заняла очень много времени, а графика игры минимальна (блестяща, но минимальна).

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


x

Ещё Hi-Tech Интересное!

[Перевод] Как автор TV-B-Gone сделал музыкальный синтезатор ArduTouch

Совместимый с Arduino музыкальный инструмент, обучающий цифровой обработке сигналов Статья Митча Альтмана – изобретателя, придумавшего универсальный пульт для выключения телевизоров TV-B-Gone, и организатора хакерских конференций Мне необходимо было научиться извлекать такие звуки! Ребёнком я тянулся к музыке, и меня поражали ...

[Из песочницы] Типизированный DSL в TypeScript из JSX

По сути, это создает возможность писать типизированный DSL используя JSX. У TypeScript есть встроенная поддержка JSX синтаксиса и компилятор TypeScript'а предоставляет годные инструменты по настройке процесса компиляции JSX. Заинтересовавшихся прошу под кат. В этой статье речь пойдет именно про это ...