项目作者: jslee02
项目描述 :
:sunglasses: A curated list of Entity-Component-System (ECS) libraries and resources
高级语言:
项目地址: git://github.com/jslee02/awesome-entity-component-system.git
awesome-ecs
A curated list of Entity-Component-System (ECS) libraries and resources
ECS Libraries
C/C++
- anax - Open source C++ entity system

- ECS - C++ single-header entity component system library

- ecs.hpp - A single header C++14 entity component system library

- ecst - Experimental C++14 multithreaded compile-time entity-compnent-system library

- EntityFu - A simple, fast entity component system written in C++

- EntityPlus - C++14 entity component system

- EntityX - Fast, type-safe C++ entity component system

- entt - Fast and reliable entity-component system

- Flecs - A Multithreaded Entity Component System written for C89 & C99

- Gaia-ECS - Fast and type-safe C++17 archetype-based entity component system

- Ginseng - An ESC library designed for use in games

- goomy - A tiny, experimental ECS framework

- Kengine - Game engine with an Entity-Component-System (ECS) architecture

- matter - C++17/20 ECS implementation

- mustache - A fast, modern C++ entity component system

- pico_ecs - Single-header and cross-platform ECS

C
- Arch - A high-performance Archetype & Chunks Entity Component System for game development and data-oriented programming

- DefaultEcs - ECS for syntax and usage simplicity with maximum performance

- DragonECS - ECS for Unity and .NET

- Entitas - The Entity Component System Framework for C# and Unity

- Frent - Data oriented ECF with an ECS api for C#, Godot, and Unity

- Friflo Engine ECS - ECS for .NET with focus on performance, cache locality and DX

- LeoEcsLite - Lightweight C# Entity Component System framework

- ME.BECS - ECS for Unity with full game state automatic rollbacks

- Morpeh - ECS Framework for Unity Game Engine and .NET Platform

- Svelto.ECS - Lightweight data oriented entity component system framework

- Fennecs - … the tiny, tiny, high-energy Entity-Component System!

- TinyEcs - A tiny bevy-like archetype-style ECS library for dotnet

Common Lisp
- beast - Basic Entity/Aspect/System Toolkit

- cl-ecs - An implementation of the Entity-Component-System pattern mostly used in game development

- cl-fast-ecs - Blazingly fast Entity-Component-System microframework

Dart
- Fast ECS - Simple and fast Entity-Component-System (ECS) library written in Dart.

Elixir
- ECSx - An ECS framework for Elixir

Python
- esper - A lightweight Entity System for Python

Rust
- shipyard - Entity Component System written in Rust

- specs - Parallel entity component system written in Rust

- legion - High performance Rust ECS library

- bevy_ecs - Simple to use, ergonomic, fast, massively parallel, opinionated, and featureful written in Rust

- hecs - High-performance, minimalist entity-component-system

Go
- Arche - An archetype-based Entity Component System for Go

- ecs - A Go-implementation of the Entity-Component-System paradigm

Lua
- Concord - A feature-complete ECS library

- ECS Lua - A fast and easy to use ECS engine for game development

- Nata - Entity management for Lua

- tiny-ecs - Entity Component System for Lua that’s simple, flexible, and useful

Java
- Artemis-odb - A continuation of the popular Artemis ECS framework

Kotlin
- Fleks - Fast, lightweight, multi-platform entity component system in Kotlin

JavaScript / Typescript
- becsy - A multithreaded Entity Component System (ECS) for TypeScript and JavaScript, inspired by ECSY and bitecs.

- bitECS - Functional, minimal, data-oriented, ultra-high performance ECS library

- ECSY - Entity Component System for javascript

- miniplex - The gentle game entity manager, focused on ease of use and developer experience.

- Thyseus - An archetypal Entity Component System, built entirely in Typescript

Zig
- mach-ecs - Entity Component System from first-principles designed for Zig

- Zig ECS - A Zig port of the fantasic Entt

Haskell
- apecs - A fast, extensible, type driven Haskell ECS framework for games

Applications powered by ECS
Game Engines
C++
- crown - General purpose data-driven game engine

- Engine - Basic cross-platform 3D game engine

- halley - A lightweight game engine written in modern C++

- igneous - Open source game engine written in C++

- kengine - Game engine focused on ease-of-use, runtime extensibility and compile-time type safety

- Lina Engine - Modular, tiny and fast C++ game engine, aimed to develop 3D desktop games

- Lumos - Cross-Platform C++ 2D/3D game engine

- MxEngine - C++ open source 3D game engine

- nebula - Open-source and free-to-use modern C++ game engine

- Nazara Engine - Cross-platform framework aimed at real-time applications requiring audio, 2D and 3D real-time rendering, network and more

- shiva - Modern Cross-Platform C++ Engine with modularity

- Sparky - Cross-Platform High Performance 2D/3D game engine

- supernova - Game engine for 2D and 3D projects with ECS and data-oriented design

- Usagi - Hierarchical component entity system based game engine

- Lumos - Cross-Platform C++ 2D/3D game engine

- supernova - Game engine for 2D and 3D projects with ECS and data-oriented design

- kengine - Game engine focused on ease-of-use, runtime extensibility and compile-time type safety

- MxEngine - C++ open source 3D game engine

- nebula - Open-source and free-to-use modern C++ game engine

- halley - A lightweight game engine written in modern C++

- Nazara Engine - Cross-platform framework aimed at real-time applications requiring audio, 2D and 3D real-time rendering, network and more

- Lina Engine - Modular, tiny and fast C++ game engine, aimed to develop 3D desktop games

Go
- Engo - A cross-platform game engine written in Go following an interpretation of the Entity Component System paradigm

Rust
- Ambient - The multiplayer game engine

- Amethyst - Data-oriented and data-driven game engine written in Rust

- Bevy - A refreshingly simple data-driven game engine built in Rust

- Bones - An easy-to-use game engine for making real games

Zig
- mach - Game engine & graphics toolkit for building high-performance, truly cross-platform, robust & modular games, visualizations, and desktop/mobile GUI apps

Graphics Engines
C++
- bs::framework - Modern C++14 library for the development of real-time graphical applications

- The Forge - Cross-Platform Rendering Framework with support for PC Windows, Linux, Ray Tracing, macOS/iOS, Android, XBOX, PS4, PS5, Switch, Quest 2

Physics libraries
C++
- edyn - A real-time physics engine organized as an ECS

Other Resources
Benchmarks
Blog Posts
Talks & Slides
Books
Tutorials
Lists
ETC