ПРОЕКТ

Разработка игровых систем Unreal для игровых проектов

Индивидуальные игровые системы, Разработка на Unreal Engine, Программирование на C++ и Blueprint, Боевые системы и системы персонажей, Интеграция анимации, Многопользовательские игры, Дизайн уровней, Оптимизация производительности

  • Сфера: Разработка игр
  • Польша Местоположение: Польша
  • Срок реализации: 16 недели
  • Технологии: C++, Unreal Engine
4+ месяца

Этот клиент - студия разработки игр из Польши. Она занимается проектами на Unreal Engine и нуждается в помощи, чтобы превращать прототипы в стабильные игры, в которые можно играть. Программное обеспечение принимает файлы проекта, требования к функциям и игровые ресурсы. Оно предоставляет студии модульные игровые механики, системы персонажей и боя, визуальные функции и конфигурацию мультиплеера в рамках одного проекта. Разработчики, дизайнеры и дизайнеры уровней используют его для улучшения игровых проектов.

Краткое описание

Проблема

Студия тратит время на превращение прототипов Unreal и существующих проектов в стабильные игровые системы.

Решение

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

Результат

Эта работа помогает превращать прототипы Unreal Engine и существующие проекты в стабильные игры, в которые можно играть.

История клиента

Клиент - студия разработки игр из Польши. Она занимается однопользовательскими играми на Unreal Engine и создаёт RPG и survival-RPG проекты на основе прототипов или дизайна.

Студия также создаёт вертикальные срезы и готовит релизы. По мере развития игры механики, ресурсы и системы проекта должны работать согласованно.

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

Требовалось реализовывать и улучшать игровые функции в проектах Unreal Engine с использованием C++, Blueprints или скриптов. Студии также были нужны уровни, персонажи, анимации и многопользовательские функции, такие как репликация и лобби.

Решение было сформировано как набор модулей игровых систем, боя, анимации, физики, уровней и конфигурации мультиплеера. Существующая структура проекта могла сохраниться, а новые актёры, компоненты, подсистемы и ресурсы добавлялись отдельно.

Клиент хотел

  1. Создавать и улучшать игровые функции и механики в среде Unreal Engine.
  2. Использовать C++, Blueprints или скрипты для модульных игровых систем.
  3. Создавать или интегрировать уровни, персонажей, оружие, способности, анимации и ресурсы.
  4. Поддерживать репликацию, сетевой авторитет, матчмейкинг, лобби, плейлисты и серверы.

Почему готовое программное обеспечение не подошло

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

Обзор проекта

Решение создано на базе существующего проекта студии на Unreal Engine, а не вместо него. В основном рабочем пространстве объединены настройки актёров и компонентов, конфигурация подсистем, ввод, интеграции UMG и области разработки игровых функций.

Для модульной игры проект предоставляет области разработки на C++ и Blueprint для механик, актёров и подсистем. Диагностика порядка тактов и ошибок кадров помогает команде анализировать проблемы, влияющие на производительность игры.

Управление персонажами и боевая система реализованы в отдельной области настроек. Параметры движения, боя и взаимодействия с врагами связаны с заданиями, прогрессом, инвентарём и сохранениями.

Интеграция анимации, эффекты Niagara, материалы или шейдеры HLSL и физика Chaos управляются в области визуальных и физических систем. Уровни, выбор главного персонажа, лобби, плейлисты и турниры настраиваются в области конфигурации уровней и мультиплеера.

Студия работает по понятным этапам, регулярно предоставляя обновления и результаты для проверки. Модули добавляются по одному и согласуются с командой клиента до начала следующего этапа.

Реализованные ключевые функции

  • Модульные игровые системы на C++ и Blueprints
  • Настройки актёров, компонентов и подсистем
  • Системы движения и боя персонажей
  • Задания, диалоги, инвентарь, прогресс и сохранения
  • Интеграция анимации и эффектов Niagara
  • Игровые механики на базе физики Chaos
  • Создание уровней и окружения
  • Мультиплеерные лобби, плейлисты и турниры
  • Диагностика порядка тактов и ошибок кадров

Можно добавить

+ Автоматический импорт ресурсов + Индивидуальные Blueprints + Интеграции UI + Выбор персонажа в лобби + Функции турниров + Управление XP + Документацию C++ модулей

Кто ещё может использовать это решение

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

Студия, создающая RPG и survival-RPG

Задача Она превращает прототипы и дизайн в системы персонажей и боя.
Как помогает решение Решение объединяет игровые механики, сохранения, инвентарь, анимацию, физику и уровни в модульных разделах проекта Unreal.

Игровая команда, готовящая вертикальный срез или релизную версию

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

Студия, расширяющая многопользовательскую игру на Unreal

Задача Ей нужны репликация, сетевой авторитет и функции лобби.
Как помогает решение Решение предоставляет конфигурацию мультиплеера вместе с выбором персонажей, турнирами и основными игровыми системами.

Технологический стек

C++

Программирование игры

C++ реализует модульные игровые системы, актёров, компоненты и подсистемы в проекте Unreal.

Unreal Engine

Платформа разработки игр

Unreal Engine предоставляет среду проекта для игры, рендеринга, физики, звука и управления ресурсами.

Blueprints

Визуальное создание игровых сценариев

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

Niagara

Эффекты и частицы

Niagara поддерживает визуальные эффекты, используемые вместе с анимацией и игровыми системами.

Chaos physics

Физика игры

Физика Chaos управляет физическим поведением игры и свойствами физики.

HLSL shaders

Создание материалов и шейдеров

Материалы или шейдеры HLSL управляют отображением поверхностей и поведением рендеринга.

Git

Контроль версий

Git сохраняет и отслеживает изменения проекта Unreal.

PDF and Markdown

Документация проекта

PDF и Markdown используются для документации модулей проекта и их применения.

Интеграции

Unreal Engine project

Решение расширяет существующий проект Unreal Engine игровыми системами, ресурсами, уровнями и конфигурацией мультиплеера.

Git

Проект обменивается исходным кодом и изменениями проекта через контроль версий Git.

Existing inventory, voice and animation systems

Новая разработка игровых функций интегрируется с существующими системами инвентаря, голоса и анимации, а не создаёт их заново.

Dedicated or listen servers

Конфигурации мультиплеера поддерживают игру на выделенных или listen-серверах.

Результат

Понятное рабочее пространство основных игровых систем

Рабочее пространство игровых систем объединяет механики, актёров, компоненты, подсистемы и ввод. Оно предоставляет студии единое место для реализации функций и анализа работы проекта.

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

Как это работает

  1. В рабочем пространстве отображаются игровые функции, параметры механик, привязки ввода, состояния подсистем и данные о кадрах.
  2. Области разработки C++ и Blueprint управляют актёрами, компонентами и подсистемами.
  3. Рабочее пространство содержит диагностику порядка тактов и ошибок кадров проекта.
  • Настройки актёров и компонентов
  • Интеграции ввода и UMG
  • Конфигурация подсистем
Примечание: Рабочее пространство сохраняет модульный подход к разработке игровых функций, поэтому позже можно добавлять функции без переписывания всего проекта.
Рабочее пространство игровых систем

Рабочее пространство игровых систем

Функции на этом экране
Создавать игровые системы Добавлять актёров и компоненты Реализовывать подсистемы Управлять вводом и UMG Исправлять ошибки порядка тактов и кадров Программировать в Blueprints или C++

Связанная логика персонажа и боя

Настройки персонажа связывают движение, боевые действия и взаимодействие с врагами с прогрессом, заданиями, инвентарём и сохранениями.

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

Как это работает

  1. На экране представлены параметры движения, боя, заданий и прогресса, инвентарь и данные сохранений.
  2. Управление персонажем и боевые действия отвечают за движение игрока и взаимодействия.
  3. Контроллеры прогресса и сохранений связывают прогресс персонажа с инвентарём и данными сохранений.
  • Управление персонажем
  • Боевые действия
  • Контроллеры прогресса и сохранений
Настройки боя и персонажа

Настройки боя и персонажа

Функции на этом экране
Создавать боевые системы

Анимация и физика в одном представлении

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

Интеграция анимации и физика Chaos остаются частью того же проекта Unreal вместе с контроллерами эффектов и материалов, используемых в игре.

Как это работает

  1. В представлении отображаются состояния анимации, параметры эффектов, значения материалов и свойства физики.
  2. Параметры эффектов отображаются рядом со значениями анимации и материалов.
  3. Физика Chaos управляет настроенным физическим поведением игры.
  • Область просмотра анимации
  • Контроллеры эффектов Niagara
  • Просмотр материалов или шейдеров
  • Настройки физики Chaos
Совет: Визуальные эффекты, материалы и физика просматриваются рядом с поведением анимации, чтобы обратная связь игры оставалась согласованной.
Просмотр анимации и физики

Просмотр анимации и физики

Функции на этом экране
Реализовывать анимации Реализовывать игровые механики на базе физики

Уровни и параметры мультиплеера остаются связанными

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

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

Как это работает

  1. На экране представлены элементы уровней, доступные персонажи, участники лобби, настройки плейлистов и турниров.
  2. Структура уровня управляет игровым миром и его элементами.
  3. Контроллеры лобби, плейлистов и турниров настраивают параметры мультиплеера.
  • Структура уровня
  • Выбор главного персонажа
  • Настройки лобби
  • Контроллеры плейлистов и турниров
Конфигурация уровней и мультиплеера

Конфигурация уровней и мультиплеера

Функции на этом экране
Проектировать игровые уровни Создавать уровни Добавлять выбор персонажа в лобби Реализовывать функции турниров

Что даёт решение

Используя это решение, студия может:

  • Реализовывать основные игровые механики на C++ и Blueprints.
  • Связывать управление персонажем, бой, задания, инвентарь и сохранения.
  • Интегрировать анимации, эффекты Niagara, материалы и физику Chaos.
  • Создавать уровни и настраивать персонажей, лобби, плейлисты и турниры.
  • Анализировать данные о порядке тактов и кадрах во время разработки.
  • Расширять существующие проекты Unreal без изменения устоявшихся систем.

В итоге

В итоге решение помогло студии перейти от разработки игровых функций к настройке уровней, анимации, физики и мультиплеера.

ЧАСТЫЕ ВОПРОСЫ

Планируете создать похожую систему? Ознакомьтесь с ответами и узнайте, как эту работу можно адаптировать для существующего проекта Unreal, основы нового игрового проекта или развития мультиплеера.