Releases: mlange-42/ark
Releases · mlange-42/ark
Release list
Ark v0.8.3
Ark v0.8.3
Ark is an archetype-based Entity Component System (ECS) for Go.
Changelog
Performance
- Caches archetype index, speeding up entity creation by 20-50% (#509)
Ark v0.8.2
Ark v0.8.1
Ark v0.8.1
Ark is an archetype-based Entity Component System (ECS) for Go.
Changelog
Performance
- Events for batch operations are processed in batches (#503)
Bugfixes
Ark v0.8.0
Ark v0.8.0
Ark is an archetype-based Entity Component System (ECS) for Go.
Changelog
Features
- Adds table-based query iteration, which is about 2x faster (#482)
Example:
for query.NextTable() {
positions, velocities := query.GetColumns()
for i := range positions {
pos, vel := &positions[i], &velocities[i]
pos.X += vel.X
pos.Y += vel.Y
}
}Performance
- Speeds up zeroing component memory by using
memclrNoHeapPointersandtypedmemclr(#482) - Speeds up moving non-trivial components by 30% using
typedmemmoveinstead of reflection (#484, #496)
Documentation
- Adds a plot with benchmarks vs. Array of Structs (AoS) to the user guide (#491)
Other
Ark v0.7.1
Ark v0.7.0
Ark v0.7.0
Ark is an archetype-based Entity Component System (ECS) for Go.
Changelog
Breaking changes
- World constructor
NewWorldreturns a pointer instead of a value (#448)
Features
- Provides binary serialization and de-serialization of entities for networking (#453)
Performance
- Optimizes removal of relation target entities from archetypes (#461)
Bugfixes
- Fixes resetting relation target tracking on entity creation (#459)
- Fixes resetting relations in archetype cleanup (#460)
- Fixes missing
OnAddRelationsevent onCopyEntity(#463)
Migration guide
For migration from pre-v0.7.0 versions, simply remove the pointer operator & in function calls that take a *World as argument. When a World is stored in an explicitly typed variable or struct field, use *ecs.World instead of ecs.World for the type.
Ark v0.6.4
Ark v0.6.4
Ark is an archetype-based Entity Component System (ECS) for Go.
Changelog
Bugfixes
- Prevents emitting custom events with components for the zero entity (#444)
Ark v0.6.3
Ark v0.6.3
Ark is an archetype-based Entity Component System (ECS) for Go.
Changelog
Other
- Merges
observerManagerDataback intoobserverManager(#438)