Godspeed Game Engine (Evolution Simulator)

Godspeed Game Engine

Godspeed Game Engine

Overview

A 2D game engine with basic physics and support for genetic algorithms.

Technologies Used

  • C++: core language used for game engine and physics engine
  • SDL2: graphics rendering and event handling

Description

Godspeed game engine was a side project I started during the summer of 2014 before my sophomore year in college. The project started as a 2D game engine, and eventually expanded to support genetic algorithm visualization.

The Godspeed Evolution Simulator demonstrates natural selection and genetic algorithms in a visual, interactive environment. Individuals with higher fitness values have better chances of passing their genes to the next generation, creating an evolving population that changes over time through crossover and mutation.

Key Features

  • Genetic Algorithm Implementation: Full genetic algorithm with selection, crossover, and mutation
  • Fitness-Based Selection: Individuals with higher fitness values have proportionally better chances of reproduction
  • Visual Representation: Each individual is represented as a colored entity on screen with randomly assigned RGB values
  • Time-Based Evolution: World operates on a day/night cycle with mating occurring every 3 days
  • Console Logging: Real-time feedback about births, mating, and population statistics
  • Custom Game Engine: Built on the Godspeed Game Engine with support for game objects, rendering, and timing

What I Learned

I learned various concepts during the development of this project. The main new concept I explored was genetic algorithms, which I had never used before. Additionally, I learned a lot about structuring and building a component-based game engine.

← Back to Projects