
ХУМ
HUM — это шутер на Unreal Engine 5 о медиуме Шите и его божественном проводнике Сете. Сюжет строится вокруг принятия неизбежного конца света и попытках вернуть умерших.

ЗАДАЧИ
Реализация основных механик и разработка архитектуры проекта в движке, а именно:
— движение и управление персонажа: реакция на спуск и подъемы, настройка бега и связь с дыханием;
— система медитации: появление и смена персонажей и камеры, обнаружение объектов в зависимости от взгляда;
— стрельба: создание пистолета, связь с инвентарем патронов-эффектов у персонажа, выстрелы эффектами и пустыми картами. Виджет для создания эффектов из мантр;
— враги: постановка эффектов и реакция на их взрыв в виде урона, влияние эффектов на поведение;
— создание диалоговой системы: общение с НПС, диалоги от сета при пересечении триггербоксов, выслушивание историй объектов.
ПЕРЕДВИЖЕНИЕ
Тяжесть подъема и легкость падения
При помощи расчета скалярного произведения движения персонажа и нормали поверхности было оформлено ускорение движение по склонам в случае спуска и замедление при поднятии на склон.
Двигаться наверх тяжелее, зато игрок скользит при спуске вниз
Бег
Был сделан бег, расходующий параметр дыхания в процессе. Как только персонаж перестанет бежать — дыхание медленно начнет восстанавливаться. Внутри можно задать скорость восстановления и траты, а также общий объем дыхания.
При беге у персонажа тратится дыхание
В покое и при ходьбе дыхание восстанавливается
СТРЕЛЬБА И ЭФФЕКТЫ
Вначале для создания стрельбы был оформлен базовый пистолет, от которого наследовалось множество оружия.
Но в процессе эта система была упразднена и вместо смены оружия необходимо было сделать смену патронов и эффектов.
Эффекты можно ставить на врагов и активировать щелчком.
Установка эффекта на врага и его активация
На врагов можно поставить до двух эффектов, которые отобразятся по их бокам. Если поставить новый эффект — то первый пропадет по принципу очереди.
На врага можно поместить до двух эффектов
Эффекты и крафт
Каждый эффект имеет свои уникальные особенности: некоторые из них наносят периодический урон, какие-то взрываются, а один даже может подчинить врага себе!
Для этого все эффекты наследуются от одного родителя, в котором определяется их длительность и урон, а также их размещение на враге, однако реакция активации определена и перегружена в каждом объекте отдельно.
Всего есть 10 различных эффектов, которые создаются из четырех мантр. Для крафта была сделана таблица со всеми возможными сочетаниями карт, подключенная к виджету.
Внутри виджета можно отменить свой выбор, нажав на мантру и поставив на ее место другую. Также можно увидеть информацию об эффекте: она берется из таблицы с данными каждого эффекта и содержит их длительность, урон и описание.
ВРАГИ-БАЮКИ
Сделано 4 типа AI врага на основе базового родителя: — искатель; — одиночка; — летяга; — боец (не вошел в финальную игру).
Для каждого врага написано уникальное поведение, способы атаки, а также сделана реакция на эффекты.
От контроля летающий враг начинает летать беспорядочно, пока не умирает
МЕДИТАЦИЯ И ОБЪЕКТЫ
Медитация является способом сохранения, восстановления здоровья, исследования мира и активации объектов.
В начале медитации на уровне спавнится новый персонаж-душа с камерой от 3 лица, которому передается контроль. Как только игрок пожелает отменить медитацию, он сразу переместится в тело, где бы оно ни осталось, и контроль вернется к базовому персонажу.
Вход и выход из медитации
При помощи медитации можно активировать объекты
Объекты и их виды
Создано 3 типа объектов: — нарративные; — с мантрами; — c баюками.
К предметам с мантрами можно подключать отдельные актеры мини-игры, при выполнении цели которых запускается выдача мантр.
Мини-игра со съемкой
Предметы с нарративом и баюками очень схожи: они запускают диалоги.
Отличие предметов с баюками заключается в их способности спавнить врагов под конец диалога и запускать арены.
Локации спавна можно настроить на уровне при помощи массива структуры локации и класса врага.
РАЗГОВОРЫ
Для разговоров в игру был добавлен плагин FlowGraph, позволяющий легко создавать цепочки нод и сами ноды вместо использования нагроможденных таблиц.
Благодаря этому была добавлена система, позволяющая нарративному отделу достаточно просто создавать монологи путем соединения цепочек реплик. Внутри реплики можно настроить звук, задержку до следующей реплики и текст, который будет отображаться на экране. Внутри можно локально сохранять и проверять bool- и int- переменные, а также булевые глобальные, от чего можно менять дальнейшие реплики.
СЕТ И РЕПЛИКИ
В игре есть спутник героя в виде Сета, который летает за ним, а если игрок отойдет слишком далеко — телепортируется к нему. Вместе с этим добавлены и его диалоги, появляющиеся при пересечении триггербоксов.
Реплики Сета не блокируют камеру и движение персонажа
ТУТОРИАЛ
Для туториала было сделано добавление и удаление виджетов, связанных с диалогами, а также тренировка стрельбы при помощи мишеней.
Мишени
Мишеням можно настроить движение, эффект и способ уничтожения: при попадании или по щелчку. В туториале мишени связаны с диалогами и появляются раундами.
ТРЕЙЛЕР
Свежие версии всегда можно найти на itch.io! Туда они загружаются патчами при помощи программы butler, что позволяет обойти ограничение в 1ГБ на загрузку.