DarwinWorldSimulation is a Java-based simulation inspired by Darwinโs theory of evolution. Organisms navigate the map, consume resources, reproduce, and mutate, leading to an emergent evolutionary process. The project is implemented using JavaFX for graphical visualization.
- Animals and resources are randomly generated on the map when the simulation starts."
- Organisms with DNA-based behavior, affecting movement and survival.
- Mutation and evolution system, simulating natural selection.
- Multiple simulation configurations, allowing for custom scenarios.
- Fire events, spreading through vegetation and affecting organisms.
- Plant growth mechanics, favoring specific zones (e.g., equator-like regions).
- Advanced statistics tracking, including population, energy levels, and lifespan.
- JavaFX-based interactive UI, supporting multiple simultaneous simulations.
- Pause and resume functionality, enabling detailed analysis.
- CSV data export, allowing for further research and analysis.
- JDK 21
- JavaFX
- Gradle
-
Clone the repository:
git clone https://github.com/JerzyCode/DarwinWorldSimulation.git cd ooplab -
Download and install the JavaFX SDK if not already installed:
-
Build and run using Gradle:
build:
./gradlew buildrun:
./gradlew run
- Start a new simulation by selecting a predefined configuration or creating a custom one.
- Configure parameters such as map size, starting number of organisms, mutation rules, and plant growth settings.
- Launch the simulation, which opens a new interactive window.
- Observe the organisms move, eat, reproduce, and evolve over time.
- Pause or resume the simulation at any moment.
- Track detailed statistics, including energy levels, genotype distribution, and organism lifespan.
- Optionally, export data to CSV for external analysis.