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:
(from BasicV2FitnessFunction)
πΏ Simulation Snapshots
Below are highlights from various simulation runs, illustrating the progression of ecosystem evolution across different epochs.
| Simulation | Description | Preview |
|---|---|---|
| Simulation 3: Grass (4Γ zoom) | Stable grass evolution | ![]() |
| Simulation 4: Fitness Analysis (4Γ zoom) | Comparative fitness growth | ![]() |
| Simulation 6: Complex Organism Development | Early multicellular cooperation and differentiation | ![]() |
| Simulation 7: Ecosystem Maturation | Evolutionary stability over time | ![]() |
π§© 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)
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
- Asexual Versus Sexual Reproduction in Genetic Algorithms
- A Simple Algorithm for Optimization and Model Fitting
- Using Genetic Algorithms with Asexual Transposition








