Свой путь в Gamedev: Архитектура и реализация базовых систем RPG на Unreal Engine 4

Всем привет. Я студент 2 курса колледжа IT Top.Год назад во время своего обучения я начал изучать движок UE4( Unreal Engine 4 ). Да уже есть UE5, но с учетом того что он новый и может что ещё не многие в нем разобрались я решил сесть именно за 4 его версию. В рамках своего самообучения движку я решил параллельно делать RPG игру. Вот ссылка на гит для тех кто может захочет посмотреть (давно его не обновлял из за загруженности в учебе в скором времени постараюсь обновить):

Введение: Зачем делать еще одну RPG:

MyGame — это не просто моя игра для изучения UE4, но и ближе стать к своей мечте попасть в Gamedev. Цель — не выпустить хит, а разобраться, как связать физику, управление персонажем и визуальные эффекты в единую систему. Даже с учетом того, что всё что пока сделано в проекте сделано в Blueprint.

Архитектура проекта:

Как я и сказал ранее всё что пока сделано в проекте реализовано в Blueprint.

Характеристики пользовательского интерфейса (UI)

Отображение здоровья, маны и выносливости

На этом скриншоте показано, как будут выглядеть полоски здоровья (Health), маны (Mana) и выносливости (Stamina) в игровом интерфейсе. Эти элементы UI позволяют игроку отслеживать текущее состояние своего персонажа.
На этом скриншоте показано, как будут выглядеть полоски здоровья (Health), маны (Mana) и выносливости (Stamina) в игровом интерфейсе. Эти элементы UI позволяют игроку отслеживать текущее состояние своего персонажа.

Подключение UI к характеристикам персонажа

Здесь демонстрируется логика Blueprint, отвечающая за подключение полосок здоровья, маны и выносливости к соответствующим переменным характеристик персонажа. Это обеспечивает динамическое обновление UI в зависимости от изменений значений характеристик.
Здесь демонстрируется логика Blueprint, отвечающая за подключение полосок здоровья, маны и выносливости к соответствующим переменным характеристик персонажа. Это обеспечивает динамическое обновление UI в зависимости от изменений значений характеристик.

Переменные характеристик

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

Обзор Blueprint логики

Event Graph и основные функции

Свой путь в Gamedev: Архитектура и реализация базовых систем RPG на Unreal Engine 4
Event Graph является центральным узлом для обработки событий и вызовов функций. Показаны ключевые подключения и логические потоки в Event Graph, которые связывают различные части системы характеристик и механик. 
Event Graph является центральным узлом для обработки событий и вызовов функций. Показаны ключевые подключения и логические потоки в Event Graph, которые связывают различные части системы характеристик и механик. 

Механики взаимодействия и боя

Получение урона

На этом скриншоте показана логика Blueprint, обрабатывающая получение урона персонажем. Здесь определяются расчеты урона, применение его к здоровью персонажа и соответствующие визуальные/звуковые эффекты.
На этом скриншоте показана логика Blueprint, обрабатывающая получение урона персонажем. Здесь определяются расчеты урона, применение его к здоровью персонажа и соответствующие визуальные/звуковые эффекты.

Использование маны

Этот скриншот демонстрирует логику расхода маны при использовании магических способностей. Здесь также может быть показана проверка наличия достаточного количества маны перед активацией способности.
Этот скриншот демонстрирует логику расхода маны при использовании магических способностей. Здесь также может быть показана проверка наличия достаточного количества маны перед активацией способности.

Использование выносливости

Здесь представлена логика расхода выносливости для выполнения физических действий, таких как атаки или блокирование. Показаны условия для проверки наличия достаточной выносливости.
Здесь представлена логика расхода выносливости для выполнения физических действий, таких как атаки или блокирование. Показаны условия для проверки наличия достаточной выносливости.

Базовая атака

Этот скриншот иллюстрирует логику Blueprint для выполнения базовой атаки персонажа. Включает активацию анимации, нанесение урона и расход выносливости.
Этот скриншот иллюстрирует логику Blueprint для выполнения базовой атаки персонажа. Включает активацию анимации, нанесение урона и расход выносливости.

Каст магии

Здесь показана логика для активации магических заклинаний, включая проверку маны, запуск анимации каста и вызов эффектов заклинания.
Здесь показана логика для активации магических заклинаний, включая проверку маны, запуск анимации каста и вызов эффектов заклинания.

Блокирование урона

Этот скриншот демонстрирует логику блокирования входящего урона. Включает активацию состояния блока, снижение получаемого урона и расход выносливости при успешном блоке.
Этот скриншот демонстрирует логику блокирования входящего урона. Включает активацию состояния блока, снижение получаемого урона и расход выносливости при успешном блоке.

Система прогрессии персонажа

Добавление опыта

На этом скриншоте показана логика Blueprint для добавления опыта персонажу. Это может быть связано с выполнением квестов, победой над врагами или другими игровыми событиями.
На этом скриншоте показана логика Blueprint для добавления опыта персонажу. Это может быть связано с выполнением квестов, победой над врагами или другими игровыми событиями.

Поднятие уровня

Здесь демонстрируется логика повышения уровня персонажа после накопления достаточного количества опыта. Включает обновление характеристик, разблокировку новых способностей и уведомление игрока.
Здесь демонстрируется логика повышения уровня персонажа после накопления достаточного количества опыта. Включает обновление характеристик, разблокировку новых способностей и уведомление игрока.

Дополнительные элементы UI и сообщения

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

Анимации и 3d модели

Свой путь в Gamedev: Архитектура и реализация базовых систем RPG на Unreal Engine 4
Свой путь в Gamedev: Архитектура и реализация базовых систем RPG на Unreal Engine 4
В данных скриншотах я продемонстрировал откуда я брал свои первые модели и анимации.
В данных скриншотах я продемонстрировал откуда я брал свои первые модели и анимации.

Тестирование

На данный момент все скачанные анимации добавлены и работают стабильно при нажатии кнопок. Но криво работает система убавление хп, маны и стамины.

Планы на будущее

В дальнейшем планирую исправить полоски хп, маны и стамины. Сделать свои 3d модели и анимации. Так же хочу сделать не только в Blueprint но и полазить в коде ( хотя та же недавно вышедшая Expedition 33 полностью сделана в Blueprint).

Заключение

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