Эра суммонеров - дэвлог 14.3
Всем привет, на связи ваш пока что не самый любимый соло разработчик Андросиэль. Снова делюсь своими штуками по разработке в формате текстового блога. Погнали!
Омни-ИИ существ
Как ты уже не помнишь, я сводил искусственный интеллект существ в мире к 4 основным типам по двум переключателям (поведение и видимая цель). "Агрессор" - видит цель - бежит её атаковать. "Трусишка" - видит цель - убегает от неё. "Защитник" - игнорирует цель, отбивается при получении урона."Союзник" - игнорирует цель, убегает при получении урона.
И зачем-то еще тогда я сделал для них разные не только деревья поведения, но еще и контроллеры. А как я определил для себя по опыту, если ты программируешь что-то подобное несколько раз, то ты точно что-то делаешь неправильно. Короче, закопипастил всё что было сделано в один общий behavior tree, разделил переключателем базовое поведение, повесил на один контроллер и всё заработало как надо.
Появился пятый тип поведения "Компаньон". Существо следует за своим хозяином и будет слушать его команды (об этом в будущем блоге по классу Призыватель). Это позволяет создать заранее подготовленные отряды врагов, которые следуют за своим главарём и не разбегаются, а так же "на лету" переключить поведение существа в определённый момент (Защитник->Компаньон при получении эффекта приручения или Агрессор->Трусишка при достижении 15% здоровья, ну вы поняли).
Ну еще по мелочи усложнил всё второй ступенью проверок, например, разделил видимую цель и атакуемую цель, чтобы логика работала правильно на всех ветках поведения одновременно и т.п. Это мой четвертый или пятый цикл возвращения к ИИ существ через behavior tree и я уже чувствую себя как рыба в воде - таски, декораторы, сервисы, последовательность логики - всё стало прямо родным и простым 😅
Грибной биом
Помнишь миконидов-монстров из прошлых постов, над которыми я проводил опыты? Всё было не зря и наконец я начал превращать пустую яму на локации в их уютный, но спорный (споровый? 😅) домик. Работы над ним правда еще дофига 😭
Да, у меня в планах и пустыни, и болота, и снега, и подземье, и прочие локации и биомы целого мира, но для раннего доступа я сконцентрируюсь только на эльфийском лесу. Конечно, у самого уже в печёнках сидит эта зелень, так что очень кайфанул от небольшой смены обстановки 🍄
Класс: Ловкач
Вы уже сотню раз видели как персонаж криво карабкается по стене. Однако, никто не знал, что в рамках моей системы так умеет делать только персонаж с классом Ловкач. Ему открываются заряды импульса в количестве параметра ловкости с быстрым откатом, которые расходуются на любые необычные эффекты мобильности - двойной прыжок, кувырок для уклонения (немного медленнее и короче телепортации Скитальца), карабканье, прыжки по стенам... Так же, заряды раскрывают дополнительные эффекты мобильности у связанных активных умений.
Да-да, еще один вырезанный "мастхевчик" который придётся вписывать обратно персонажу в свои 10 классов, выписав что-то другое, не менее важное. Руки чешутся посмотреть как вы будете изворачиваться чтобы собрать класс-билд 😈
Голоса в голове
Ну и напоследок вернёмся к теме дата-ассетов, в которые я решил перегонять все данные. Я лично в микрофон записывал озвучку реплик, заклинаний, вздохов и прочего. После чего перегнал через нейронку на подготовленные модели голосов для персонажей разных рас и полов. Кстати, на заметку разрабам - так в разы лучше чем генерировать из текста, имхо. Вот уже этот вагон звуков загружаю в каждый отдельный дата-ассет голоса конкретного персонажа, после чего в нужный момент вызываю нужный мне звук через AnimNotify. Если вы открывали видео в посте со звуком, то могли заметить, что я добавил к некоторым действиям озвучку. Работёнка долгая и нудная, но приятно разбавляет геймплей и добавляет живости персонажу.
Еще по мелочи начал заполнять звуки инвентаря, но пока не обновлял подписку на нейронку для генерации звуков, так что заполнил что имею. Есть огромная вероятность что звуки будут заменены.
На сегодня это всё, спасибо за внимание, реакции и комментарии. Добавляйте Awakening Saga в список желаемого Steam и подписывайтесь тут или в телегу или на бусти, если заинтересовались проектом, буду безмерно благодарен за любую поддержку соло разработчика.