Welcome to Dante's Inferno. Дневники разработчика. Часть 2
Приветствую грешники!
На связи OLD. Спешу поделится своим прогрессом по разработке игры - Welcome to Dante's Inferno. Если коротко, то всё что запланировал сделать, сделал.
Если подробнее, то вот небольшой список того что именно я успел сделать за прошедший месяц.
1. Доделал модель персонажа с первым комплектом доспехов, текстуринг, материалы, анимции все необходимое.
На самом деле я не просто доделал, я полностью перемоделил меш персонажа, создал новые анимации, нарисовал текстуры и подготовил модель под кастомизацию. Более того я сделал простенький второй комплект доспехов, чтобы настроить рандом кастомизации персонажа.
2. Создал контроллер персонажа с анимацией.
Это была особенная часть, я максимально, на сколько смог, проработал контроллер, чтобы он был отзывчивым для аркады и простым в управлении. Я учёл критику стриммеров, за последние несколько лет по поводу моих контроллеров в играх. Я специально запускал старые твгшные игры и смотрел, где контроллер оказывался довольно деревянным, а также пытался понять почему и как это устранить. Так же анимацию я настроил немного особым образом. Я отказался от традиционного юнити подхода со стрелками в аниматоре, чтобы избежать паутины и все анимации сделал независимыми, таким образом я могу в любой момент запустить любую анимацию, без особой возни в редакторе.
3. Создал обёртку игры, менюшки, UI.
Ну здесь всё просто. Я столько раз это делал, что уже заготовил целые паки скриптов, единственно я немного упустил момент с настройкой меню под выбор кнопок для контроллера. Старая система инпутов в юнити работает крайне плохо, и просто так менять копки, нельзя. Я могу это сделать выбор кнопок клавиатуры, как я это сделал в гонках, но тогда у меня отрубался джойстик, а чтобы его вернуть приходилось дополнительно прописывать булевые условия в апдейт. И нет новую систему инпутов в юнити я не использовал, по моему мнению, она излишне перегружена. Пока оставил для пользователя просто 3и выбора варианта управления игрой: через клавиатуру и мышь, только клавиатуру и только геймпад.
4. Создал механику рандомизации доспехов персонажа при взаимодействии с бонусом.
Самая интересная часть моей работы. Если коротко, то все работает именно так, как я задумал. Игрок наступает на бонус и бонус постепенно прокачивает игрока. В данном случае бонус прокачивает физику и визуал персонажа, делая каждого внешне непохожим друг на друга, но с одними и теми же параметрами в зависимости от уровня. Более того, я полностью до 9го уровня прописал все апдейты героя, которые он получит за бонус.
5. Нарисовал все бонусы персонажа в игре.
Относительно легко, так как для персонажей я выбрал минималистический стиль - текстурка на 256 (в крайнем случае 512) и обводка граней чёрным. А вот насчёт окружения я немного затупил. Я могу замоделить достаточно сложные объекты, но во-первых, это время затратно (я не могу потратить целый месяц например на один дворец с чертями), а во-вторых, это ресурсоёмко для движка. Поэтому я выбрал мидл поли модели и хейнд пейнт текстуры, только я крайне плохо рисую текстуры особенно неперсонажей и это меня деморализует. Хочется визуал как в Torchlight II, а получается как в Warcraft 3.
На этом с прогрессом всё.
План на предстоящий месяц
1. Прописать скрипты для 3х магических бонусов игрока , начиная от 1 и заканчивая 5м или 9м уровнем(пока не решил)
2. Замоделить ещё 3и комплекта доспехов для игрока.
3. Создать стандартную модель низшего и высшего демона(это один и тот же демон просто на разных степенях развития.)
4. Создать 2а комплекта доспехов для низшего демона и высшего демона.
5. Написать скрипт поведения для стрелка.
6. Написать скрипт поведения для воина.
7. Написать скрипт поведения для волшебника.
8. Написать скрипт поведения для мясника.
9. Написать скрипт поведения для убийцы
10. Написать скрипт поведения для охотника.
11. Связать врагов и игрока настроить их взаимодействие и урон.
12. Написать код для сохранения параметров персонажа для последующего их загрузки.
На этом всё.
Всех благ и побольше звёздной пыли.
Ниже геймплей игры.