Skip to content

JerzyCode/DarwinWorldSimulation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

DarwinWorldSimulation ๐ŸŒ๐Ÿฆ 

๐Ÿ“Œ Project Description

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.

โœจ Features

  • 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.

๐Ÿ›  How to Install and Run the Project

Prerequisites

  • JDK 21
  • JavaFX
  • Gradle

Installation

  1. Clone the repository:

    git clone https://github.com/JerzyCode/DarwinWorldSimulation.git
    cd ooplab
  2. Download and install the JavaFX SDK if not already installed:

  3. Build and run using Gradle:

    build: ./gradlew build

    run: ./gradlew run

๐ŸŽฎ How to Use the Project

  1. Start a new simulation by selecting a predefined configuration or creating a custom one.
  2. Configure parameters such as map size, starting number of organisms, mutation rules, and plant growth settings.
  3. Launch the simulation, which opens a new interactive window.
  4. Observe the organisms move, eat, reproduce, and evolve over time.
  5. Pause or resume the simulation at any moment.
  6. Track detailed statistics, including energy levels, genotype distribution, and organism lifespan.
  7. Optionally, export data to CSV for external analysis.

๐Ÿ‘ฅ Authors

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •