awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com

Game engine architecture

Ranking updated Jul 2, 2026

For an open source game engine architecture, the first results are pytransitions/transitions, sschmid/entitas-csharp and jakesgordon/javascript-state-machine (This finite state machine library provides reusable state‑driven logic with lifecycle hooks and guards, fitting the request for a game logic component, but it lacks the other requested features such as an entity‑component system, behavior trees, or serialization). skypjack/entt and sandermertens/flecs round out the shortlist. Compare the match explanations and check the project documentation against your requirements.

Explore the best open-source game logic implementations. Compare top-rated architectures by activity and features to find the best fit for your project.

Game engine architecture

Find the best repos with AI.We'll search the best matching repositories with AI.
  • pytransitions/transitionspytransitions avatar

    pytransitions/transitions

    6,548View on GitHub↗

    Transitions is an object-oriented finite state machine library for Python. It provides a framework for managing valid states and the logic for moving between them, including implementations for asynchronous state machines and thread-safe state managers. The library supports hierarchical state machines that allow states to be nested to organize complex subtasks and logical contexts. It includes tools for generating visual diagrams of states and transitions to document machine logic. The project covers state management primitives such as lifecycle callbacks, conditional transition guarding, an

    Transitions is a dedicated finite state machine library for Python with support for serialization, event-driven transitions, and hierarchical states, making it a solid match for reusable game logic components—it focuses on state machines rather than the broader set of features like entity-component systems or behavior trees.

    PythonFinite State Machine EnginesPersistence and Serialization
    View on GitHub↗6,548
  • sschmid/entitas-csharpsschmid avatar

    sschmid/Entitas-CSharp

    7,655View on GitHub↗

    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

    Entitas-CSharp is an Entity Component System framework for C# and Unity that provides data-oriented state management and reactive systems, which aligns with the entity-component and event-driven requirements, but it does not include built-in state machines, behavior trees, rule engines, or serialization.

    C#Entity Component Systems
    View on GitHub↗7,655
  • jakesgordon/javascript-state-machinejakesgordon avatar

    jakesgordon/javascript-state-machine

    8,751View on GitHub↗

    This library is a finite state machine framework for JavaScript designed to manage application states and valid transitions. It provides a system for executing state changes with lifecycle hooks, conditional guards, and transition cancellation. The project is distinguished by its ability to inject state machine logic and transition capabilities directly into existing JavaScript class instances or objects. It also includes a visualization tool that exports state configurations into Graphviz DOT language for auditing system logic. The framework covers asynchronous transition execution and paus

    This finite state machine library provides reusable state‑driven logic with lifecycle hooks and guards, fitting the request for a game logic component, but it lacks the other requested features such as an entity‑component system, behavior trees, or serialization.

    JavaScriptFinite State Machine EnginesFSM Behavior Injectors
    View on GitHub↗8,751
  • skypjack/enttskypjack avatar

    skypjack/entt

    12,294View on 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

    Entt is a high-performance C++ entity-component system library that separates game object management from rendering, providing an event-driven architecture and efficient data-oriented design—fitting the search for reusable game logic libraries, though it focuses on ECS and event handling rather than built-in state machines or behavior trees.

    C++Entity Component Systems
    View on GitHub↗12,294
  • sandermertens/flecsSanderMertens avatar

    SanderMertens/flecs

    8,045View on GitHub↗

    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

    Flecs is an entity-component-system framework that cleanly separates game logic from rendering and includes event-driven architecture and reflection for serialization, but it does not directly provide built-in state machines, behavior trees, or rule engines, so it matches the desired category with a narrower feature set.

    CECS LibrariesEntity Component Systems
    View on GitHub↗8,045
  • ashblue/fluid-behavior-treeashblue avatar

    ashblue/fluid-behavior-tree

    1,166View on GitHub↗

    Fluid Behavior Tree is a code-driven framework for Unity designed to manage autonomous character behaviors through hierarchical decision-making structures. It functions as a game AI logic engine that processes complex entity behaviors by traversing directed graphs of nodes that return success, failure, or running status signals during each frame update. The library distinguishes itself through a fluent builder pattern that allows developers to define nested tree structures, sequences, and parallel execution flows entirely through chainable code methods. This approach emphasizes modularity, en

    This is a behavior tree library for Unity3D, implementing one of the requested reusable game logic components (behavior trees) with a code-driven builder pattern, but it is tied to Unity and does not cover state machines or rule-based logic.

    C#Behavior Tree AIBehavior Trees
    View on GitHub↗1,166
  • pluginaweek/state_machinepluginaweek avatar

    pluginaweek/state_machine

    3,722View on GitHub↗

    This project is a Ruby library for defining and managing object lifecycles through states, events, and transition rules. It functions as a declarative workflow engine that enforces business logic by restricting attribute changes to predefined, valid paths within Ruby classes. The library distinguishes itself through deep integration with database persistence layers, allowing it to automatically synchronize state changes with data models, validation frameworks, and transaction management. It supports dynamic configuration, enabling the construction of lifecycle rules at runtime from external d

    This Ruby library provides a state machine implementation that can be used as a reusable game logic component, matching the request for a component separate from a full engine, though it focuses solely on state machines and lacks the other requested features like entity-component systems or behavior trees.

    RubyLifecycle ManagementApplication State MachinesApplication State Management
    View on GitHub↗3,722
  • sschmid/entitassschmid avatar

    sschmid/Entitas

    7,658View on 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

    Entitas provides a solid Entity Component System implementation but is tightly integrated with Unity, so it does not offer the engine-separate, standalone game logic library this search requires; it also lacks behavior trees, state machines, and serialization.

    C#ECS LibrariesEntity Component Systems
    View on GitHub↗7,658
  • tomlooman/actionrogueliketomlooman avatar

    tomlooman/ActionRoguelike

    4,493View on GitHub↗

    ActionRoguelike is a third-person cooperative game project built with C++ and Unreal Engine. It functions as a networked application that utilizes replication architecture to synchronize character states and combat across multiple clients. The project implements a data-oriented performance framework that employs object pooling and asynchronous asset loading to optimize memory usage and frame rates. It features a behavior tree AI system combined with environment queries to drive autonomous NPC decision making and combat, alongside a binary serialization framework for saving actor variables and

    This is a complete Unreal Engine game project rather than a standalone reusable library for game logic components — while it demonstrates behavior trees and serialization, it is not designed to be extracted and used independently from the engine or its specific game.

    C++Behavior Tree AIBehavior Trees
    View on GitHub↗4,493
  • bitbrain/beehavebitbrain avatar

    bitbrain/beehave

    2,933View on GitHub↗

    Beehave is a behavior tree AI framework and plugin for the Godot engine. It serves as an agent logic orchestrator for designing adaptive non-player character behaviors using hierarchical behavior trees. The system features a visual debugger that provides runtime visualization of the execution flow and internal state of active trees. This allows for AI execution analysis and the identification of logic errors through a state-based runtime interface. The framework utilizes a composite-decorator pattern and a tick-based polling cycle to execute tree-based logic. It integrates directly with the

    Beehave is a behavior tree AI plugin for the Godot engine, so it is not a standalone reusable library separate from a full engine, and it focuses only on behavior trees rather than providing state machine, ECS, or other logic components.

    GDScriptBehavior Trees
    View on GitHub↗2,933
  • bberak/react-native-game-enginebberak avatar

    bberak/react-native-game-engine

    3,102View on GitHub↗

    React Native Game Engine is a framework for building 2D interactive experiences and simulations within mobile applications. It provides a dedicated controller for managing a fixed-step game loop, ensuring that game logic, user inputs, and state updates occur at a consistent frame rate. The engine utilizes an entity-component-system architecture to decouple game object data from behavior. By structuring objects as independent entities processed by reusable logic functions, it allows for the management of complex scenes through a centralized, data-driven approach. The framework supports the cr

    This is a full game engine framework for React Native with an entity-component-system and game loop, but it is not a standalone game logic library separate from rendering — it is a complete 2D engine tied to a specific platform.

    JavaScriptEntity Component Systems
    View on GitHub↗3,102
  • statelyai/xstatestatelyai avatar

    statelyai/xstate

    29,734View on GitHub↗

    XState is a statechart logic library and finite state machine framework used to model complex application behavior. It provides a system for defining states, events, and transitions to govern how a system responds to inputs through a formal schema. The project includes a visual state machine editor that allows for the design of state machine diagrams which automatically generate the corresponding logic and code. It implements an actor model to manage independent concurrent entities that communicate via asynchronous events to coordinate behavioral flows. The framework covers event-driven stat

    XState is a state machine and actor model library that handles state management and event-driven logic, but it does not provide entity-component systems, behavior trees, or rule engines, so it covers only part of the game logic components you are looking for.

    TypeScriptFinite State Machine Engines
    View on GitHub↗29,734
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
pytransitions/transitions6.5KPythonMITSep 11, 2025
sschmid/entitas-csharp7.7KC#MITDec 30, 2023
jakesgordon/javascript-state-machine8.8KJavaScriptMITJun 1, 2025
skypjack/entt12.3KC++mitFeb 19, 2026
sandermertens/flecs8KCotherFeb 21, 2026
ashblue/fluid-behavior-tree1.2KC#MITMay 8, 2026
pluginaweek/state_machine3.7KRubyMITMar 12, 2024
sschmid/entitas7.7KC#MITDec 30, 2023
tomlooman/actionroguelike4.5KC++—Jun 19, 2026
bitbrain/beehave2.9KGDScriptmitFeb 8, 2026

Related searches

  • a collection of common game programming patterns
  • Game development
  • Game development engine
  • an open source engine for model inference
  • Workflow orchestration engine
  • an open source engine for game development
  • Machine learning models
  • State management library