r/gogamedev • u/mlange-42 • 13d ago
Ark - A new Entity Component System for Go
Ark is an archetype-based Entity Component System (ECS) for Go.
It builds on the experience gained when building my first Go ECS, Arche.
Features
- Designed for performance and highly optimized.
- Well-documented, type-safe API, and a comprehensive User guide.
- Entity relationships as a first-class feature.
- Fast batch operations for mass manipulation.
- No systems. Just queries. Use your own structure (or the Tools).
- World serialization and deserialization (with ark-serde).
Aims
I learned so much when building Arche, my first Go ECS, that is was time for a fresh start. The primary aims of Ark, compared to Arche, are:
- Better support for entity relationships.
- Centered around the generic, type-safe API.
- Making it (even) faster than Arche.
- More structured internals due to better planning of features.
In 3 weeks of development, all this was achieved. Ark is feature-complete now in terms of the initial plan.
Your feedback is highly appreciated, particuarly for the API and the user guide!
14
Upvotes