Привет, Хабр! На связи Антон, креативный директор Пиробайта. В последние недели 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.
Кстати, для них эта игра была сюрпризом, они увидели ее 28 декабря.
Выйти из сумрака — еще один босс миссии
Когда мы уже задеплоили сборку и запустили сайт через Tilda, в игре поломались освещение и тени.
Это распространенная проблема при переносе объемных объектов в веб. Алексей решил эту проблему запеканием — переводом текстурных деталей и освещения в статические изображения — текстурные карты. После этого 3D-модели никуда не уедут и будут оптимизированы для использования в реальном времени или визуализации.
«Это был супер-сложный для меня момент в разработке. Если делать еще такие проекты, стоит в будущем уделять внимание UV-развертке, без нее никак. Касается и материалов, и самой структуры проекта»
Алексей, бэкенд-разработчик Пиробайта
И вот мы на деплое! Но и это не финал
В видеоуроке, по которому мы знакомились с Unreal Engine, проект разворачивали на Dropbox. То же сделали мы. И получили битые ссылки.
Около недели проект открывался без проблем, потом ссылка сбрасывалась и переставала работать. Пришлось создавать новую ссылку в Dropbox и снова переносить ее в Tilda.
Для будущих проектов вынесли урок — разворачивать сборки уже на своем сервере.
We are winning, son. Портфолио-игра работает!
В ней можно:
подрифтовать по снегу без правил и ограничений скорости;
поврезаться в волков;
разрушить башню Дженги;
рассмотреть фотомоменты жизни студии;
разогнаться и взлететь на лестницу (редкое достижение! напишите, у кого получится);
познакомиться с нашими кейсами и наградами за них (портфолио как никак)
Кстати:
Чтобы открыть кейс, припаркуйтесь у стенда и нажмите Enter;
Если нажать на Tab, переключится вид из машины;
-
Чтобы ездить привычными WASD, включите английскую раскладку.
Спасибо, что были с нами! Делитесь работами и своим опытом разработки на Unreal Engine. Каким был ваш первый проект, что из этого вынесли?
Встречаемся на страницах Пиробайта: |
Комментарии (12)
Devastor87
11.01.2024 05:44Зависает на загрузке движка. Смартфон ОС Android, браузер Chrome
pyrobyte
11.01.2024 05:44+1Попробовали — все работает. Возможно, просто соединение слабое. Рекомендуем все-таки попробовать открыть через ПК, там и поиграться с машинкой можно. На Android этого не сделать)
jarkevithwlad
11.01.2024 05:44на андроиде в хроме запустилось, но хочет что бы я нажал F5..
p.s. на узком экране не было видно что это для рестарта, на пк работает хорошо, но освещения не хватает, хотя бы под авто плейна с прозрачной текстурой прямоугольной (тень), хотя на ue можно было бы получше освещение сделать динамическим
pyrobyte
11.01.2024 05:44+1Да, F5 — это для рестарта. В остальном учтем пожелания для дальнейших проектов. Спасибо :)
nicolas_d
11.01.2024 05:44+5Поэтому к задаче подключили бекэнд-разработчика Алексея, уже знакомого с UE.
Вот тут ключевая фраза, как за 2 недели освоить UE. Читерство.
pyrobyte
11.01.2024 05:44+1Разработкой сцены занимался дизайнер, который ранее не имел дело с UE. А разработчик помогал доработать логику и устранял проблемы с тенями. Если брать процентное соотношение, то работа Алексея занимала 30% от всего объема.
Dangetsu-PK
11.01.2024 05:44+3Идея с катанием на машинке в портфолио - не нова. Заголовок кликбейтный, ведь по факту разработкой занимался человек который уже имел дело с UE. Ну такое...
iamkisly
11.01.2024 05:44Не разделяю восторгов. Вы за 2 недели собрали сцену из примитивной статики уровня graybox'ов, напихали туда скриптов из howto "как ездить на машинке", это весит монструозные 312 мегабайт и не поддерживает ввод с тача.. хотя не самый убогий экранный джой можно скачать из стора эпиков (хз, в unity например можно).
Zara6502
Круть, я за две недели могу только PDF скачать и начать себя уговаривать его почитать )