Darwin World is a simulation-based project where an evolving world of animals and plants unfolds over time. This project creates a virtual ecosystem where herbivorous animals roam, seek food, and reproduce. The simulation runs on a grid-based map consisting of steppes and jungles, with plants growing and animals adapting over time based on their genetic code. Key components include:
- A world divided into tiles with different terrains (steppe and jungle)
- Herbivorous animals that consume plants, move, and reproduce
- Genetic algorithms determining animal behavior and evolution
- Configurable simulation parameters (e.g., energy levels, reproduction rules)
- An interactive visualization of the evolving ecosystem
For a more detailed description, refer to the instructions.
The application provides the following key functionalities:
- Running simulations with customizable configurations
- Saving and loading configurations for future use
- Multiple simulation windows running independently
- Graphical visualization of the ecosystem, displaying animals, plants, and energy levels
- Pausing and resuming the simulation at any time
- Tracking and displaying various statistics:
- Total number of animals and plants
- Most common genotypes among animals
- Average energy level of living animals
- Average lifespan of deceased animals
- Number of offspring per animal
- Marking specific animals for individual tracking (genome, age, descendants, etc.)
- Highlighting dominant genotypes and preferred plant growth areas
- Saving daily simulation statistics in CSV format
The project is built using:
- Java - Core programming language
- JavaFX - Graphical User Interface framework
- Gradle - Build automation tool for project management
This project was implemented as part of Object Oriented Programming course in second year of Computer Science at AGH university of Kraków.

