CS 467 - Assignment Seven

Due: 2020-05-05 05:00p


  • Think about interagent interaction by implementing an ecosystem


  1. Accept the assignment on our Github Classroom.
  2. Download the git repository to your local computer.


This is another assignment for which I am giving you a lot of freedom. I would like you to implement an ecosystem populated with some form of a-life.

Use your imagination. You can be inspired by real life ecosystems or do something completely different, like Jon McCormack's ants or Alan Dorin's Plague. I just want to see autonomous agents interacting with their environment and each other. I also want to see evolution, with reproduction, heredity and adaptation. As with the examples I showed in lecture, you do not need to implement the lock-step generational model of genetic programming, but your agents should have some form of genotype with a phenotype that is expressed in their appearance and behavior.

You should not feel obliged to stick to the framework we have developed for autonomous agents, but it is not a bad place to start. That said, I do want to see that your agents are following the general principles of autonomous agents and are motivated by internal "desires".

I also want to encourage you to think broadly about the pieces I have shown you. While this will run as a simulation, there is no reason this needs to look like we are staring at a petrie dish through a microscope. Agents do not need to move around (think about cellular automata or McMormack's Colourfield).


  • The ecosystem should contain at least one "species" of agents
  • The agents must be situated in their environment, i.e., they must react to stimuli
  • Agents must have some form of genetic material that governs their appearance and behavior
  • Agents must be able to reproduce (asexually or otherwise), and the children must inherit some traits from the parent
  • There must be some factor in the environment that encourages variation and adaptation; some selection process that would favor one agent over another in its ability to procreate
  • This must not be a clone of Shiffman's balls that chase food (though it can be inspired by it)
  • The README must provide a short explanation of your ecosystem and how it works
  • Sophisticated Include interagent interaction, such as sexual reproduction, competition, predation, etc...

Finishing up

Commit your changes to git and push them back up to GitHub. I will find them there.