Project: genesis

Project: genesis

🧬 Genesis: Evolution Simulation Ecosystem

Genesis is a sandbox for experimenting with genetic algorithms, biological simulation, and visualization.

This ecosystem includes:

  • Genetics – the core simulation engine implementing biological cells, energy metabolism, reproduction, and configurable fitness functions.
  • Gstep – an interactive application for stepping through genome
  • GeneGL – an OpenGL-based visualization app for real-time viewing of evolving organisms.

🎯 Project Goal

Inspired by a YouTube video I saw once, this project began as an experiment to evolve tree-like organisms using genetic algorithms.
It serves as both a creative and technical sandbox, a place to explore evolutionary behaviors, software design patterns, and modern language features while observing how virtual life might grow, adapt, and compete in a digital environment.

Tree’s first spotted in Simulation 7!


🧠 Fitness Function

The primary fitness function used in BasicV2FitnessFunction is:

\[F = [C>1]\cdot \min\left(\frac{u}{a},\frac{a}{u}\right)\cdot \min\left(1,\max\left(0,\frac{\min(D,A_{\max})-B}{\max(1,A_{\max}-B)}\right)\right)\cdot e^{-\beta\left(\max(0,1-O)+\max(0,O-2)\right)}\cdot \frac{C}{C+k}\]

(from BasicV2FitnessFunction)


🌿 Simulation Snapshots

Below are highlights from various simulation runs, illustrating the progression of ecosystem evolution across different epochs.

SimulationDescriptionPreview
Simulation 3: Grass (4Γ— zoom)Stable grass evolutionGrass
Simulation 4: Fitness Analysis (4Γ— zoom)Comparative fitness growthSim 4
Simulation 6: Complex Organism DevelopmentEarly multicellular cooperation and differentiationSim6 Example 1 Sim6 Example 2 Sim6 Example 3
Simulation 7: Ecosystem MaturationEvolutionary stability over timeEpoch 14 Epoch 20 Epoch 40 Epoch 49

🧩 Project Components

Genetics Library

Core simulation library implementing:

  • Hierarchical cell system (Cell, StemCell, LeafCell, RootCell, etc.)
  • Energy metabolism, mutation, and reproduction logic
  • Configurable fitness functions for evolutionary pressure
  • Fully documented API (Javadocs)

Build Artifacts:
Maven Central


Gstep

Gstep visualizes and simulates genetic ecosystems in real time, allowing users to explore how virtual organisms behave within a digital terrain.

Features:

  • Real-time simulation and visualization of organism interactions
  • Dynamic terrain rendering and environmental adaptation
  • Seamless integration with the Genetics core library
  • Adjustable simulation parameters for experimentation

GeneGL Visualization

An OpenGL-powered front-end for rendering and observing simulations in real-time.

Features:

  • GPU-accelerated, real-time organism rendering
  • Visualizes energy flow, reproduction, and environmental interaction
  • Cross-platform Java application (Java 17+, OpenGL 3.3+)
  • Includes example configs (sim.json, sim-parameters.json)

πŸ“š Reference Papers


βš™οΈ Development & Documentation



Back to Top