Evolution and reproduction are interesting topics that have always fascinated us.

Understanding evolution and how it works can be difficult to visualize and understand. That is why we decided to create a simulator.

What it does

The project simulates an environment in which creatures move around and collect food in order to survive and reproduce, passing on their existing genes through our allele and genome system based around binary bits of numeric statistics for each creature.

How I built it

It was built using the Curses library in order to display the environment, and creating a gene system involving the binary bits of numeric statistics, using 0 as recessive alleles as 1 as a dominant allele to implement mutation and sexual reproduction.

Challenges I ran into

We ran into some challenges involving the logic of the genetics as well as implementing the Curses library for display, however we were able to work out how to fix our problems.

Accomplishments that I'm proud of

Creating the terminal GUI via the Curses library and implementing the genetic systems are things that are relatively new for us and we're proud that we were able to accomplish it.

What I learned

We learnt quite a lot about how biology and real-life genes work in the process as well as using the Curses python library.

What's next for PyEvolution Simulator

Adding more statistics like speed, and possibly aggression and intelligence so as to maximise the realism and simulatory potential.

Built With

Share this project: