A sandbox evolution simulator with trait inheritance and natural selection
#Evolution #NaturalSelection
Genesis is a real-time evolution simulator built with Godot Engine that demonstrates how traits evolve through natural selection across generations. Watch digital organisms compete for resources, reproduce, and pass traits to offspring with mutations.
Download Genesis at Itch.io [Download Readme as a pdf](Documentation/README [PDF].pdf)
๐ This repository contains the Godot project files
Genesis simulates a population of digital organisms (units) competing for limited resources (food) within a bounded environment. Through reproduction, trait inheritance, mutation, and natural selection pressures, you can observe how populations evolve over time and how certain characteristics become more or less prevalent.
- Download
Genesis.zip
from itch.io - Extract and run the executable
- Click START to begin your first evolution experiment
- Requirements: Godot 4.4+ | Windows 10/11 (optimized) | 4GB+ RAM
- Clone this repository
- Open
scenes/main.tscn
in Godot Engine - Press F5 to run
- Set population: 50-100 organisms
- Enable trait tradeoffs
- Set food supply: 30-50 items
- Adjust speed: 2-3x for faster results
- Click START and watch evolution happen!
- Real-time Evolution: Watch traits change across generations
- Five Interconnected Traits: Size, Energy, Speed, Sense Range, Predatory Behavior
- Trait Tradeoffs: Biologically-inspired relationships between traits
- Advanced Analytics: Real-time graphing with data export
- Educational Focus: Perfect for understanding evolutionary principles
- Full Customization: Control every aspect of the simulation
- Larger units can consume smaller ones
- Affects energy capacity and movement speed
- Required for movement and reproduction
- Gained by consuming food or prey
- Faster units find food efficiently but consume more energy
- Larger range improves foraging success
- Controls diet preferences and hunting ability
- Creates complex predator-prey dynamics
Genesis implements realistic biological tradeoffs:
- Size โ Energy: Larger = higher capacity
- Size โ Speed: Larger = slower movement
- Size โ Sense: Larger = reduced sensing
- Configurable intensity: Adjust tradeoff strength (0-100%)
- Energy-based reproduction: Units need minimum energy to reproduce
- Trait inheritance: Offspring inherit parent traits
- Mutation system: Optional randomization for trait variation
- Natural selection: Environment pressures shape population
- Configurable food supply: Adjust base amount and generation changes
- Boundary handling: Teleport system for stable simulation
- Population management: Set starting populations and growth patterns
- Simulation speed: 0.1x to 10x speed adjustment
- Real-time parameter changes: Modify settings during simulation
- Generation tracking: Monitor population across time
- Population graphs: Track growth and changes over generations
- Trait evolution: Monitor average trait values over time
- Radar graph: Visualize current population's trait distribution
- Console logging: Detailed event tracking
- Export capabilities: Save data and screenshots
- Search functionality: Find specific events in logs
- Write to file: Continuous data logging
- START/PAUSE/STOP: Control simulation state
- RESET: Restore defaults and clear simulation
- Speed Control: Adjust simulation speed
- Population: Set initial count and trait base values
- Reproduction: Energy thresholds and mutation settings
- Food Supply: Amount, generation changes, and limits
- Tradeoffs: Enable/disable trait relationships
Perfect for exploring evolutionary concepts:
- Natural Selection: Observe selection pressures in real-time
- Trait Inheritance: Understand how traits pass between generations
- Population Dynamics: Study growth, bottlenecks, and extinction events
- Ecosystem Interactions: Explore predator-prey relationships
- Adaptation: Watch populations adapt to environmental pressures
- Mutation Effects: See how variation drives evolution
- Godot Engine 4.4: Modern game engine with GDScript
- GodPlot Addon: Advanced graphing by Omar Negm
- RadarGraph Addon: Radar chart visualization
- Signal-based architecture: Event-driven design
- AI Coding Assistant: Cursor [Claude-4.0-sonnet]
genesis/
โโโ scenes/main.tscn # Main simulation interface
โโโ scenes/units/ # Organism behaviors
โโโ scenes/scripts/ # Core simulation logic
โโโ addons/ # Graphing and visualization
โโโ assets/ # Visual resources
- Genesis is designed for education, not scientific research
- Simplified model demonstrates concepts but isn't scientifically rigorous
- Best used for understanding evolutionary principles
- Keep populations under 500 for optimal performance
- Higher speeds may cause instability
- Export important data before closing
- Use multiple runs for statistical validity
MIT License - Free for educational, research, and commercial use
Developer: Jude Janitha Niroshan (@Bukkbeek)
- M.Sc. Biology (Reading) - Western University, Canada
- B.Sc. (Hons) Zoology - University of Colombo, Sri Lanka
- Portfolio: bukkbeek.github.io
Third-party: GodPlot & RadarGraph addons, Godot Engine, Cursor [Claude]
Genesis is open-source! Contributions welcome:
- Bug reports: Use GitHub issues
- Feature requests: Suggest improvements
- Development: Fork and submit pull requests
- Documentation: Help improve this guide
Experience evolution through interactive simulation