-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTODO
More file actions
61 lines (56 loc) · 3.05 KB
/
TODO
File metadata and controls
61 lines (56 loc) · 3.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
-- Bugs
with default cargo run, in GUI, a food blink at the exact middle of environment.
. Reproductibility issues remains.
. Uterus processing bug with HerbivoreCarnivoteFullEye -> panic!
-- Short term:
- Allow to run for a single step ( in GUI)
- Center around Chromosome instead of Individual.
- Try to make Chromosome extraction and Organism building independent of Organ with Chromosome, through traits
- Make Organ GUI display a trait, so as GUI can be agnostics to number of organs.
--- Ecosystem
- ECS:
- Add support for Simulation config auto-saving to a directory, with directory and save rate configurable.
We could also save the inline_stats for this steps in a txt file next to it. XX.ecosim and XX.stats ?
- Optimize KdTree to for quasi 'static' species ( only appear and die, do not move)
- Converts standard component behaviour as traits :
- Sensor
- Actuator
- should kdtree include multiple time same entity for torus worlds ( without wall)
- Check if having an OrganismBundle make code cleaner
- Body:
- What about an 'age' attribute. The number of ticks since birth of this organism.
- Sensor in the brain
- Birth could be associated to age, as a gene ? Minimum/Maximum age to give birth ?
- Mouth:
- Add the reach of the Mouth as fixed energy cost, and also a gene
- Eye:
- Add hue of the wall as black
- Move process_vision out of brain into its own system
- Brain:
- Add hidden layer topology in config:
- ex: [2S,3S,2A] = 3 hidden layers, 2*n_sensors, 3*n_sensors, 2*n_actuactors.
- Can we use existing neuron crates ? [dfdx]
- Can we do reinforcement learning during 'life', evolving copy current state.
- Support edge with 0 value between neurons.
Cannot change during reinforcement learning.
Mutation can go from 0 -> non-zero or reverse.
Base cost of brain on number of non-0 edges.
- Reproduction:
- Add reproduction through Birth, with a new Uterus organ
- Contacts with co-organisms store their genetics of other in Uterus, only last one.
- Energy_for_birth is a gene value.
- Give birth when reaching energy_for_birth, create child from self and stored genetics with half 'start' energy, that self loses.
- On death, if will go under min_population, spawn a new random one. We probably need to keep a count of population size.
- Should Uterus be controlled by brain actuator ( open/closed), to allow selection of partners ?
- Should mating take time ( preventing Locomotion), should Birth take time ?
- Statistics:
- Performance aggregation of stats to max length, through merges. (1/3 kept 2/3 merged 2 by twos -> 2/3)
-- User Interaction
[!] Add a 'Selection' panel, that show data from currently selected organism:
- A collaspable header per Component.
- Add a configuration panel that show current configuration.
Allow to edit/save and reset current simulation configuration
- Improve user camera interaction:
. Make panning around follow environment 'scale'
- Update on simulation interaction:
Allow a 'skip N' input command where N entered by user (default 10)