https://github.com/selfint/eaters2d-old
https://github.com/selfint/eaters2d-old
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/selfint/eaters2d-old
- Owner: selfint
- Created: 2021-08-17T11:47:36.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2022-07-13T19:05:39.000Z (almost 4 years ago)
- Last Synced: 2025-02-14T08:49:12.718Z (over 1 year ago)
- Language: Rust
- Size: 2.98 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# eaters2d
DNA-like evolution of 2d eating creatures.
## Parts
1. ECS - Using the bevy engine
2. DNA - Each sequence of 'genes' will correspond to a component that an entity can have
## Flow
Creatures evolve using a standard genetic algorithm that modifies their 'DNA'.
Systems from the ECS framework then act on all entities with respect to their components.
Creatures can 'unlock' new capabilities by creating a new sequence in their DNA that
an as-of-yet unused system acts on.
## Example
COMPONENTS:
- aa: vision
- bb: fins
- cc: random signal passed to fins
- cd: vision input signals pass to fins
```
Creature DNA: aabbcc
```
The creature has eyes and fins, but no connection between them.
Then a mutation occurs, the last `c` switches to an `d`.
```
Creature DNA: aabbcd
```
Now the creature's vision affects the creature's fins.