awesome-repositories.com
المدونة
MCP
awesome-repositories.com

اكتشف أفضل مستودعات المصادر المفتوحة باستخدام بحث مدعوم بالذكاء الاصطناعي.

استكشفعمليات بحث منسقةبدائل مفتوحة المصدربرمجيات ذاتية الاستضافةالمدونةخريطة الموقع
المشروعحولكيفية ترتيب النتائجالصحافةخادم MCP
قانونيالخصوصيةالشروط
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
SanderMertens avatar

SanderMertens/flecs

0
View on GitHub↗
8,045 نجوم·580 تفرعات·C·other·10 مشاهداتwww.flecs.dev↗

Flecs

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 archetype-based storage, phase-based pipeline scheduling, and complex entity hierarchies with inheritance. It provides advanced filtering via cached queries, relationship traversal, and reactive state monitoring through an event-driven observer pattern.

The project is implemented in C and provides tools for world state serialization via JSON and a domain-specific language for scene loading.

Features

  • Entity Component Assignment - Attaches tags and data-carrying components to entities, including support for default-constructed values.
  • Entity Component Systems - Implements a high-performance entity component system using data-oriented design and contiguous memory layout.
  • Extensible Component Architectures - Implements an extensible component architecture that decouples state from behavior using the ECS pattern.
  • Entity Hierarchy Management - Allows creating parent-child relationships to organize simulation data and propagate changes down the entity tree.
  • Batch Processing - Performs high-performance bulk logic execution across entities sharing specific components.
  • Custom Data Types - Allows the definition of custom primitives, enums, and structs to describe data layout.
  • Unique Identifier Generators - Generates unique identifiers that serve as handles for attaching and managing simulation data.
  • Entity Inheritance - Supports marking components as inheritable so queries automatically include entities that inherit them.
  • Recursive Deletion - Provides recursive entity cleanup that deletes descendants in depth-last order to prevent orphaned children.
  • Entity Relationships - Provides the ability to associate entities via specific relationship types to create directed links.
  • Cascade Deletions - Implements cascading deletions to automatically remove child entities when a parent entity is deleted.
  • Hierarchy Construction - Implements parent-child relationships that enable cascading deletions and efficient path-based entity lookups.
  • Entity CRUD Management - Provides tools for creating, modifying, and managing the lifecycle of entities and their component assignments.
  • Entity Identifier Recycling - Removes entities from the world and marks their identifiers for future recycling to maintain memory efficiency.
  • Liveliness Verification - Implements checks to verify if an entity identifier is currently active or has been recycled.
  • ECS Entity Querying - Provides high-performance filtering and iteration over massive entity sets using cached queries and multi-threaded pipelines.
  • Runtime Metadata Inspectors - Implements a meta-programming layer for analyzing and modifying object models and types during execution.
  • Query Expression Caching - Implements high-performance cached queries for finding entities matching specific component expressions.
  • Read-Only Access Modes - Controls component access by designating whether matched components are read-only or read-write.
  • Component Constraint Queries - Provides high-performance searching for entities that match specific sets of component or tag constraints.
  • Entity Filtering Tools - Provides tools for searching, querying, and narrowing down entities based on assigned components.
  • Parallel Execution - Implements parallel execution by distributing simulation data across multiple worker threads or external task systems.
  • System Pipeline Configuration - Provides specialized sequences of systems using custom queries and ordering logic instead of defaults.
  • Component Possession Checks - Provides mechanisms to verify if a Flecs entity contains specific components or flags.
  • Component Set Matching - Identifies groups of entities possessing a specific set of components for bulk operations.
  • Data-Oriented Design Libraries - Organizes simulation data into contiguous memory layouts to optimize CPU cache usage and performance.
  • Deferred Command Encoders - Buffers structural modifications as commands during iteration to prevent memory corruption and improve throughput.
  • Component Filtering - Provides the ability to include or exclude specific components during a query to refine results.
  • Entity Definitions - Provides mechanisms for creating entities with identifiers and optional names to serve as basic simulation building blocks.
  • Entity Iterators - Provides high-performance batch-oriented iterators and per-entity callbacks for processing entities that match specific queries.
  • Entity Naming - Allows assigning unique names to entities within a scope to enable fast path-based lookups.
  • Entity Queries - Implements advanced searching for entities using component criteria and relationship traversal.
  • Entity Templates - Provides reusable blueprints for entities that ensure consistency across multiple instances.
  • Prefab Instantiation - Allows copying entire subtrees of child entities from a prefab template to an instance.
  • Simulation State Management - Manages entity lifecycles and simulation state to maintain consistency in real-time interactive applications.
  • Relationship Lookups - Provides high-performance lookup of target entities associated with specific relationship pairs.
  • Relationship Queries - Supports high-performance traversal of directed links between entities to find related data.
  • Relationship Traversal - Enables matching components by following relationship links up or down an entity hierarchy.
  • Scene Hierarchy Structuring - Organizes game objects and entities into nested tree structures for runtime scene management.
  • Scripted Logic Systems - Implements logic loops that operate on groups of entities according to a defined pipeline.
  • Simulation Engine Cores - Provides a framework for executing ordered pipelines of logic and queries to advance the state of a virtual world.
  • Simulation Worlds - Manages the global simulation environment including target FPS, time scales, and thread counts.
  • Lifetime Management - Provides mechanisms to control entity persistence and prevent premature deletion of child objects.
  • Recycling - Implements a system for creating, removing, and recycling entities to optimize simulation object tracking.
  • Simulation State Integration - Advances the simulation world state by one timestep to process registered systems and update data.
  • Embedded Logic Evaluation - Parses and evaluates expressions and functions to execute dynamic logic within the simulation.
  • External Script Execution - Runs external script files or inline code snippets to extend functionality without needing to recompile.
  • Multi-threaded Execution - Distributes independent system tasks across multiple CPU cores using read-write access modifiers to prevent race conditions.
  • Runtime Data Inspection - Allows reading and writing component values using a cursor without requiring types at compile time.
  • Scripting Runtimes - Integrates scripting capabilities to define entity behavior and simulation logic dynamically.
  • Path-Based Resolution - Enables resolving entity identifiers using namespaced path strings relative to parent entities.
  • Application Loops - Provides a main application loop with frame-based execution and custom start/end actions.
  • Archetype-Based Storage - Stores entities with the same component set in contiguous memory arrays to enable fast linear iteration.
  • Entity Managers - Tracks the creation and destruction of entities to trigger reactive logic and observer callbacks.
  • Component Data Management - Provides core functionality for managing component data associated with entities.
  • Component Data Retrieval - Implements high-performance retrieval of component and entity data.
  • Component Lifecycle Management - Handles the registration and lifecycle of components across entities.
  • Component-Based Retrieval - Enables filtering and retrieving sets of entities based on component requirements for batch processing.
  • Deferred Command Buffering - Records modifications to entities in blocks and executes them atomically to avoid corrupting memory during system iteration.
  • ECS Libraries - A high-performance library for managing large numbers of objects through component-based data organization.
  • ECS System Definitions - Combines queries and callback functions to perform logic on matching entities within the ECS.
  • Event-Driven Callbacks - Implements an event-driven observer pattern to trigger reactive logic upon component changes.
  • Execution Schedulers - Implements a scheduler that decouples the timing and ordering of system execution from the main loop.
  • Request Lifecycle Phases - Executes logic across entities organized into sequenced pipeline phases.
  • Execution Phases - Provides a mechanism to group systems into named phases to ensure a strict execution order every tick.
  • Execution Pipelines - Allows the organization of systems into ordered phases and pipelines for reusable logic modules.
  • Memory Access Modifiers - Specifies whether components in a query are read-only, write-only, or read-write to optimize system scheduling.
  • Metadata Reflection Frameworks - Provides a framework for attaching and retrieving reflection metadata to entities and components for dynamic inspection.
  • Phase-Based Scheduling - Organizes systems into ordered execution phases to manage logic flow and handle data dependencies.
  • Game Object Architectures - Enables building complex entity hierarchies and relationships using a decoupled component-based approach.
  • Event-Driven Observers - Implements observers that trigger functions in response to specific changes in the simulation world.
  • Change Observers - Provides mechanisms for monitoring reactive state and triggering callbacks when components are modified.
  • Entity Presence Verification - Enables verifying whether an entity possesses a specific component or relationship to determine its state.
  • Tagging - Supports attaching empty tag components to entities for efficient categorization and query filtering.
  • Batch Data Assignment - Provides a context statement to apply the same set of components to multiple entities simultaneously.
  • Complex Data Serialization - Supports mapping complex, non-primitive data types to describable structures using custom serialization functions.
  • Component Inheritance Management - Controls whether components are inherited or overridden when instantiating entities from prefabs.
  • Property Overrides - Uses specialized relationships to allow entities to inherit from others while overriding specific component values.
  • Entity Disabling - Prevents entities from being matched by queries or systems without removing them from the simulation world.
  • Entity Exclusion Filters - Implements exclusion operators to filter out entities that possess specific components or patterns.
  • Transitive Relationships - Matches entities through chains of relationships where a connection is implied by intermediate links.
  • Entity Tracking - Records execution statistics and performance metrics for specific entities and systems.
  • Identity Filtering - Constrains matches using equality, inequality, or fuzzy name matching against specific entities.
  • Lifecycle Script Execution - Manages the lifecycle of scripts, including one-time execution and repeated evaluation of entity behavior.
  • Live Script Execution - Enables the immediate execution of scripts within a running simulation to trigger state changes.
  • Component Member Filtering - Filters entities based on specific values stored within component members that hold entity references.
  • DSL Scene Loading - Uses a domain-specific language to load assets and complex entity hierarchies into the world.
  • Command Buffers - Uses command buffers to queue structural changes safely, preventing memory corruption during system iteration.
  • Entity Views - Allows creating efficient filtered views of entities for high-performance bulk processing.
  • Prefab Filtering - Enables matching entities by comparing their component sets against prefabs or other entities.
  • Instantiation Behavior Control - Determines whether components are copied, inherited, or ignored when instantiating from a prefab.
  • Procedural Instantiation - Provides parameterized blueprints that generate complex entity hierarchies upon instantiation.
  • Query Result Iterators - Implements high-performance iteration over matching entities using nested loops over archetype tables for direct component array access.
  • Relationship State - Allows associating component types with relationship pairs so that the link itself can store state.
  • Relative Entity Matching - Supports matching child entities by name relative to a matched entity to evaluate conditions.
  • Component Dependencies - Establishes requirements to ensure necessary components or entities are present before a system processes an entity.
  • Simulation State Serialization - Provides systems for saving and restoring the complete state of the simulation world.
  • System Activation Toggles - Allows enabling or disabling specific systems to exclude them from the execution pipeline.
  • System Execution Control - Allows suspending and resuming systems to precisely control logic timing during the simulation loop.
  • Expression Evaluators - Provides an engine for computing values using mathematical operators and conditional matches to assign component data.
  • Feature - Groups related components and systems into modules with dependency tracking.
  • Timer Schedulers - Tracks time-based state and schedules events for entities to trigger actions after a duration.
  • Reflective Metadata Programming - Provides runtime reflection and metadata to allow dynamic data inspection and scripting.
  • Command Sync Points - Allows flushing enqueued structural commands before system execution to ensure they operate on the most recent state.
  • Component Change Tracking - Provides the ability to filter query results to identify entities that modified specific components since the last update.
  • Component Lifecycle Hooks - Provides custom logic hooks that trigger during the addition, removal, or replacement of components.
  • Component Registration - Allows defining Flecs component types at compile-time or runtime for association with entities.
  • Component State Toggling - Allows entities to be dynamically included or excluded from systems via component toggling.
  • Component Visibility Toggling - Provides a way to hide components from queries without deleting the data.
  • Concurrency Controls - Manages exclusive access to the world state to ensure thread-safe modifications during simulation.
  • Entity - Implements conditional query branching to evaluate subsequent terms only if a preceding variable was set.
  • Fixed-Rate System Scheduling - Runs systems at specific time intervals or fixed rates instead of every single frame.
  • Singleton Patterns - Implements singleton patterns to store shared global state across the simulation world.
  • Singleton Component Storage - Provides a special singleton entity for storing and accessing shared world state.
  • Entity Metadata Configuration - Assigns names, aliases, and UUIDs to entities to improve organization and discoverability.
  • Event Triggering - Provides mechanisms for programmatically emitting and enqueuing events to notify the system of entity changes.
  • Isolated World Modules - Groups components, systems, and observers into isolated units for use across different worlds.
  • Immediate Execution Modes - Runs systems in non-readonly mode to make structural changes immediately visible to the world.
  • Prefab Variants - Implements inheritance between prefabs to create specialized versions of entity templates.
  • Reactive Change Detection - Implements a system to monitor data modifications and skip processing for queries where state has not changed.
  • Resource Management Hooks - Provides callbacks for component lifecycle events such as construction and destruction.
  • Reusable Component Architectures - Groups components and systems into reusable units for better project structure.
  • State Change Triggers - Provides signals to notify observers and systems that a specific state change or custom event has occurred.
  • Decoupled Feature Packaging - Groups components and systems into decoupled units that can be imported to maintain execution order.
  • Sparse-Set Storage - Stores rarely used components in separate maps to avoid wasting memory in dense archetype tables.
  • Global Component Access - Enables seamless access to global shared state without referencing specific entities.
  • Query Membership Events - Fires events when an entity starts or stops matching a specific query.
  • Memory Usage Analyzers - Retrieves memory statistics and footprints for entities, components, and tables.
  • Observer Trigger Filters - Provides logic to filter observer triggers based on the existence or change of specific component terms.
  • Metric and Performance Monitors - Monitors memory usage and performance statistics specifically for components and entities.
  • Delta-Time Integrations - Calculates elapsed time between frames to ensure consistent movement and physics simulation across different hardware.
  • Remote Administration Interfaces - Offers a REST API and network interface for remote administration and inspection of the simulation state.
  • Performance Analysis - Provides runtime statistics for pipelines, systems, and queries to measure operational performance.
  • Entity Tree Traversal - Provides depth-first and breadth-first traversal patterns to iterate through children of a parent entity.
  • Custom Event Emission - Allows the registration and triggering of application-defined custom events to execute specialized logic.
  • Reactive State Watchers - Triggers automated callbacks and observers in response to component additions, removals, or modifications.
  • Deferred Event Queues - Enqueues events into a command queue to be processed later instead of invoking observers immediately.
  • Singleton Constraints - Ensures that specific component types remain unique globally across the world.
  • ECS Frameworks - Multithreaded C ECS.
  • Programming Utilities - Fast and lightweight entity component system for C.
  • Windows Environments - Listed in the “Windows Environments” section of the Awesome C awesome list.

سجل النجوم

مخطط تاريخ النجوم لـ sandermertens/flecsمخطط تاريخ النجوم لـ sandermertens/flecs

بحث بالذكاء الاصطناعي

استكشف المزيد من المستودعات الرائعة

صف ما تحتاجه بلغة بسيطة — وسيقوم الذكاء الاصطناعي بترتيب آلاف المشاريع مفتوحة المصدر المنسقة حسب الصلة.

Start searching with AI

الأسئلة الشائعة

ما هي وظيفة sandermertens/flecs؟

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.

ما هي الميزات الرئيسية لـ sandermertens/flecs؟

الميزات الرئيسية لـ sandermertens/flecs هي: Entity Component Assignment, Entity Component Systems, Extensible Component Architectures, Entity Hierarchy Management, Batch Processing, Custom Data Types, Unique Identifier Generators, Entity Inheritance.

ما هي البدائل مفتوحة المصدر لـ sandermertens/flecs؟

تشمل البدائل مفتوحة المصدر لـ sandermertens/flecs: isadorasophia/murder — Murder is an entity component system game engine designed for 2D game development. It provides a core framework for… space-wizards/space-station-14 — Space Station 14 is a C# multiplayer game and roleplay simulation framework. It is built upon an… sschmid/entitas — Entitas is a data-oriented Entity Component System framework for Unity. It is designed to separate game state into… skypjack/entt — EnTT is a C++ library designed for data-oriented design and entity component system architecture. It provides a… sschmid/entitas-csharp — Entitas-CSharp is a data-oriented architectural framework for managing application state and logic in C# and Unity… flame-engine/flame — Flame is a 2D game engine for Flutter and Dart. It provides a component-based game framework for managing entities and…

بدائل مفتوحة المصدر لـ Flecs

مشاريع مفتوحة المصدر مشابهة، مرتبة حسب عدد الميزات المشتركة مع Flecs.
  • isadorasophia/murderالصورة الرمزية لـ isadorasophia

    isadorasophia/murder

    3,171عرض على GitHub↗

    Murder is an entity component system game engine designed for 2D game development. It provides a core framework for managing game objects through an ECS architecture and includes a dedicated 2D game editor for asset management and real-time property configuration. The engine features a specialized 2D rendering pipeline supporting pixel art, sprite slicing, and parallax effects. It includes a hierarchical A* pathfinding system for agent navigation and a comprehensive asset management system for serializing and loading game resources. The project covers a broad range of capabilities, including

    C#fnagame-enginegamedev
    عرض على GitHub↗3,171
  • space-wizards/space-station-14الصورة الرمزية لـ space-wizards

    space-wizards/space-station-14

    3,523عرض على GitHub↗

    Space Station 14 is a C# multiplayer game and roleplay simulation framework. It is built upon an Entity-Component-System (ECS) game engine that separates logic into systems and data into components to manage complex entity interactions. The project functions as a grid-based physics simulator with a YAML data-driven prototype system for defining game objects. The project features a specialized 2D sprite rendering engine that maps server-side appearance data to client-side shaders. It implements a networking model with client-side prediction and dirty-flagged state synchronization to reduce inp

    C#c-sharpgamehacktoberfest
    عرض على GitHub↗3,523
  • sschmid/entitasالصورة الرمزية لـ sschmid

    sschmid/Entitas

    7,658عرض على GitHub↗

    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

    C#c-sharpcode-generationcsharp
    عرض على GitHub↗7,658
  • skypjack/enttالصورة الرمزية لـ skypjack

    skypjack/entt

    12,294عرض على GitHub↗

    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

    C++architectural-patternscppcpp17
    عرض على GitHub↗12,294
  • عرض جميع البدائل الـ 30 لـ Flecs→