Постмортем A Short Hike — история создания уютного открытого мира в пиксельном 3D
Формирование необычного визуального стиля, поиск подходящих инструментов и трудности, вызванные высокой степенью свободы игроков.
Создатель A Short Hike Адам Робинсон-Ю выступил на GDC 2020 с докладом об истории разработки своей инди-игры. Он описал детали формирования необычного визуального стиля, а также поделился особенностями создания небольшого открытого мира. Мы выбрали из видео главное.
По словам разработчика, когда он взялся за инди-разработку на full-time, его первым проектом стала амбициозная RPG с большим количеством персонажей и длинной историей. Чем дольше длилась разработка, тем больше Адам понимал, что проект ему не под силу, поэтому он приступил к созданию более простого прототипа — разработчик хотел сделать небольшой мир, в котором он сам смог бы ненадолго спрятаться. Так в декабре 2018 года и появился ранний прототип A Short Hike — Адам просто поэкспериментировал с некоторыми ассетами в Unity и решил посмотреть, что из этого получится.
Позитивная реакция аудитории показала, что у нового проекта есть потенциал, поэтому разработчику пришлось выбирать, над чем работать дальше — над старым амбициозным проектом, в который он уже вложил много сил, или новой игрой, которая получила большой отклик от сообщества.
В 2018 году Адам поиграл в The Haunted Island и Minit — они показали ему, что короткие игры могут быть по-настоящему увлекательными и успешными. Поэтому он решил заняться полноценной разработкой A Short Hike. По мнению Робинсона-Ю, короткие игры — это отличный вариант для начинающих разработчиков, потому что:
- с ними меньше рисков;
- больше вероятность закончить проект;
- цикл разработки значительно короче.
По словам Адама, визуальный стиль — это очень важный аспект игры, потому что у небольших команд не так уж много способов привлечь внимание аудитории, и визуал должен запоминаться и вызывать интерес.
Разработчик признался, что у него не очень высокие навыки рисования и моделирования, поэтому ему было важно найти простой способ создания уникального визуала.
У Адама был небольшой опыт в VFX и пост-обработке, поэтому он начал экспериментировать в этом направлении. Он решил сделать всю игру пикселизованной — это позволило снизить время на создание моделей, а недостаток деталей восполняется за счёт воображения игроков. При этом сохраняется общее впечатление, которое автор старался передать.
Такой эффект создаётся благодаря тому, что изображение рендерится через специальную текстуру, а затем другая камера в Unity «смотрит» на эту текстуру и обрабатывает изображение с помощью point filtering.
Для определения цветовой гаммы разработчик собрал фотографии осенних лесов Канады и сделал палитру на их основе. С помощью ограниченного набора цветов он хотел добиться единства настроения и атмосферы во всей игре.
Но в условиях пикселизации эти цвета могут искажаться в зависимости от освещения. Поэтому Адаму пришлось создавать собственный unlit-шейдер, который по умолчанию не использует какую-либо модель освещения. Это дало ему контроль над тем, как тени будут выглядеть на каждом объекте — он хотел добиться того, чтобы объекты были скорее плоскими и с минимальной градацией по освещённости.
Выше представлены графики разных типов освещённости объектов. Normal Ramp — это освещение по умолчанию, в котором используются все градации при переходе от самого тёмного к самому светлому. Такой тип освещения гарантирует не только высокий контраст изображения, но и гладкие переходы между собственной тенью и освещённой частью.
Этот вариант не подходил для A Short Hike — автор хотел уменьшить количество градаций. Поэтому он сперва ограничил количество градаций четырьмя вариантами (Step Ramp), а затем сделал так, чтобы на объектах не было совсем уж тёмных зон (Limit the Darkness) — это значительно снизило контраст изображения. На последнем этапе (Final Ramp) Адам снизил количество градаций до трёх, увеличил размеры освещённых зон и сделал контраст ещё менее заметным. Благодаря этому цвета в финальной версии выглядят максимально близко к оригинальной палитре.
Отдельно Адам рассказал про этап пост-процессинга, на котором он добавил несколько важных визуальных эффектов, повлиявших на то, как выглядит A Short Hike.
В варианте без фильтров задний фон перетягивает на себя внимание и не даёт сосредоточиться на том, что происходит с главной героиней. Поэтому первым делом Адам ограничил дальность обзора при помощи дымки.
По словам Адама, основная работа над визуалом была закончена в декабре 2018. После получения финансирования он поставил перед собой цель закончить игру за три месяца. Он разбил процесс разработки на три больших части — по месяцу на каждую.
Основные фичи — это то, чем нужно заниматься в первую очередь. Дополнительные механики менее важны — за их реализацию стоит браться только тогда, когда основные механики готовы, и игру можно пройти от начала до конца.
Чтобы не сбиться с графика, Адам использовал методологию Scrum — он создал доску в Trello и следил за тем, какие задачи удобнее всего выполнять в тот или иной момент. Также он отметил, что жёсткие дедлайны помогли ему не зацикливаться на качестве игры. Благодаря этому процесс разработки постоянно двигался вперёд, а сам Адам не застревал в попытке сделать всё идеально.
Адам признался, что низкая продолжительность разработки частично связана с тем, что он использовал некоторые наработки и инструменты, которые создал во время работы над предыдущими проектами.
Для создания системы ввода команда Адам использовал инструмент InControl из магазина Unity. Для работы с камерой и создания плавных переходов между разными ракурсами разработчик использовал инструмент Cinemachine. Изучение новых инструментов — это всегда тяжёлый труд, но в итоге это окупается, потому что эти знания можно применять в следующих проектах.
Ландшафт острова Адам сделал с помощью встроенного инструмента в Unity. Для текстурирования окружения разработчик использовал triplanar shader, который позволяет вычислять правильную текстуру для поверхности, использую степень её наклона.
Когда разработчик только задумывал игру, он хотел сделать так, чтобы пользователям было интересно исследовать окружение — куда бы они ни пошли, везде их должны были ждать открытия и увлекательные вещи. Во многом это стало причиной того, что в A Short Hike открытый мир.
Сперва Адам просто создал случайный ландшафт, с которым затем продолжил экспериментировать. Постепенно он сформировал главные тропы и основные места, в которых находились ключевые точки. Разработчик определил, где будет начало, конец, в каком месте игрок будет учиться ключевым механикам и так далее.
Но это не всегда работало как надо. На плейтестах Адам увидел, что в самом начале некоторые игроки шли не к обучающей зоне, а направлялись в противоположную сторону. Из-за этого они оказывались в местах, которые не предназначены для новичков. Кроме того, там было скучно для них. Поэтому разработчик добавил пещеру с туннелем, который сокращал путь и возвращал игроков в начальную зону.
Есть и другие варианты для облегчения навигации игрока. Например, указатели, лэндмарки, тропинки, монетки и так далее. Также игрока можно не только направлять, но и ограничивать. Адам использовал для это естественные преграды, которые невозможно преодолеть, пока героиня не «прокачалась» достаточно.
Робинсон-Ю отметил, что важное значение при формировании открытого мира занимает определение темпа игры. Нужно сбалансировать общение и исследование так, чтобы они дополняли друг друга. Например, если игрок будет долго исследовать окружение и никого не встретит, то он быстро заскучает. Если же пользователь попадёт в зону, где встречается слишком много персонажей, то он, скорее всего, намеренно пропустит некоторых из них.
Так как в A Short Hike открытый мир, игроки могут случайно пропустить дополнительный контент. Чтобы решить эту проблему, Адам применял метод, который назвал «silent repetition». Его суть заключается в том, что разработчик разместил квестовый предмет сразу в пяти местах. Когда игрок находит его, остальные реплики исчезают, а у пользователя начинается квестовая линейка. Этот подход значительно увеличивает вероятность того, что игрок не пропустит этот контент.
Также разработчик дублировал обучение. В начале прохождения игрок может пропустить туториал по скалолазанию. Но ближе к вершине горы есть вторая секция обучения, в которой ещё раз можно получить нужную информацию. При этом туториал выстроен таким образом, что игрок наглядно видит, чему его учит игра — оба раза обучение связано с NPC-скалолазами, которые только учатся забираться по стенам.
Финальная зона сильно отличается от всей остальной игры. По признанию Адама, она больше напоминает головоломку, в которой нужно правильно рассчитывать свои ресурсы и дважды думать, какие действия совершать. При этом локация устроена таким образом, что игрок может пройти к финалу только в том случае, если у него есть семь золотых перьев, которые увеличивают выносливость и количество прыжков в воздухе.
В первых версиях игры золотые перья были настоящей редкостью, поэтому пользователям приходилось возвращаться в основную локацию, когда оказывалось, что им не хватает сил, чтобы взобраться на гору. Адам решил исправить ситуацию и добавить больше перьев, чтобы не нарушать темп игры и сохранить ощущение увлекательного приключения.
Чтобы общение в игре воспринималось просто, Адам решил не добавлять крупные облака текста, а ограничиться лишь короткими фразами. Зачастую это даже не полноценные фразы, а всего лишь междометия. Поэтому разговоры в A Short Hike напоминают скорее переписку, чем реальный диалог.
После релиза игры в Humble Original в апреле 2019 года Робинсон-Ю решил не бросать проект и доработать его к релизу в Steam и itch.io в июле.
По признанию Адама, ему очень помогло общение в Твиттере — он получал очень много позитивного фидбека и подмечал удачные решения в своей игре. Например, пользователям особенно нравилась механика полёта, поэтому разработчик добавил её в самое начало трейлера.
Также Робинсон-Ю рассылал пресс-релизы журналистам: он искал тех, кто рассказывал о близких по духу играх, и связывался с ними.
Разработчик считает, что A Short Hike понравится далеко не всем — в ней нет сложных загадок или напряжённых боёв, поэтому Адам старался как можно яснее показать в трейлерах и других материалах, что этого не стоит ждать от игры. Он всячески пытался подготовить пользователей к её специфике — он даже поместил слово «short» в название, чтобы подчеркнуть её небольшую продолжительность.