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



