Project Proposal by Martin Stacey
Artificial Ecosystem
Software |
Any powerful OO language. |
Covers |
OO system development, simulation modelling, artificial life, possibly game design. |
Skills Required |
Programming, OO systems design, possibly computational intelligence learning mechanisms. |
Challenge |
Conceptual Technical Programming |
Brief Description
Create life! Artificial life is the academic discipline concerned with the individual and collective behaviour of software agents that simulate lifeforms, interacting with each other in a computational ecosystem. The challenge of this project is to create artifical ecosystems in which lifeforms of different types with different capabilities battle for survival, trying to eat and avoid being eaten, so that the populations of different species rise and fall according to the success of others.
The key to success is to define ways to represent lifeforms of different species so that the simulation can be made more complex incrementally. A key decision is whether to represent individual animals or populations of animals as the units that the simulation uses. Another key decision is what happens at each time interval.
Extensions
In addition to species differing, it would be good to include different types of terrain so that lifeforms might be differently successful in different environments.
A way for species to evolve over time, and possibly to divide into separate species, would be a very valuable addition. Making sure that adaptations have costs, so that species don't simply become impossibly good at everything, is crucial.
A user interface that allows the user to see how the ecosystem changes over time as species are more or less successful in different places would be very valuable, but developing a glossy interface shouldn't interfere with getting an interesting simulation working.
A way to play a game with the system would be a good addition.
Back to