The Darwin World Simulator

Description

The program presents a simulation of animals on two different maps. The animals evolve on their own by copulation, depending on their energy and genotype. The animals gain energy when they eat grass, but they lose it when they copulate and live (each day -1 energy). The maps have a "jungle" in the middle, where there is more grass than in other areas of the maps. The maps can be also magic, which means they magically create "copies" of the existing animals at the moment. The magic happens when there are less than 6 animals, only a maximum of 3 times. The animals' genotype determines the movement of the animal during the day. The animal can move forward or backward or rotate only once during the whole day. The animals have to move if they want to live. During showing the simulation, next to the maps there are plots with some statistics. During the simulation, you can pause the simulation and also click on one of the animals to track them and to see their statistics.

Background

The project was made for object-oriented programming classes conducted at the AGH University of Science and Technology in Kraków at the Faculty of Computer Science, Electronics and Telecommunications in the field of Computer Science.

How to run

The class that starts the program is called "World" and is located in the 'Darwin-World-Simulator/src/main/java/agh/ics/oop/' folder.

Technologies

Java 14 + JavaFX 17

Video

https://youtu.be/VDuDl1YBOIA

Author

Marcin Kozub