ПРОЕКТ

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

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

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

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

Краткое содержание

Проблема

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

Решение

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

Результат

Решение помогает превращать прототипы и существующие проекты Unreal Engine в игровые и стабильные игровые продукты.

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

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

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

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

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

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

Клиент хотел

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

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

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

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

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

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

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

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

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

Основные реализованные функции

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

Дополнительные функции

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

Кому ещё подойдёт это решение

У этих компаний схожие задачи по созданию игр, поэтому решение можно адаптировать под их проекты.

Студия, разрабатывающая RPG и survival-RPG

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

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

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

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

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

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

C++

Программирование игровой логики

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

Unreal Engine

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

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

Blueprints

Скриптинг визуальной игровой логики

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

Niagara

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

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

Chaos physics

Игровая логика на основе физики

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

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

Многопользовательские конфигурации поддерживают игру на выделенных или слушающих серверах.

Результат

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

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

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

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

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

Рабочая область игровых систем

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

Объединённая логика персонажа и боя

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

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

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

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

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

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

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

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

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

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

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

Предварительный просмотр анимации и физики

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

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

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

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

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

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

Конфигурация уровня и многопользовательского режима

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

Что предлагает решение

С помощью этого решения студия может:

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

Итоговый результат

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

ЧАВО

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