Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Ark -- Archetype-based Entity Component System (ECS) for Go.
| Date | Stars |
|---|---|
| 2026-07-25 | 288 |
| 2026-07-28 | 288 |
| 2026-07-30 | 288 |
| 2026-08-06 | 288 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
<div align="center" width="100%">
<a href="https://github.com/mlange-42/ark">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/mlange-42/ark/refs/heads/main/docs/static/images/ark-logo-text-dark.svg">
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/mlange-42/ark/refs/heads/main/docs/static/images/ark-logo-text-light.svg">
<img alt="Ark Logo" src="https://raw.githubusercontent.com/mlange-42/ark/refs/heads/main/docs/static/images/ark-logo-text-light.svg">
</picture>
</a>
[](https://github.com/mlange-42/ark/actions/workflows/tests.yml)
[](https://codecov.io/github/mlange-42/ark)
[](https://goreportcard.com/report/github.com/mlange-42/ark)
[](https://mlange-42.github.io/ark/)
[](https://pkg.go.dev/github.com/mlange-42/ark)
[](https://github.com/mlange-42/ark)
[](https://doi.org/10.5281/zenodo.14994239)
[](https://github.com/mlange-42/ark/blob/main/LICENSE-MIT)
[](https://github.com/mlange-42/ark/blob/main/LICENSE-APACHE)
[](https://github.com/avelino/awesome-go)
Ark is an archetype-based [Entity Component System](https://en.wikipedia.org/wiki/Entity_component_system) (ECS) for [Go](https://go.dev/).
——
[Features](#features) • [Installation](#installation) • [Usage](#usage) • [Tools](#tools)
</div>
## Features
- Designed for performance and highly optimized. See the [Benchmarks](https://mlange-42.github.io/ark/benchmarks/).
- Well-documented, type-safe [API](https://pkg.go.dev/github.com/mlange-42/ark), and a comprehensive [User guide](https://mlange-42.github.io/ark/).
- [Entity relationships](https://mlange-42.github.io/ark/relations/) as a first-class feature.
- Extensible [event system](https://mlange-42.github.io/ark/events/) with filtering and custom event types.
- Fast [batch operations](https://mlange-42.github.io/ark/batch/) for mass manipulation.
- No systems. Just queries. Use your own structure (or the [Tools](https://github.com/mlange-42/ark#tools)).
- World serialization and deserialization with [ark-serde](https://github.com/mlange-42/ark-serde).
- Zero [dependencies](https://github.com/mlange-42/ark/blob/main/go.mod), 100% [test coverage](https://app.codecov.io/github/mlange-42/ark).
## Installation
To use Ark in a Go project, run:
```shell
go get github.com/mlange-42/ark
```
## Usage
Below is the classical Position/Velocity example that every ECS shows in the docs.
See the [User Guide](https://mlange-42.github.io/ark/), [API docs](https://pkg.go.dev/github.com/mlange-42/ark) and [examples](https://github.com/mlange-42/ark/tree/main/examples) for details.
```go
package main
import (
"math/rand/v2"
"github.com/mlange-42/ark/ecs"
)
// Position component
type Position struct {
X, Y float64
}
// Velocity component
type Velocity struct {
DX, DY float64
}
func main() {
// Create a new World
world := ecs.NewWorld()
// Create a component mapper
// Save mappers permanently and re-use them for best performance
mapper := ecs.NewMap2[Position, Velocity](world)
/Excerpt of 5,428 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:88c9bf2b885a8283, topic:simulation, readme:manipulation