Эвелин Шваб показала нам рабочий процесс за системой строительства, вдохновленной The Legend of Zelda: Tears of the Kingdom, и объяснила, как компонент физического ограничения Unreal Engine помог настроить механику.
Введение
Меня зовут Эвелин Шваб, я разработчик игр, специализирующийся на техническом искусстве и техническом дизайне. Я начала работать в gamedev около 8 лет назад с нескольких маленьких попыток проектов, которые заставили меня развивать навыки в широком спектре областей и вступать в междисциплинарные роли, когда я перешла от сольного разработчика к более широкой индустрии. Мои публичные проекты в основном представляют собой игровые джемы и вертикальные срезы, а также другой физически тяжелый проект - систему разрушения хаоса, которую я выпустила на Unreal Marketplace в середине 2022 года.
Unreal Engine
Я начала с Unreal Engine как с моим первым крупным движком в 2017 году. В то время Unity все еще был доминирующим движком для начинающих разработчиков, но, как для кого-то с ограниченным опытом программирования в то время, система визуального скриптинга Blueprint Unreal была для меня большим привлечением. Я все еще считаю это одним из основных преимуществ начала работы с Unreal, так как это позволило мне ознакомиться с рабочими процессами и мышлением для решения проблем, которые необходимы для программирования игр, не будучи перегруженным синтаксисом C#. Визуальный скриптинг иногда смотрится свысока как более ограниченная форма программирования, но хотя я сейчас предпочитаю C++ для работы с Unreal, есть очень мало того, что нельзя сделать с Blueprint. Богатство функций и общая сложность Unreal могут быть ошеломляющими по мере того, как вы становитесь более компетентными в инструментах, но документация и ресурсы, предоставляемые Epic Games, значительно улучшились за последние годы и продолжают улучшаться.
У Unreal Engine есть замечательное широкое сообщество разработчиков онлайн, производящих ресурсы, документацию сообщества и курсы. Я в основном самоучка и изучил Blueprint и функции движка через онлайн-ресурсы и документацию, но мои знания C++ в основном выросли из заслуженно популярного курса Unreal Engine C++ Pro Тома Лумана (Unreal Engine C++ Pro Course Tom Looman), который я настоятельно рекомендую.
Я также провела пару лет преподавая разработку игр в терциарном контексте, и я верю, что работа со студентами по развитию их навыков и проектов позволила мне углубить свой собственный опыт и применить его к ряду ситуаций разработки, которые я иначе бы не имел.
Система строительства
Когда игра выходит с очень технически впечатляющей механикой, я думаю, что многие разработчики чувствуют себя сильно вдохновленными ею. Механика физического предохранителя в недавней Legend of Zelda не является особенно новой концепцией, будучи заметно популярной в Garry’s Mod; однако часть привлекательности Garry’s Mod заключается в том, насколько смешно нестабильным и взрывным он может быть. Механика Ultrahand в Tears of the Kingdom отличается от других реализаций тем, что она настолько стабильна и предсказуемо управляема, что может использоваться как ключевая игровая особенность для решения головоломок, боя и передвижения. Я думаю, что факт того, что вирусные клипы этой игры показывают игроков, строящих удивительные конструкции и работающих безупречно, а не показывающих физическую систему, которая разбивается драматически, говорит многое о том, насколько она впечатляет, тем более учитывая, что она работает на сравнительно слабом оборудовании 2017 года.
После того, как я провела много времени, работая с Chaos вокруг выпуска Unreal Engine 5, меня вдохновило потратить несколько часов на создание прототипа, чтобы посмотреть, насколько хорошо система может быть обработана физическим движком. После того, как я получила много положительных отзывов при обмене некоторыми ранними видео этого прототипа, я решила потратить немного больше времени на него, чтобы он мог быть выпущен с открытым исходным кодом для других заинтересованных разработчиков, чтобы играть и учиться, и объем постепенно увеличился с тех пор, чтобы стать чем-то значительно более развитым, чем я изначально предполагал. Конечно, я не ожидаю и не намереваюсь приблизиться даже близко к полировке, которую достигла команда Nintendo, но мне очень весело играть с ней.
Unreal Engine имеет встроенный компонент физического ограничения, который может использоваться для блокировки двух компонентов вместе и физически ограничивать их относительное расположение и вращение. Этот компонент является основой для системы с выбором разъемов, расположенных на сплавляемых сетках, которые ограничение может использовать в качестве руководства для того, как они должны быть соединены. Изначально я боялась, что Chaos (будучи относительно новым) будет бороться с сложными ограничениями, тянущимися в нескольких направлениях, но этот элемент работал безупречно (после небольшой настройки).
Сложной частью было позволить игроку контролировать то, как объекты ограничиваются, и убедиться в том, что способ перемещения объектов игроком не вызовет сбоя физической системы. Подобно моей системе разрушения реквизита, я обнаружил, что впечатляющие результаты могут быть достигнуты относительно быстро, но поддержание всего под строгим контролем оказалось гораздо более сложным. Я обнаружил, что лучший способ подходить к этим проблемам - работать в рамках физических действий насколько это возможно, пытаясь избегать применения невозможных сил, избегая установки расположений напрямую на физических объектах и т. д.
Транспортные средства
Для транспортных средств Chaos делает почти все тяжелое подъемное устройство. Поскольку он предназначен для того, чтобы убедиться в том, что физические объекты реагируют правильно при приложении к ним силы, все что нужно было сделать для начала движения - это оказать силу на части, которые должны двигаться. Как только ограниченные компоненты были настроены с соответствующими физическими угловыми ограничениями, Chaos смог выяснить остальное.
Заключение
Я думаю, что Unreal Engine - это невероятный набор инструментов и отличный способ начать разработку игр. Для начинающих программистов и дизайнеров инструмент визуального скриптинга Blueprint - это удивительный способ погрузиться в эти рабочие процессы и начать проектировать и внедрять игровые функции без предварительных знаний программирования. Для художников Unreal является фантастическим инструментом для реализации и представления работы. С введением новых передовых функций, поддерживающих разработчиков, таких как Lumen, Nanite, MetaSounds и совершенно новый фреймворк генерации процедурного содержимого, нет лучшего времени для начала работы, чем сейчас.