Последние пару недель изучал редактор Sandbox 2 для Crysis, в результате чего примерно за 9 дней построил синглплеерный уровень, о особенностях создания которого я и хотел бы рассказать.

Прохождение уровня можно посмотреть прямо здесь:

Итак, как построить уровень под Crysis за 9 дней?

Процесс

1. Нужно определиться с концептом

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

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

Для начала нужно было избавиться от соблазна на скорую руку создать еще один тропический остров — сделать это в Sandbox 2 не составляет труда. Поэтому, варианта было два — перенести всё действие в море и построить нефтедобывающую платформу используя индустриальные ассеты, либо создать что-нибудь со снежной тематикой (например, какую-нибудь заснеженную базу в антарктиде). Первый вариант показался мне наиболее интересным, как с точки зрения геймплея, так и в визуальном плане (тем более нефтяные платформы под Unreal 3 я уже создавал и это очень интересная тема).

На этом этапе очень важно определиться с объемом работ и ограничить себя во времени. Я решил, что моей целью будет создания геймплея примерно на 5-7 минут, и на весь процесс разработки я потрачу около 10 дней.

2. Собрать все необходимые ассеты

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

3. Сбор фотореференсов

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

4. Планирование на бумаге

Следующим шагом стало планирование уровня на бумаге. А именно, нужно было сделать простенькую зарисовку-концепт, выражающую общую идею, затем расписать последовательность событий во время прохождения миссии игроком, а также набросать грубый 2d-план с указанием основных и альтернативных путей и расположением врагов.

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

Таким образом, на первые четыре шага (поиск концепта, ревизия и сбор игровых ассетов, поиск фотореференсов, планирование и написание документации) у меня ушло два дня.

5. Строительство уровня

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

Также мне удалось настроить освещение, добавить звуковой фон и разместить декали (грязь, ржавчина, лужи) там, где это требовалось.

Не обошлось и без неприятных сюрпризов — наткнулся на глюк, связанный с масштабированием объектов. Если сильно масштабировать какой-либо объект, то у него пропадет физическая оболочка (коллизия) и он перестанет выделяться курсором. Пришлось отказаться от масштабирования объектов.

6. Размещение и настройка исскуственного интеллекта

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

Самым нудным занятием было конечно же размещение вокруг каждого объекта в геймплейной зоне специального маркера, для того, чтобы показать ИИ, какие объекты можно использовать для укрытия, куда можно ходить, а куда нет.

Как итог — заприметив игрока, враги перестали очумело прыгать с платформы в море и начали вполне адекватно ориентироваться в игровом окружении, заходить с флангов и эффективно использовать станковые пулеметы. Вся эта процедура заняла два дня.

7. Настройка игровой логики и кат-сцен.

Последним шагом стали настройка игровой логики (система триггеров, автосохранений, заданий, радиосообщения, музыка и т.д.), а тажке создание кат-сцен. На всё это я потратил еще два дня.

Работать с визуальным скриптингом в Flow Graph мне понравилось даже больше чем с Kismet под UDK. Еще проще оказалось создание кат-сцен и работа с виртуальными камерами.

О создании геймплея

Какими принципами я руководствовался при создании геймплея?

Очень важно начать миссию с секции без врагов для того, чтобы дать игроку немного времени на изучение игрового окружения, а также создать ощущение напряжения перед первой встречей с противником. Именно поэтому, игрок начинает у подножия маленькой платформы и его первое задание — найти способ попасть на главную платформу.

Проникнув на основную платформу игрок впервые встречает врага. Перед этим его предупреждают об этом по радио и игра автоматически сохраняется.

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

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

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

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

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

Итого

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