Course:CPSC312-2024/EcosystemSimulation

From UBC Wiki

Authors: Jenilee Chen, Youssef Saleh, Oleg Yurchenko

What is the problem?

In the natural world, organisms live in large ecosystems that influence their lifestyles, behaviors and even their very being. Evolution has long been one of the most interesting aspects of natural science, and many projects have been made to simulate and understand its complexity.

Enter our idea: To create an immersive simulation of emergent ecosystems.

In our simulator, different organisms in the ecosystem will be able interact with one another, their environments and live out full lives from birth, to eating and reproducing, to death. Offspring will inherit behavioral traits from their parents, and may even mutate slightly to simulate realistic evolution. These traits will dictate what decisions certain animals are more likely to make.

The inspiration for this came from Coding Adventure: Simulating an Ecosystemand the 2023 CPSC 312 Game of Life Project.

What is the something extra?

Something extra is a GUI to visualize the current environment.

What did we learn from doing this?

This project really solidified our understanding of Classes and Types in Haskell, and how different they are.

Work division

Jenilee worked on the part of the project concerned with setting up and constructing the Map.

Oleg worked on the part of the project concerned with the progression of the Simulation, including the World monad.

Youssef worked on creating an API for the backend, as well as a Gloss frontend.

Links to code etc.

https://github.students.cs.ubc.ca/ysaleh03/312_haskell_project