-
-
Notifications
You must be signed in to change notification settings - Fork 890
Similar projects
Michele Caini edited this page Mar 25, 2024
·
15 revisions
There are many projects similar to EnTT
, both open source and not.
Some even borrowed some ideas from this library and expressed them in different
languages.
Others developed different architectures from scratch and therefore offer
alternative solutions with their pros and cons.
If you know of other similar projects out there, feel free to open an issue or a
PR and I'll be glad to add them to this page.
I hope the following lists can grow much more in the future.
Below an incomplete list of similar projects that I've come across so far.
If some terms or designs aren't clear, I recommend referring to the
ECS Back and Forth series for all the
details.
-
C:
- destral_ecs: a single-file ECS based on sparse sets.
- Diana: an ECS that uses sparse sets to keep track of entities in systems.
- Flecs: a multithreaded archetype ECS based on semi-contiguous arrays rather than chunks.
- lent: the Donald Trump of the ECS libraries.
-
C++:
- decs: a chunk based archetype ECS.
- ecst: a multithreaded compile-time ECS that uses sparse sets to keep track of entities in systems.
- EntityX: a bitset based ECS that uses a single large matrix of components indexed with entities.
- Gaia-ECS: a chunk based archetype ECS.
- Polypropylene: a hybrid solution between an ECS and dynamic mixins.
-
C#
- Arch: a simple, fast and unity entities inspired archetype ECS with optional multithreading.
- Entitas: the ECS framework for C# and Unity, where reactive systems were invented.
- Friflo Engine ECS: an archetype ECS with focus on performance, cache locality and DX.
- LeoECS: simple lightweight C# Entity Component System framework.
- Massive ECS: sparse set based ECS featuring rollbacks.
- Svelto.ECS: a very interesting platform agnostic and table based ECS framework.
-
Go:
-
gecs: a sparse sets based ECS inspired
by
EnTT
.
-
gecs: a sparse sets based ECS inspired
by
-
Javascript:
- @javelin/ecs: an archetype ECS in TypeScript.
-
ecsy: I haven't had the time to
investigate the underlying design of
ecsy
but it looks cool anyway.
-
Perl:
-
Game::Entities: a simple
entity registry for ECS designs inspired by
EnTT
.
-
Game::Entities: a simple
entity registry for ECS designs inspired by
-
Raku:
-
Game::Entities: a simple
entity registry for ECS designs inspired by
EnTT
.
-
Game::Entities: a simple
entity registry for ECS designs inspired by
-
Rust:
-
Zig
-
zig-ecs: a zig-ification of
EnTT
.
-
zig-ecs: a zig-ification of