For a collection of common game programming patterns, the first results are munificent/game-programming-patterns (This repository is the definitive reference on game programming patterns, covering state machines, event systems, entity component systems, and more as a structured digital book, making it an ideal match for finding reusable design patterns to structure game logic), liangxiegame/qframework (QFramework is a Unity game architecture framework that implements many classic game programming patterns such as the command pattern, event system, object pooling, and state management, making it a practical resource for structuring game logic) and habrador/unity-programming-patterns (This repository is a curated set of reusable game programming patterns state machine, observer, command, object pooling, and more implemented in Unity C with example use cases, exactly matching your search for structured game logic design patterns). ellanjiang/gameframework and unity-technologies/game-programming-patterns-demo round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
Explore the best game logic patterns for your project. Compare top open-source implementations ranked by activity to find the best fit for your code.
This project is a game programming design patterns reference and software engineering guide. It provides a collection of architectural and structural patterns specifically applied to the development of video games, focusing on organizing game loops, entity component systems, and state management. The content is delivered as a digital book and markdown static site. It utilizes a static site generation workflow that transforms markdown source files and HTML templates into structured static pages for technical content publishing. The underlying system includes capabilities for static site compi
This repository is the definitive reference on game programming patterns, covering state machines, event systems, entity component systems, and more as a structured digital book, making it an ideal match for finding reusable design patterns to structure game logic.
QFramework is a Unity game architecture framework designed to separate presentation, system, and data logic. It implements a layered software architecture to manage complex game states and provides a game engine utility library to reduce boilerplate code. The framework is centered on the Command Query Responsibility Segregation pattern, which separates data modification commands from data retrieval queries. It utilizes a dependency injection container to manage the lifecycles and resolution of singletons and modular components, alongside an event-driven system for state synchronization to pre
QFramework is a Unity game architecture framework that implements many classic game programming patterns such as the command pattern, event system, object pooling, and state management, making it a practical resource for structuring game logic.
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
This repository is a curated set of reusable game programming patterns (state machine, observer, command, object pooling, and more) implemented in Unity C# with example use cases, exactly matching your search for structured game logic design patterns.
This repository bundles reusable Unity modules for Finite State Machines, Object Pooling, and a pub‑sub event system, directly covering several of the patterns you want, though it doesn’t explicitly include behavior trees or the command pattern.
This project provides a collection of architectural patterns and structural approaches designed to organize game logic within the Unity engine. It serves as a reference for implementing reusable software design patterns that decouple system components and manage complex object lifecycles in interactive software. The repository demonstrates how to apply specific design patterns to improve code maintainability and scalability. It covers techniques for encapsulating user inputs into command objects, managing entity behaviors through state machines, and facilitating communication between independ
This repository provides demo implementations of several classic game programming patterns (state machine, observer, command, object pooling) within Unity, directly supporting the ebook "Level up your code with game programming patterns" — it is exactly the kind of practical pattern collection you're looking for, though it may not cover every pattern on your list.
This project serves as a comprehensive technical reference and educational resource for software architecture within the context of game development. It provides detailed explanations of design patterns and engineering strategies specifically tailored to the performance constraints and structural requirements of interactive software projects. The repository functions as a localized translation of essential literature, making advanced programming concepts and architectural solutions accessible to a broader audience. By focusing on proven practices for code organization and maintainability, it
This repository is the Chinese translation of the classic book on game programming patterns, covering state machines, observers, commands, and other key patterns as reusable design guidance for structuring game logic.
This project is a comprehensive collection of software design patterns implemented in Python. It serves as a reference for architectural, behavioral, creational, and structural patterns to guide the organization of Python applications. The collection covers behavioral strategies for managing object communication and state, creational techniques for controlling object instantiation, and structural methods for composing classes and objects into flexible hierarchies. It also includes architectural references for system-wide structuring, such as multi-tier architectures and blackboard models. Th
This repository is a general collection of software design patterns in Python, not specifically curated for game logic; while it includes some patterns like state, observer, and object pooling that are used in games, it lacks the focused coverage of game-specific patterns like behavior trees or entity component systems that this search targets.
This project is a reference collection of practical examples demonstrating the implementation of common software design patterns in Kotlin. It serves as a guide to architectural best practices and object-oriented principles through the application of behavioral, creational, and structural patterns. The collection provides concrete implementations to demonstrate how to decouple object instantiation, manage communication and responsibility between objects, and organize complex class and object relationships. The reference covers creational patterns such as factories and builders, structural pa
This repository is a general collection of classic software design patterns in Kotlin, covering state, observer, and command patterns among others, but it is not specifically focused on game programming patterns and lacks game-specific patterns like behavior trees, entity component systems, and object pooling.
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 focused C++ library implementing the entity component system pattern, which is one of the patterns you listed, but it is not a broader collection of multiple game programming patterns like state machines, behavior trees, or command patterns.
Mindustry is a cross-platform game engine and factory automation simulation that combines resource management with tower defense strategy. Players construct complex supply chains and automated networks to process materials while building defensive structures to protect a core from waves of hostile mechanical forces. The project utilizes a deterministic lockstep networking model to ensure simulation consistency across desktop and mobile devices. It is built on an entity-component-system architecture and a tile-based grid simulation, allowing for the efficient management of thousands of active
Mindustry is a complete game and engine rather than a reusable pattern collection, though its Entity-Component-System architecture illustrates one of the requested patterns (ECS) within a real game.
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 Godot, implementing only one pattern (behavior trees) rather than providing the set of reusable game programming patterns you are looking for, such as state machines, event systems, or ECS.
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 is a dedicated Entity Component System framework for Unity, not a general collection of multiple game programming patterns like state machines, behavior trees, or command patterns. While it deeply implements the ECS pattern, it does not provide reusable examples or guidance for the other patterns this search targets.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| munificent/game-programming-patterns | 4.5K | HTML | other | |
| liangxiegame/qframework | 5.2K | C# | mit | |
| 2.1K |
| C# |
| MIT |
| ellanjiang/gameframework | 6.7K | C# | mit |
| unity-technologies/game-programming-patterns-demo | 1.7K | C# | — |
| tkchu/game-programming-patterns-cn | 1.8K | C++ | — |
| faif/python-patterns | 42.8K | Python | — |
| dbacinski/design-patterns-in-kotlin | 6K | Kotlin | GPL-3.0 |
| skypjack/entt | 12.3K | C++ | mit |
| anuken/mindustry | 26.6K | Java | gpl-3.0 |