Как за 2 недели мы освоили Unreal Engine и запустили собственную игру-портфолио

Привет, Хабр! На связи Антон, креативный директор Пиробайта. В последние недели 2023 года в студии решили изучить игровой движок, чтобы сделать небольшое 3D-портфолио к новому году. Но, как и в большинстве игр, без боссов на пути не обошлось. В статье рассказал о первом опыте разработки на Unreal Engine: какие шишки набили и что из этого вышло.

Осторожно, не сбейте волков

Осторожно, не сбейте волков

Немного предыстории

Еще летом мы с ребятами насмотрелись конкурсных сайтов, на одном из которых увидели мини-игру на Unreal Engine. Это игровой движок на С++ от Epic Games. На нем можно создавать игры для большинства операционных систем и платформ.

«Освоив работу с движком, можно легко делать геймификацию наших проектов» — подумали мы. Решили протестировать гипотезу и сделать 3D-портфолио нашей студии.

Для первого проекта взяли такую концепцию: красная тачка (привет фанатам GTA) дрифтует по открытому пространству. По нему расставлены стенды с проектами студии. Когда машина подъезжает к какому-то из них, по нажатию на Enter открывается кейс на сайте.

К самой разработке приступили в начале декабря, справились примерно за 2 недели. 

Гипотеза, с которой начали работу: небольшой проект на игровом движке можно сделать без разработчика

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

В Unreal Engine используется система визуального скриптинга Blueprints. Работает так: прототип игры собирается с помощью составления логических блоков — нодов. Их можно менять местами, настраивать связи и др. То есть игру — от простого кликера до полноценной RPG — можно реализовать без построчного кода.

Работать в Blueprints могут и не программисты. Правда, у дизайнеров на это уйдет больше времени. У нас так и получилось — ресурсов ушло больше, чем планировали. Поэтому к задаче подключили бекэнд-разработчика Алексея, уже знакомого с UE.

Плоская земля, или как мы геймдизайн поднимали

До проекта опыта работы с 3D у Ильи не было. До этого другой дизайнер Артем работал с редактором для 3D-моделирования Spline. Илья же изучал программы для моделирования с нуля по видеоурокам. Параллельно мы по туториалам вникали в работу игрового движка.

Сначала Илья нарисовал скетч уровня в Figma: расположение объектов на полянке. В первом варианте проекты будто лежали на земле. Неудобно было ориентироваться между ними, плюс машине пришлось бы заезжать на них.

b1799ee2c9ab4604f1d6994271befdbc.png

Потом заметили другой недочет: все объекты были расставлены слишком аккуратно. Хоть пользовательский путь в игре прослеживался, без препятствий и направляющих было непонятно, по какому пути двигаться дальше. Еще хотелось хаоса, чтобы было интересно изучать пространство.

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

Стенды с проектами, наградами, страницей Пиробайта на Dprofile расположили вкруговую.

a3adcf0916f4e30ecd321de918dff38f.png

Часть 3D-объектов Илья брал из программы для 3D-дизайна SketchUp. Объемные логотипы студии, рейтингов и премий — отрисовал сам в Blender.

Кроме 3D добавили и живых фото наших ребят.

Кроме 3D добавили и живых фото наших ребят.

Кстати, для них эта игра была сюрпризом, они увидели ее 28 декабря.

Выйти из сумрака — еще один босс миссии

Когда мы уже задеплоили сборку и запустили сайт через Tilda, в игре поломались освещение и тени.

Выглядело вот так

Выглядело вот так

Это распространенная проблема при переносе объемных объектов в веб. Алексей решил эту проблему запеканием — переводом текстурных деталей и освещения в статические изображения — текстурные карты. После этого 3D-модели никуда не уедут и будут оптимизированы для использования в реальном времени или визуализации.

«Это был супер-сложный для меня момент в разработке. Если делать еще такие проекты, стоит в будущем уделять внимание UV-развертке, без нее никак. Касается и материалов, и самой структуры проекта»

Алексей, бэкенд-разработчик Пиробайта

И вот мы на деплое! Но и это не финал

В видеоуроке, по которому мы знакомились с Unreal Engine, проект разворачивали на Dropbox. То же сделали мы. И получили битые ссылки.

Около недели проект открывался без проблем, потом ссылка сбрасывалась и переставала работать. Пришлось создавать новую ссылку в Dropbox и снова переносить ее в Tilda.

Для будущих проектов вынесли урок — разворачивать сборки уже на своем сервере.

We are winning, soon. Портфолио-игра работает!

В ней можно:

  • подрифтовать по снегу без правил и ограничений скорости;

  • поврезаться в волков;

  • разрушить башню Дженги;

  • рассмотреть фотомоменты жизни студии;

  • разогнаться и взлететь на лестницу (редкое достижение! напишите, у кого получится);

  • познакомиться с нашими кейсами и наградами за них (портфолио как никак)

Нажмите, чтобы поиграться!

Кстати:

  • Чтобы открыть кейс, припаркуйтесь у стенда и нажмите Enter;

  • Если нажать на Tab, переключится вид из машины;

  • Чтобы ездить привычными WASD, включите английскую раскладку.

    46880193e75111eb09ff6c8fbbbc8e6c.png

    Спасибо, что были с нами! Делитесь работами и своим опытом разработки на Unreal Engine. Каким был ваш первый проект, что из этого вынесли?

© Habrahabr.ru