Лучшее  🚀
27.01.2021 в 22:34 RTry Harder

Project Unknown снова в работе

Случайно вернулся к проекту годичной давности, который почти забросил.

Кстати, на сайте читать удобнее

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

Разработка ведется на Unreal Engine 4 силами одного единственного человека, который использует ассеты из различных источников. Я не художник, не аниматор и не левелдизайнер. На hh.ru моя должность звучит, как технический геймдизайнер и это идеально описывает род моих занятий. Реализовать механики из различных игр и комбинировать их между собой.

Но вернемся к правкам за последнюю неделю. Физику попаданий удалось нормально скорректировать и теперь тушки противников вполне адекватно реагируют на взрывы и попадания от пуль. Даже на встроенной в Unreal физике удалось добиться неплохих результатов. Пришлось, конечно, повозиться с Physics Asset и его настройками, но оно того стоило. Стрельба стала ощущаться куда интереснее.

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

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

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

Проведенная спустя год оптимизация - позволила держать в рамках одного экрана более 300 противников, при этом имея стабильный FPS даже в эдиторе. Смерть противника полностью отключает его логику, и останавливает просчёт физики. Для мира он становится ещё одним Skeletal Mesh без других компонентов. Взрывы и выстрелы все ещё будут воздействовать на лежащие на полу трупы, но только в момент попадания.

В конце статьи есть ссылка на ролик, в котором демонстрируется результат правок игровых механик в течении одной недели. Никакой постановки или грамотной режиссуры в нем нет. Я просто запускал Playmode в редакторе и бегал по локации, тестируя механики в контексте реального окружения(которое к тому же создавалось не для них).

Изначально концепт игры был абсолютно другим. Камера была в режиме от третьего лица и были зачатки случайной генерации уровней, от которой я потом отказался. Трудно добиться красивого освещения в таких условиях, да и сам генератор не позволяет создавать уникальные ситуации. Вообще такая система больше справедлива для rogue-like игр, но никак не для моего проекта.

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

Какие у проекта дальнейшие планы? Определиться с конечным набором механик и противников. Убедиться в наличии ассетов под это дело и собрать полноценное играбельно демо. Хотя уже сейчас могу сказать, что самые важные проблемы я исправил ещё на прошлой неделе, так что серьезных преград почти нет. Повторюсь, что в моем случае все упирается в наличие ассетов, а не фантазию автора.

И если на старте работы над проектом я не имел вообще никакого опыта и понимания, как реализовывать игровые механики в контексте Unreal Engine 4, то сейчас большую часть из них я могу собирать за несколько часов.

Ссылка на ролик с демонстрацией: