Как за 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: расположение объектов на полянке. В первом варианте проекты будто лежали на земле. Неудобно было ориентироваться между ними, плюс машине пришлось бы заезжать на них.
Потом заметили другой недочет: все объекты были расставлены слишком аккуратно. Хоть пользовательский путь в игре прослеживался, без препятствий и направляющих было непонятно, по какому пути двигаться дальше. Еще хотелось хаоса, чтобы было интересно изучать пространство.
Мы с Ильей переделали компоновку. Направляющие для движения тачки и объема пространства задали елочками, добавили снеговиков и снежных волков — символов нашей студии, и большущего дракона — символ 2024 года.
Стенды с проектами, наградами, страницей Пиробайта на Dprofile расположили вкруговую.
Часть 3D-объектов Илья брал из программы для 3D-дизайна SketchUp. Объемные логотипы студии, рейтингов и премий — отрисовал сам в Blender.
Кроме 3D добавили и живых фото наших ребят.
Кстати, для них эта игра была сюрпризом, они увидели ее 28 декабря.
Выйти из сумрака — еще один босс миссии
Когда мы уже задеплоили сборку и запустили сайт через Tilda, в игре поломались освещение и тени.
Выглядело вот так
Это распространенная проблема при переносе объемных объектов в веб. Алексей решил эту проблему запеканием — переводом текстурных деталей и освещения в статические изображения — текстурные карты. После этого 3D-модели никуда не уедут и будут оптимизированы для использования в реальном времени или визуализации.
«Это был супер-сложный для меня момент в разработке. Если делать еще такие проекты, стоит в будущем уделять внимание UV-развертке, без нее никак. Касается и материалов, и самой структуры проекта»
Алексей, бэкенд-разработчик Пиробайта
И вот мы на деплое! Но и это не финал
В видеоуроке, по которому мы знакомились с Unreal Engine, проект разворачивали на Dropbox. То же сделали мы. И получили битые ссылки.
Около недели проект открывался без проблем, потом ссылка сбрасывалась и переставала работать. Пришлось создавать новую ссылку в Dropbox и снова переносить ее в Tilda.
Для будущих проектов вынесли урок — разворачивать сборки уже на своем сервере.
We are winning, soon. Портфолио-игра работает!
В ней можно:
подрифтовать по снегу без правил и ограничений скорости;
поврезаться в волков;
разрушить башню Дженги;
рассмотреть фотомоменты жизни студии;
разогнаться и взлететь на лестницу (редкое достижение! напишите, у кого получится);
познакомиться с нашими кейсами и наградами за них (портфолио как никак)
Нажмите, чтобы поиграться!
Кстати:
Чтобы открыть кейс, припаркуйтесь у стенда и нажмите Enter;
Если нажать на Tab, переключится вид из машины;
Чтобы ездить привычными WASD, включите английскую раскладку.
Спасибо, что были с нами! Делитесь работами и своим опытом разработки на Unreal Engine. Каким был ваш первый проект, что из этого вынесли?