Что я понял спустя 3 месяца разработки игры-мечты
Всем привет, давно не был на связи, собственно, а кому было не всё ровно)
Хочу сделать небольшой отчет по игре и признаться насколько я недооценил важность правильно заготовленных ассетов) А также количество времени которое тратится на написание кода/возней с ассетами (просто кошмар) я тратил каждые выходные и иногда время на сон, чтобы просто разобраться в казалось бы супер простых вещах
С чем я столкнулся за эти 3 месяца и какие выводы сделал:
- В моей игре предполагается экран создания персонажа, где есть небольшой базовый редактор для 3д персонажа, при создании этой фичи узнал, что оказывается любой ассет из маркетов не подходит, да и вообще если я хочу сделать, так как считаю нужным, то мне нужно реализовать пайплайн создания для этих персонажей и ассетов самостоятельно, поэтому на некоторое время я погрузился в работу с Blender ( ради производительности даже обновился до 1.4.5)
- У персонажа в моем случае должна быть иерархически выполнена настройка скелета и рига согласно манекенам из базовых наборов UE5.6, с этим помогает плагин Auto-Rig Pro, так же выбрал для себя идеальный вариант с ретаргетингом коллекции сиквенсов с передвижением из Game Animation Sample, простой ретаргетинг и куча качественных анимаций передвижения самое то в игре для сессионых исследований подземелий от 3го лица, а также должны быть слоты для изменяемого снаряжения
- Постарался перенести на С++ систему передвижения из этой библиотеки с использованием Finite State Machine (FSM), но полностью от блупринтов я отказываться не хочу, да и не вижу смысла, также сделал свой Motion Matching исходя из того как реализовано это в Game Animation Sample, пока не знаю насколько он правильно работает, изучаю вопрос об отладке и в целом хочу заложить возможность тестирования фундаментом для своих систем, ровно как и систему балансирования
- Касательно баланса предполагаю создать систему взаимосвязанных динамических параметров, которые будут подчиняться кривой, с возможностью задать лимит от A(min) до B(max) Почему так? Потому что я не хочу тратить много времени переосмысливая базис, пока идет стадия активной разработки, в идеале если я поменяю базовое здоровье персонажа с 1 на N по кривой, то все взаимосвязанные параметры должны будут сами отбалансироваться под эту кривую плавно, чтобы на выходе у меня получалось как в патчах доты, где 1% сюда, 3% туда. Казалось бы у меня не киберспортивная игра, но у меня игра, которая будет ориентироваться на экономику и гибкая система настройки может очень облегчить жизнь не создавая искусственые вайпы для освежения этой экономики.
- Ну и самая кропотливая работа, это привязка shape keys к тем частям меша, которые будут изменяться через ползунки в редакторе, я запорол около 5ти моделек за это время, чтобы сделать это +/- так как мне нужно, но еще буду работать над этим, чтобы получилось как я изначально задумывал, почему так? Потому что изначально я хотел как любой душнила сделать много деталей, чтобы можно было выбрать длину рук/ног, увеличить их объем в конкретных частях и такой подход занял бы у меня слишком много возни и слишком много полигонов, для игры в аниме стилистике.
Что в итоге из ползунков осталось:
1) Овал лица/головы, можно сделать более острый подбородок, более округлый, просмотрев достаточное количество референсов это часто изменяемый параметр для аниме персонажей
2) Размер груди, попы, но только для женских персонажей, собственно я пока работаю только над аниме-девочками (Я думаю тут не нужно комментариев, это база всего геймдева)
3) Рост, на самом деле около пропорциональное уменьшение/увеличение модельки
4) Треугольник телосложения, который состоит из 3х состояний (мышцы, худоба, полнота) в зависимости от выбранной точки будут пропорционально доминировать некоторые признаки (бедра, плечи, грудь и пятая точка) остальное же по сути просто немного увеличивает объем пропорционально (смешарика сделать не выйдет)
Также у меня есть несколько ключей для эмоций на лице, чтобы реализовать некоторые милые детали (моргание, удивление, улыбка и грусть в дальнейшем будут и некоторые другие эмоции, но они будут добавлены через ассеты глаз, чтобы быть максимально референсными с аниме стилистикой) - Набор ассетов:
По сути для каждой расы и пола свой основной меш, и я постараюсь попробовать сделать переиспользуемый набор коллекций, где будут глаза, зрачки, материалы для глаз, типы бровей ну и прически, с прическами все сложнее, так как у них должен быть в идеале универсальный скелет, для добавления небольшой физики, ну и расовый особенности (уши, хвосты, украшение на лбу и тд)
Собственно над этими аспектами я проработал 3 месяца, да конечно тут речь не идет о фултайм занятости, скорее около 20 часов в неделю вместо игр после работы или как досуг на выходных, на самом деле грустно, что мне не попадались видосы касательно blender, которые бы объяснили как правильно подготовить модельки к использованию в UE и какие вещи должны быть изначально заложены если подразумевается это использовать в игре, а также то что документация в UE выглядит и читается как песочница, нет такого как в вебе где тебе покажут, что хорошо, а что плохо, так как сценариев использования может быть столько, сколько ограничивает фантазия разработчика. На этот блог времени по сути не остается, но я бы хотел его вести более осознано, возможно в формате коротких видео с ревью фич, как будет готов базовый функционал.
Скоро у меня будет отпуск, в который я достаточно много времени уделю игре и постараюсь уже показать новый контент в отполированном виде.
Честно говоря я очень хочу перейти к системе боевки и инвентаря, но пока буду заниматься экраном создания персонажа и плагином для создания NPS (копирование внешности, рандомайз, все через сид) чтобы уделить базе максимум любви и не мучать людей кривым управлением, чего часто не хватает в подобных инди проектах
Если у вас есть какие-то материалы, которыми вы можете поделиться, которые помогут мне понять и переосмыслить какие-то описанные мною вещи делитесь ими в личку или в комментарии, спасибо что дочитали и зашли ко мне в микроблог :)