Дизайнер уровней Михаил Кадиков опубликовал в своём блоге запись о разработке VR-адвенчуры Robinson: The Journey от Crytek. Он описал приёмы, которыми создатели игры направляли игрока.
Robinson: The Journey — приключенческая игра для VR про мальчика Робина, совершившего аварийную посадку на таинственной планете, населённой динозаврами. В статье я хочу поделиться опытом и рассказать о некоторых особенностях создания уровней для проекта.
Сюжет через окружение
Идеальный пример сюжетного повествования через окружение обязательно содержит сплав из трёх компонентов — это история, выразительный художественный образ и геймплей.
Например, в джунглях главный герой находит спасательную капсулу, которая застряла в ветках гигантского дерева (история, выразительный художественный образ). Для того, чтобы залезть на дерево, игрок должен взаимодействовать с парашютом (геймплей), вода из которого поможет раскрыться грибам, формирующим путь наверх.
Интеграция сюжета в игровое окружение не только делает исследование виртуального мира ещё увлекательнее, но и помогает дополнить образ главного героя.
Спустя год после аварийной посадки, Робин успешно налаживает свой быт. Он отстраивает небольшой лагерь вокруг спасательной капсулы и организует ферму для выращивания картошки. Мальчик не теряет надежды на спасение, что детально отражено в игровом окружении.
Например, неподалеку от спасательной капсулы можно обнаружить самодельную антенну для ежедневных радиотрансляций и аварийный маяк, собранный из обломков корабля. Также на краю обрыва он выкладывает на земле гигантскую сигнальную надпись «SOS».
На ферме игрок может обнаружить собранный из обшивки корабля домик на дереве, в котором Робин играет в пиратов, мастерит модели ракет, читает книги и выращивает саженцы.
Восприятие деталей
Впервые попав в игру, люди, как правило, сразу же начинают неосознанно оценивать качество проработки мелких деталей. Именно поэтому, для создания максимального эффекта погружения, начальные уровни игры должны быть максимально детализированными и впечатляющими.
Самое первое помещение в Robinson: The Journey — интерьер спасательной капсулы. Художники подошли с особым вниманием к созданию окружения, так как именно здесь игрок сформирует своё первое впечатление о детализации мира.
Концепт-арт интерьера спасательной капсулы
В спасательной капсуле игрок также учится двигаться и взаимодействовать с предметами — выйти из помещения можно, только отыскав и повернув ручку на автоматической двери.
Игроку, составившему первое впечатление о качестве окружения, в дальнейшем всегда будет казаться, что весь виртуальный мир детализирован с одинаковым качеством.
Например, гигантские обломки космического корабля и величественные водопады на горизонте в действительности являются всего лишь низкополигональными моделями. Но благодаря эмоциональному окрасу, который игрок получил при первом знакомстве с окружением, его воображение будет рисовать впечатляющих масштабов конструкцию, которая по степени детализации не уступает тому, что он уже видел вблизи.
Структура игрового мира
Мир разделён на шесть больших локаций — это лагерь со спасательной капсулой, картофельная ферма, джунгли, смоляные ямы, кладбище динозавров и обломки «Эсмеральды» с гигантским планетарием внутри.
Игрок может исследовать первые четыре локации в любом порядке. После нахождения четвёртого «чёрного ящика» происходит событие, открывающее доступ к новым уровням — кладбищу динозавров и обломкам космического корабля.
Концепт-арт с расположением локаций в мире игры.
Прототипирование
Работа дизайнера уровней заключалась в создании игрового пространства и геймплея: дизайн головоломок, настройка внутриигровых событий, диалогов, а также интеграция искусственного интеллекта.
Всё начинается с прототипа игровой локации, который создается на основе сценария и требований к геймплею. Например, вот так на этапе прототипирования выглядела локация со спасательной капсулой:
А это — прототип фермы с домом на дереве:
Когда геймплей утверждён, уровень построен и проходится от начала до конца, начинается визуальная проработка — декорирование, добавление спецэффектов и озвучки.
Стоит понимать, что некоторые геймплейные механики изначально недоступны и находятся в производстве практически до самого выпуска игры. Поэтому дизайнеру нужно до последнего момента поддерживать работоспособность уровня, заменяя временные элементы финальными, что очень часто ведет к переработке практически всей игровой логики.
Быстрый доступ
Для удобства тестирования игровых событий создаётся специальное меню, через которое можно получить быстрый доступ к любой геймплейной секции. Такой подход позволяет дизайнерам работать над логикой конкретного заскриптованного события без необходимости проходить весь уровень от начала до конца.
Выглядит это так:
- первое нажатие клавиши вызывает список всех доступных локаций;
- после выбора нужной локации мы открываем лист игровых событий (расположенных в хронологической последовательности).
В идеале начало каждой геймплейной секции должно стать своеобразной контрольной точкой, которую можно использовать для автоматического сохранения игры.
Очень важно помнить: при пропуске какого-либо события нужно обязательно позаботиться о том, чтобы его условия считались выполненными, а игрок и его компаньоны были телепортированы в нужную секцию уровня.
Например, если подразумевается, что в предыдущей геймплейной секции игрок починил генератор — нужно убедиться, что задание в интерфейсе игры отмечено, как выполненное; колесо водяной мельницы, генерирующей электричество, — вращается, а бочки, блокирующие маховик, — телепортированы за пределы уровня.
Визуальный скриптинг
Чтобы сделать нагромождение блок-схем в процессе визуального скриптинга более читаемым, все внутриигровые события располагаются слева направо по горизонтали в строгом хронологическом порядке. События, происходящие в одно и то же время, размещаются друг под другом по вертикали. Использование комментариев и разных цветов позволяет очень легко выделить нужный элемент.
Работа со слоями
Разделение уровней на слои не только даёт оптимизировать время загрузки ресурсов игры, но и создаёт основу для эффективного процесса разработки. Такой подход обеспечивает параллельную работу над уровнем для нескольких людей одновременно.
Например, на изображении ниже можно видеть структуру слоёв, выделенных под определённую анатомическую особенность уровня (физическая оболочка, геометрия, освещение, визуальные эффекты, растительность, звуковые эффекты, игровая логика и так далее).
Особенности VR
Разработка игры для очков виртуальной реальности позволила максимально использовать движение головы для создания интересного опыта. Сюда можно отнести сканирование животных с осматриванием объекта с разных сторон, скоростной спуск на «тарзанке» с уворотами от ульев, игра в прятки с рапторами, сканирование сетчатки глаз, скалолазание и так далее.
Игровая механика скалолазания была заимствована прямиком из The Climb. В Robinson: The Journey она упрощена — исчезли шкала выносливости и возможность прыгать.
Ещё одна VR-механика — пазлы с масштабируемой сложностью, в которых игрок в роли робота-компаньона Хигса управляет распределением энергии между устройствами. Особый колорит режиму добавляют специальные настройки камеры, создающие иллюзию миниатюрного мира. К сожалению, скриншоты и видео не передают этот впечатляющий эффект.
Визуальный язык
Для маркировки поверхностей и уступов, за которые можно зацепиться в процессе скалолазания, выбрали оранжевый цвет. Его можно встретить как на растительности (грибы, лианы, корни), так и на объектах искусственного происхождения (лестницы, кабели, металлические панели, заглушки и так далее).
У механики «гравитационной пушки» действовало другое правило — все интерактивные объекты, способные к левитации, должны быть только белого цвета.
Например, контейнер, заросший мхом и плесенью считается статичным, в то время как белую бочку легко можно подобрать при помощи устройства для левитации.
Искусственный интеллект
Для скриптования ИИ дизайнеры уровней использовали два основных инструмента: сплайны и точки интереса.
Заскриптованные маршруты для летающего робота-компаньона создавались при помощи сплайнов. На изображении ниже можно видеть красную линию, выходящую из люка на крыше спасательной капсулы. В момент, когда игрок впервые покидает помещение, робот-компаньон следует за ним как раз по траектории этого сплайна.
Для управления действиями персонажей использовались точки интереса двух типов — автоматические и форсированные.
Автоматические создавали фоновую активность. К примеру, питомец-динозавр мог побежать к реке, чтобы ловить там рыбу, либо внезапно заинтересоваться норой крота и начать её обнюхивать.
Для скриптовых сцен, требующих от персонажей проигрывания диалогов и специальных анимаций, использовались форсированные точки интереса.
Например, когда питомец-динозавр выкатывает из куста «чёрный ящик», есть несколько точек интереса — анимация сидящего на задних лапках динозавра и робот-компаньон, подсвечивающий объект своим сканирующим лучом.
На скриншоте ниже точки интереса можно узнать по жёлтым флажкам, а круглые «мишени» по соседству — это места, на которых в процессе скриптовой сцены сфокусирован взгляд персонажей.
Предусмотреть всё
Любые критически важные для прохождения объекты, которые игрок может легко выбросить за пределы уровня, пришлось наделить одним интересным свойством. Это так называемый «механизм безопасности» — утраченный предмет телепортируется на свою изначальную позицию сразу же, как только игрок отводит взгляд в сторону.
К таким объектам в Robinson: The Journey можно отнести приманку и корзину для рыбалки, баскетбольные мячи, составные части для чучела, игрушки и аксессуары для питомца-динозавра, а также батарейки в космическом корабле.
Оптимизация
Основное условие комфортного времяпрепровождения в VR — высокая частота кадров в секунду. Для PS4-версии Robinson: The Journey команде художников и программистов удалось добиться стабильных 60 FPS в стерео-режиме.
Оптимизация производительности не станет большой проблемой, если с умом подойти к проектированию игрового мира.
На изображении ниже видно, что каждая локация соединяется с другими узкими кишкообразными каньонами. Это сделано, чтобы можно было незаметно для игрока выгрузить из оперативной памяти предыдущий уровень и обеспечить фоновую подгрузку нового.
Сами локации также можно оптимизировать, если сократить дальность отрисовки деталей при помощи импровизированных стен.
Например, для уровня с джунглями использовались низкополигональные модели растительности.
Частичное сокращение обзора «стенами растительности» позволяет не только улучшить производительность, но и придаёт всей сцене иллюзию глубины.
До и после оптимизации.
А на этом примере видно, как высокая плотность деревьев помогает спрятать большую часть уровня на заднем плане.
все замечательно, только она без VR не работает
Хоть и маленькая, но крутая игра получилась.
чо на торрентах её нету? вроде же без денувки