
Разработка игрового демо на C++ в Unreal Engine 5
На курсе вы соберёте игровое демо на C++ со способностями персонажа, противниками и сохранением прогресса.
О курсе
Выстрел в игре на первый взгляд длится мгновение. За это мгновение игра успевает проверить, хватает ли ресурса, определить попадание, списать здоровье, запустить анимацию и звук, обновить интерфейс. Одно, на первый взгляд, простое действие игрока представляет собой десятки согласованно работающих правил. Экшен-эпизод — целая сеть таких правил: способности, противники, награды, сохранения.На курсе вы соберёте такую систему сами: придумаете характер боя, запрограммируете способности и поведение противников, свяжете победы с наградами и прогрессом. А затем отдадите демо живым игрокам — и по их реакции увидите, какие решения действительно работают.
Чему научитесь и что получится в итоге
Вы научитесь программировать способности и поведение противников, создавать варианты оружия одними настройками, связывать награды с интерфейсом и сохранением. Разберётесь, как искать причины замедления игры и проверять, помогла ли оптимизация.Итог — экшен-демо на одной небольшой локации: персонаж с несколькими способностями, несколько типов противников, улучшение, условия победы и поражения. К демо будут прилагаться исходники, инструкция по запуску и результаты тестирования. Курс завершается защитой.
Для кого курс
Для начинающих UE-разработчиков и гейм-дизайнеров, которые уже программируют отдельные механики на C++ и хотят собрать из них целостный игровой эпизод.
Продолжительность и формат
8 недель, 64 академических часа контактной работы. Занятия очные: разработка в редакторе и среде программирования, разбор решений, игровые тесты и в конце — защита демо.
Что нужно до начала
Отправная точка — курс «Разработка игр на C++ в Unreal Engine 5» или сопоставимый опыт.Нужно знать основы C++, классы, компоненты и события UE5, уметь открывать параметры для настройки через Blueprints, а также собирать C++-проект, находить простые ошибки и сохранять рабочие версии в Git.Пригодятся навыки проектирования уровней, работы с анимацией и звуком — но это необязательно: для оформления есть готовые ресурсы.Рекомендуемый компьютер: Windows 11, процессор Intel или AMD от 4 ядер и 2,5 ГГц, 32 ГБ ОЗУ, видеокарта с 8 ГБ видеопамяти и поддержкой DirectX 12 — подробнее в рекомендациях Epic Games.
Планируемые результаты
— Программировать последовательности действий с возможностью их завершения и прерывания.
— Управлять поведением противников через состояния и переходы между ними.
— Сохранять и восстанавливать данные игрового прогресса.
— Использовать делегаты и обработчики событий для связи частей проекта.
— Измерять производительность C++-кода и сокращать лишние вычисления.
— Находить и исправлять ошибки во взаимодействии игровых систем.
— Собирать завершённое игровое демо и объяснять устройство его кода.
Практические задания
— Набор составных действий игровых объектов.
— Набор противников с разным поведением.
— Система сохранений с восстановлением состояния игры.
— Система обмена событиями между игровыми объектами и интерфейсом.
— Оптимизированный проект с результатами замеров.
— Набор проверок совместной работы систем и исправлений в коде.
— Игровое демо с исходниками и пояснениями к работе систем.
Тематический план
ДЕЙСТВИЯ И СОСТОЯНИЯ ОБЪЕКТОВ
— Составные действия и порядок их выполнения
— Запуск, завершение и прерывание действий
— Состояния объектов и переходы между ними
— Совместимость и приоритет действий
— Изменение поведения в зависимости от игровой ситуации
— Выбор действий и настройка поведения противников на основе состоянийСОБЫТИЯ И ТАЙМЕРЫ
— Делегаты и обработчики событий
— Подписка на события и передача данных
— Связь игровой логики с интерфейсом
— Отложенные и повторяющиеся вызовы функций
— Запуск, остановка и отмена действий по таймеруСОХРАНЕНИЕ И ВОССТАНОВЛЕНИЕ ПРОГРЕССА
— Состав и структура сохраняемых данных
— Запись и загрузка прогресса в Unreal Engine 5
— Восстановление состояния игровых объектов
— Новая игра и продолжение прохождения
— Проверка сохранений и обработка ошибок загрузкиПРОИЗВОДИТЕЛЬНОСТЬ C++-КОДА
— Измерение производительности и анализ затрат
— Поиск лишних вычислений и частых обновлений
— Выбор между событиями, таймерами и обновлением каждый кадр
— Оптимизация работы с объектами и данными
— Сравнение результатов до и после измененийОТЛАДКА ВЗАИМОДЕЙСТВИЯ СИСТЕМ
— Порядок вызовов и зависимости между системами
— Поиск причин ошибок с помощью отладчика
— Проверка повторных и прерванных действий
— Ошибки переходов между состояниями и обработки событий
— Проверка связанных систем после изменения кодаСБОРКА И ТЕСТИРОВАНИЕ ДЕМО
— Объединение систем в игровой эпизод
— Условия начала, завершения и повторного запуска
— Игровое тестирование и доработка проекта
— Подготовка сборки и запуск вне редактора
— Подготовка исходников, инструкции и пояснений к коду



