7 Repos
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.
Dieses Projekt ist eine Bibliothek mit C#-Softwarearchitektur-Beispielen und eine Referenz für Game-Programming-Patterns, die speziell für die Unity-Engine implementiert wurden. Es bietet eine Sammlung von Gang-of-Four- und spezialisierten Game-Programming-Patterns, um Softwarekomponenten zu organisieren und die Skalierbarkeit des Codes zu verbessern. Die Implementierung deckt strukturelle und verhaltensbezogene Patterns ab, die zur Verwaltung von Status und Performance in Echtzeit-Spielsimulationen verwendet werden. Der Fokus liegt auf der Übersetzung theoretischer Design-Patterns in funktionierenden Code, um die Wartbarkeit und Systemstruktur zu verbessern. Die Architektur umfasst Patterns für Action-Encapsulation, Objekt-Erstellung und Event-Messaging sowie Systeme für Statusmanagement, Finite-State-Machines und Behavior-Switching. Zudem wird eine interfacebasierte Entkopplung genutzt, um Abhängigkeiten zwischen Klassen zu reduzieren.
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.