An ecosystem and evolution simulator
GNU / Linux
- make
- gcc
- libglfw3
- libglew2.0
- libglfw3-dev
- libglew-dev
- ffplay (optional)
- python3 (optional)
- matplotlib (optional)
(How To Use)
(How To Use)
Install dependencies
$ sudo apt-get install libglfw3 libglew2.0 libglfw3-dev libglew-dev ffmpeg
Grab the code:
$ git clone https://github.com/connor-brooks/ecosim.git
Enter source directory:
$ cd ecosim / src
Build:
$ make
Run the simulation:
$ ./ecosim
Controls
Zoom: ctrl
scroll wheel
Pan: scroll wheel Pause: space ) Quit: q
Main world settings
AGENT_RGB_ALPHA
- The rate of which energy is burned over time, with respect to the metabolic rate of an agent ( where x is metabolism)
AGENT_ENERGY_SIZE_SCALE x) - How large an agent is, with respect to their energy (where x is energy)
AGENT_MAX_SPEED - The maximum speed any agent can move
AGENT_ENERGY_DEAD
- The energy level which an agent dies
AGENT_TIME_FACTOR - How fast the process of ageing occurs
AGENT_DIET_BOUNDARY - Herbivore / Carnivore boundary
AGENT_DNA_MUTATE_RATE - The maximum amount a trait can change if mutation occurs
AGENT_METAB_MAX / AGENT_METAB_MIN - The maximum and minimum metabolic rates allowed
AGENT_VISION_MAX / AGENT_VISION_MIN - The maximum and minimum vision field sizes allowed
AGENT_REBIRTH_MAX / AGENT_REBIRTH_MIN - The maximum and minimum amount of energy stored in an agent before splitting occurs
-
AGENT_DIET_MAX / AGENT_DIET_MIN - The maximum and minimum diet values allowed
AGENT_FLOCK_MAX / AGENT_FLOCK_MIN - The maximum and minimum influence flocking has on agents
AGENT_WOBBLE_MAX / AGENT_WOBBLE_MIN - The maximum and minimum amount an agent can wobble per second
INPUT_SPAWN_DELAY
- How often to respawn agents when the mouse is held down
-
INPUT_SCROLL_AMT - Input sensitivity (Effects scroll and zoom)
(LOGGER_ENABLE - Enable / disable logging
(LOGGER_FILE) - Filename to log to
(LOGGER_FREQ) - Logging sample rate
Read More