python-tcod-ec VS ecs-faq

Compare python-tcod-ec vs ecs-faq and see what are their differences.

python-tcod-ec

Entity/Component containers for implementing composition over inheritance. Works well with type hinting. (by HexDecimal)

ecs-faq

Frequently asked questions about Entity Component Systems (by SanderMertens)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
python-tcod-ec ecs-faq
3 21
1 1,769
- -
5.8 6.0
about 1 month ago 3 months ago
Python
MIT License -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

python-tcod-ec

Posts with mentions or reviews of python-tcod-ec. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-02-03.
  • Sharing Saturday #452
    6 projects | /r/roguelikedev | 3 Feb 2023
    I've also added a new class called Composite to tcod-ec which allows for multiple components per class and looking up components by a base class. While this is more flexible than ComponentDict I feel that the extra complexity detracts from its usefulness greatly and the new container quickly leads into anti-patterns in my attempts to use it. I struggle to make examples for Composite which couldn't be better expressed in other ways. So far it feels like the restrictions of ComponentDict are a feature rather than a flaw.
  • does an ECS system need unique identifier ( uuid ) ?
    3 projects | /r/roguelikedev | 3 Feb 2023
    For my own project I've been skipping the entity repository and systems and implementing only entity/component frameworks for practice and since I might not need systems most of the time (although there are big downsides for entities and components not being in a repository). My own project can be found here.
  • Dates are set for the 7DRL Challenge 2023!
    1 project | /r/roguelikedev | 5 Jan 2023
    I don't have ECS yet, I've tried the current Python libraries but didn't like their typing support, so right now I'm experimenting with basic EC frameworks. I have a decent example right now, and it should be clear how this is better than the Python tutorials implementation.

ecs-faq

Posts with mentions or reviews of ecs-faq. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-19.
  • Show HN: Interactive ECS Systems/Component Explorer for Cities: Skylines 2
    2 projects | news.ycombinator.com | 19 Dec 2023
    The Wikipedia article provides a broad overview, while this FAQ offers a more systematic exploration: https://github.com/SanderMertens/ecs-faq
  • Sparsey 0.11.0 Release - Better Performance
    3 projects | /r/rust | 18 Jul 2023
    Sparsey is an Entity Component System focused on flexibility, conciseness and providing features exclusive to its sparse set-based implementation.
  • Beginner looking for code review : my ECS lib !
    2 projects | /r/rust | 10 May 2023
    For further reading, here is a great article about these different approaches within Rust specifically: https://csherratt.github.io/blog/posts/specs-and-legion/ and here is a great general resource for commonly-used terms and techniques in ECS development: https://github.com/SanderMertens/ecs-faq
  • Ways to create game engines
    2 projects | /r/gameenginedevs | 9 May 2023
    Godot has a node based system (nodes can have child nodes linked to them, and there are different types of nodes for the type of functionality they represent). Another alternative could be a more OOP approach (utilising inheritance as the main means of extending functionality), not aware of any modern engines that take this approach anymore. It’s also worth noting that ECS implementations can differ wildly, this faq from the flecs creator has a good rundown on what some of different variants are.
  • Is ECS really the way to go in C++?
    2 projects | /r/gamedev | 30 Apr 2023
    You might wanna take a look at https://github.com/SanderMertens/ecs-faq, it lays this all out better than I can.
  • Flecs 3.2, a high performance game development framework for C and C++ is out!
    3 projects | /r/programming | 27 Mar 2023
    To find more about ECS, see the FAQ: https://github.com/SanderMertens/ecs-faq/blob/master/README.md
  • Functional relational programming model in Clojure(Script)
    3 projects | news.ycombinator.com | 26 Feb 2023
    Using the relational model for app data in memory is really interesting.

    Martin Fowler wrote about doing that as a way to get around the "object-relational mismatch" issue[1]. Richard Fabian describes "data-oriented design" as having a lot of overlap with the relational model[2]. ECSes becoming very popular in game engines are basically in-memory relational databases where "components" are "tables"[3].

    [1]: https://martinfowler.com/bliki/OrmHate.html

    [2]: https://dataorienteddesign.com/dodbook/

    [3]: https://github.com/SanderMertens/ecs-faq#what-is-ecs

  • does an ECS system need unique identifier ( uuid ) ?
    3 projects | /r/roguelikedev | 3 Feb 2023
    This is the ECS FAQ I'm currently using.
  • What are some things you have used ECS for?
    1 project | /r/Unity3D | 29 Dec 2022
    While Unity's DOTS/ECS is positioned as solving performance issues for large numbers of objects, there are a number of other advantages. See https://github.com/SanderMertens/ecs-faq for a more in-depth look. IMHO the reusability and extensibility ECS encourages is as valuable as any performance increase. Compared to the GameObject style, which encourages random state mutations and side-effects, ECS enforces a more functional style, which results in code that is easier to reason about and test.
  • Dominion VS Artemis, the missing benchmarks (link in the comments)
    3 projects | /r/java | 27 Nov 2022
    thanks, i think a little more background on the ECS world will help you get the context, this is from the author of Flecs: https://github.com/SanderMertens/ecs-faq

What are some alternatives?

When comparing python-tcod-ec and ecs-faq you can also consider the following projects:

megastructures-prototypes - Prototypes for the MEGASTRCUTURE roguelike game project

Node RED - Low-code programming for event-driven applications

VeraDungeon-Rogue - My roguelike game in Python

dominion-ecs-java - Insanely fast ECS (Entity Component System) for Java

EntityComponentSystemSamples

entt - Gaming meets modern C++ - a fast and reliable entity component system (ECS) and much more

Superstar-Game-Suite - A top-down 2D game creation suite for platforming, world building, and story telling.

ygopro - A script engine for "yu-gi-oh!" and sample gui

entityx - EntityX - A fast, type-safe C++ Entity-Component system

EntityComponentSystemS

flecs - A fast entity component system (ECS) for C & C++

Unreal-Minimum-Viable-Flecs - Minimum viable Flecs entity component system implementation in Unreal Engine.