7 个仓库
Libraries that facilitate the separation of data and logic for high-performance simulation.
Distinct from C++ Multimedia Libraries: Distinct from C++ Multimedia Libraries: focuses on the data-oriented design paradigm rather than general multimedia utilities.
Explore 7 awesome GitHub repositories matching game development · Data-Oriented Design Libraries. Refine with filters or upvote what's useful.
EnTT is a C++ library designed for data-oriented design and entity component system architecture. It provides a framework for managing game objects and simulation states by separating entity data from logic, allowing for the efficient organization and manipulation of large collections of related data objects. The library utilizes sparse sets to store entities and components in contiguous memory, which facilitates cache-friendly iteration and constant-time lookups. It employs template metaprogramming for compile-time type reflection and type-erasure techniques to provide a unified interface fo
Provides a C++ library for building complex simulations using data-oriented design principles.
This repository is a collection of reference implementations and sample projects demonstrating data-oriented design using the Unity Entities package. It provides a suite of examples for implementing an entity component system that separates game data into components and logic into systems. The collection includes specialized demonstrations for rendering large volumes of entities via graphics pipelines, implementing high-performance collision and rigid body dynamics through data-oriented physics, and managing multiplayer state synchronization using the network framework for entities. It also p
Arranges objects as entities and components to optimize memory usage and increase processing speed.
Flecs is a high-performance entity component system framework and data-oriented programming library. It serves as a simulation engine core and game engine architecture tool, decoupling state from behavior by separating entities, components, and systems. The framework features a runtime reflection layer for dynamic data inspection and a built-in scripting system for defining entity behavior without recompilation. It also includes a network interface and REST API for remote simulation administration and state querying. The library covers a broad surface of simulation capabilities, including ar
Organizes simulation data into contiguous memory layouts to optimize CPU cache usage and performance.
Entitas is a data-oriented Entity Component System framework for Unity. It is designed to separate game state into components and logic into systems, utilizing a data-oriented design to optimize CPU cache usage, memory usage, and processing speed. The framework includes a C# source code generator that automatically produces boilerplate classes, entity accessors, and context singletons to reduce manual coding. It also provides a Unity editor debugging tool for real-time runtime state visualization, system performance monitoring, and visual entity inspection. The system manages entity lifecycl
Implements a data-oriented design that organizes game data into memory pools for CPU cache optimization.
Entitas-CSharp is a data-oriented architectural framework for managing application state and logic in C# and Unity environments. It implements the Entity Component System pattern to separate raw data components from the logic systems that process them. The framework includes a code generator that automatically produces type-safe boilerplate classes and methods at build time. It also provides a visual state inspector for examining entities and components in real time within the Unity editor. The library covers data-oriented programming and game state debugging, utilizing a memory-efficient ap
Implements a data-oriented programming library that separates state from logic for maximum performance.
This project is a library of C# software architecture examples and a reference for game programming patterns specifically implemented for the Unity engine. It provides a collection of Gang of Four and specialized game programming patterns to organize software components and improve code scalability. The implementation covers structural and behavioral patterns used to manage state and performance in real-time game simulations. It focuses on translating theoretical design patterns into working code to improve maintainability and system structure. The architecture includes patterns for action e
Implements architectural patterns specifically applied to game design for state management and performance.
该项目作为在 Unity 引擎中使用 C# 实现既定软件设计模式的综合库和架构指南。它提供了一种组织游戏逻辑的结构化方法,专注于通过经过验证的结构化解决方案提高代码的可维护性、可扩展性和长期项目健康度。 该集合通过提供解耦游戏系统(如事件分发和请求处理)的架构模式的实际实现而脱颖而出,同时提供识别和纠正常见编码反模式的工具。它进一步通过提供通过状态机管理复杂实体行为以及通过内存池和数据同步技术优化系统资源的策略,解决了技术挑战。 除了其核心架构模式外,该仓库还涵盖了广泛的能力,包括用于安全用户修改的沙箱脚本执行,以及在基于帧的更新中保持一致状态的方法。该资源旨在通过用模块化的组件组合替换无效实践来协助开发者优化其代码库。
Provides architectural patterns and structural solutions for organizing complex game systems in Unity.