7 repository-uri
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.
Acest proiect este o bibliotecă de exemple de arhitectură software C# și o referință pentru tipare de programare a jocurilor implementate special pentru motorul Unity. Oferă o colecție de tipare Gang of Four și tipare specializate de programare a jocurilor pentru a organiza componentele software și a îmbunătăți scalabilitatea codului. Implementarea acoperă tipare structurale și comportamentale utilizate pentru a gestiona starea și performanța în simulările de jocuri în timp real. Se concentrează pe traducerea tiparelor de design teoretice în cod funcțional pentru a îmbunătăți mentenabilitatea și structura sistemului. Arhitectura include tipare pentru încapsularea acțiunilor, crearea de obiecte și mesagerie de evenimente, precum și sisteme pentru gestionarea stării, mașini cu stări finite (FSM) și schimbarea comportamentului. Utilizează, de asemenea, decuplarea bazată pe interfețe pentru a reduce dependențele dintre clase.
Implements architectural patterns specifically applied to game design for state management and performance.
This project serves as a comprehensive library and architectural guide for implementing established software design patterns within the Unity engine using C#. It provides a structured approach to organizing game logic, focusing on improving code maintainability, scalability, and long-term project health through proven structural solutions. The collection distinguishes itself by offering practical implementations of architectural patterns that decouple game systems, such as event dispatching and request handling, while providing tools to identify and rectify common coding anti-patterns. It fur
Provides architectural patterns and structural solutions for organizing complex game systems in Unity.