A downloadable game for Windows

Technical Presentation: Navigation System Integration with ECS in Unreal Engine

Техническая Презентация: Интеграция Навигационной Системы и ECS в Unreal Engine

 

Introduction:

Введение:

This presentation focuses on the developed navigation system integrated with an ECS architecture within the standardized Unreal Engine Framework. The goal is to create a high-performance and scalable solution for managing the movement of a large number of units in the game world. All core logic for these systems is meticulously organized into custom modules.

Данная презентация посвящена разработанной системе навигации, интегрированной с ECS-архитектурой в стандартизированном Framework Unreal Engine. Цель – создание высокопроизводительного и масштабируемого решения для управления перемещением большого количества юнитов в игровом мире. Вся основная логика этих систем аккуратно организована в кастомные модули.

 

Project Architecture:

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

 

To ensure modularity and independence of subsystems, the core logic for navigation and ECS is implemented in separate custom modules:

Для обеспечения модульности и независимости подсистем, основная логика навигации и ECS реализована в отдельных кастомных модулях:

  • Custom Navigation: Contains the core of the navigation system, including vector field construction and pathfinding algorithms.
  • Custom Navigation: Содержит ядро навигационной системы, включая алгоритмы построения векторного поля и поиска пути.
  • Custom ECS: Implements the core Entity-Component-System architecture for managing game entities.
  • Custom ECS: Реализует ядро Entity-Component-System архитектуры для управления игровыми сущностями.

The implementation of specific game mechanics, customization, and the creation of derived classes (child classes) are done directly in the main game module. This approach ensures a clean and reusable core, as well as flexibility in adapting the system to various game scenarios.

Реализация конкретных игровых механик, донастройка и создание производных классов (чайлд-классов) осуществляется непосредственно в основном игровом модуле. Такой подход обеспечивает чистоту и переиспользуемость ядра, а также гибкость в адаптации системы под различные игровые сценарии.

 

Vector Field-Based Navigation System:

Навигационная Система на основе Vector Field:

 

The navigation system is based on the Vector Field method, providing smooth and dynamic unit movement. Key features of the implementation:

В основе системы навигации лежит метод Vector Field, обеспечивающий плавное и динамичное перемещение юнитов. Ключевые особенности реализации:

  1. Game World Chunking: The game world is divided into discrete chunks (blocks), allowing for efficient management of navigation data and reduced computational load.

Разбиение игрового мира на чанки: Игровой мир разделен на дискретные чанки (блоки), что позволяет эффективно управлять навигационными данными и снизить вычислительную нагрузку.

  • Element Limit per Chunk: To optimize pathfinding and memory management, a limit is placed on the number of units per chunk.
  • Ограничение количества элементов в чанке: Для оптимизации поиска пути и управления памятью установлено ограничение на количество юнитов в каждом чанке.
  • Chunk Length Limitation: The length of each chunk is limited to ensure optimal vector field granularity and navigation accuracy.
  • Ограничение длины чанка: Длина чанка ограничена для обеспечения оптимальной детализации векторного поля и точности навигации.

 

 

  1. Vector Field Area Filling: After the main chunks are formed, the system automatically fills areas not covered by chunks, providing a cohesive navigation field throughout the game world.

Заполнение областей Vector Field: После формирования основных чанков, система автоматически заполняет области, не охваченные чанками, обеспечивая целостное навигационное поле во всем игровом мире.

 

  1. Inter-Chunk Pathfinding: An efficient pathfinding algorithm between chunks is implemented, allowing units to move between different areas of the game world.

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

 

  1. ECS Integration: Seamless integration between the Vector Field system and ECS is provided. The ECS system reads navigation information from the Vector Field to control unit movement.

Интеграция с ECS: Обеспечено бесшовное взаимодействие между системой Vector Field и ECS. Система ECS считывает навигационную информацию из Vector Field для управления перемещением юнитов.

 

ECS Architecture:

ECS Архитектура:

 

Using an ECS architecture provides significant advantages in performance and scalability:

Использование ECS-архитектуры предоставляет значительные преимущества в производительности и масштабируемости:

  • Data-Oriented Approach: ECS focuses on data organization, allowing for optimized memory access and improved system performance.
  • Данные-ориентированный подход: ECS фокусируется на организации данных, что позволяет оптимизировать доступ к памяти и повысить производительность системы.
  • Composition over Inheritance: Unit functionality is determined by adding and removing components, providing flexibility and preventing the proliferation of class hierarchies.
  • Композиция вместо наследования: Функциональность юнитов определяется путем добавления и удаления компонентов, что обеспечивает гибкость и предотвращает разрастание иерархии классов.
  • Parallel Processing: ECS systems can be easily parallelized, allowing efficient use of multi-core processors and processing of a large number of units.
  • Параллельная обработка: Системы ECS могут быть легко распараллелены, что позволяет эффективно использовать многоядерные процессоры и обрабатывать большое количество юнитов.


Current Status (1.13v):

  • Chunk filling of the main block has been implemented and tested, respecting the limits on the number of elements and chunk size.
  • Filling of areas not covered by chunks has been implemented to provide a cohesive navigation field.
  • An algorithm for pathfinding between chunks has been developed and tested.
  • Successful implementation of information reading between VectorField and ECS, ensuring system coordination.
  • The ECS system has been performance-tested with 6,000 units, demonstrating high efficiency.

Текущий Статус (1.13v):

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

 

Future Plans:

  • Optimizing the pathfinding algorithm for improved performance with a large number of units.
  • Implementing dynamic Vector Field updates in response to changes in the game world.
  • Integration with an obstacle system to ensure automatic obstacle avoidance by units.
  • Further optimization of the ECS system to support a greater number of units.

Дальнейшие планы:

  • Оптимизация алгоритма поиска пути для повышения производительности при большом количестве юнитов.
  • Реализация динамического обновления Vector Field в ответ на изменения в игровом мире.
  • Интеграция с системой препятствий для обеспечения автоматического обхода препятствий юнитами.
  • Дальнейшая оптимизация системы ECS для поддержки большего количества юнитов.

 

Conclusion:

The developed navigation system, based on Vector Field and integrated with ECS architecture, provides a powerful and scalable solution for managing the movement of a large number of units in the game world. Dividing the logic into custom modules ensures modularity and reusability of the system, and the use of ECS architecture allows for high performance and scalability. Current testing results demonstrate the promise of the developed approach for creating complex and massive game worlds.

 

Заключение:

Разработанная система навигации, основанная на Vector Field и интегрированная с ECS-архитектурой, предоставляет мощное и масштабируемое решение для управления перемещением большого количества юнитов в игровом мире. Разделение логики на кастомные модули обеспечивает модульность и переиспользуемость системы, а использование ECS-архитектуры позволяет достичь высокой производительности и масштабируемости. Текущие результаты тестирования демонстрируют перспективность разработанного подхода для создания сложных и масштабных игровых миров.

 

 

Download

Download
TechVectorFieldECSV1.13.rar 232 MB