#Ark - A new Entity Component System for Go

3 messages · Page 1 of 1 (latest)

agile niche
#

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, particularly for the API and the user guide!

GitHub

Ark -- Archetype-based Entity Component System (ECS) for Go. - mlange-42/ark

agile niche
#

Pleased to announce the release of Ark v0.4.0 !

Release highlights

  • Adds QueryX.Count for fast query counting.
  • Provides MapX for up to 12 components.
  • Improves ergonomics of MapX.Get and Map.Get.
  • Performance improvements for query creation and component operations.
  • Several bug fixes and improved error messages.
  • Ark is dual-licensed with choice for MIT and Apache 2.0.

Further, Ark is now also present in the go-ecs-benchmarks.

fervent quest
#

A little off topic but Out of curiosity what is the purpose of a duel licence?