esper
python-tcod-ec
esper | python-tcod-ec | |
---|---|---|
7 | 3 | |
520 | 1 | |
- | - | |
6.8 | 5.8 | |
9 days ago | 30 days ago | |
Python | Python | |
MIT License | MIT License |
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.
esper
-
RoguelikeDev Does The Complete Roguelike Tutorial Starting July 4th 2023
That's cool, I didn't realize you had implemented an ECS library for tcod. At first glance it seems a bit more featureful than esper. The tags and relations functionality seem particularly useful for queries. l'll consider using it for the tutorial.
- what is the best way to learn pygame from 0?
-
does an ECS system need unique identifier ( uuid ) ?
If you don't mind the broken type hinting then you could go with Esper.
-
Sharing Saturday #382
I've been closely looking at the Python ECS libraries Snecs and Esper. I was hoping I could use one of them to fix the Python tutorial without making the tutorial about writing an entity-component engine. What I actually want would be a Python ECS library with NumPy for static types, but a library I did find for that didn't have a good enough license for a tutorial. For now I'll be okay with dynamic types just so I can fix my current problems, and I'll think about performance some other time.
-
Trying to get the camera to track the player using esper.py in pygame. Getting a black screen instead.
I've been attempting to do this using an entity-component-system (specifically the Esper system). The difference being that I'm trying to explain my processors in separate documents first.
-
Small game I'm currently working on
Not much to see/to do yet. I just wanted to try Esper and LDtk.
python-tcod-ec
-
Sharing Saturday #452
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 ) ?
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!
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.
What are some alternatives?
snecs - A straightforward, nimble ECS for Python
megastructures-prototypes - Prototypes for the MEGASTRCUTURE roguelike game project
pyglet - pyglet is a cross-platform windowing and multimedia library for Python, for developing games and other visually rich applications.
VeraDungeon-Rogue - My roguelike game in Python
Pygame - 🐍🎮 pygame (the library) is a Free and Open Source python programming language library for making multimedia applications like games built on top of the excellent SDL library. C, Python, Native, OpenGL.
Summoing Pixel Dungeon - The expansion for Shattered Pixel Dungeon
Eggster - A game made for the Pygame Community Easter Jam 2023
EuroRogue - ASCII Roguelike with Euro Strategy Board Game Influences
ecs-faq - Frequently asked questions about Entity Component Systems
python-tcod-ecs - Python sparse-set ECS with strong type-hinting. Supports entitiy relations.
raylib-py - A Python binding for the great C library raylib.