Skip to content

Genetic algorithm that learns how to play through a level.

Notifications You must be signed in to change notification settings

ziyadedher/genetic-level-solver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Genetic Level Solver

Uses genetic algorithms to evolve creatures that run through a generated level and try to optimize the amount of points they gather.

Built in stock Python with no libraries, this repository was meant as a machine learning exercise.

Features

  • Simulate an evolutionary system to naturally select the most fit individuals and maximize point aquisition.
  • Visualize the evolutions using a set of highly customizable parameters set through the command line on start.
  • Design your own levels for the simulation to run on using the included level creator.
  • View statistics using matplotlib.
  • Plug-in to the program using the 'highly-scalable'ahem built-in API.

Dependencies

  • python >= 3.5
  • pygame
  • matplotlib and its dependencies.

Use

To use this program first make sure you have all the required dependencies, then clone the repository and run the start.py file using python3 start.py. Instructions will be shown from there on.

Credits

The basics of this program (release v1.0) was created in 8 hours at the University of Toronto St. George campus Local Hack Day hackathon. It placed first.

Team members responsible for this program are the following:
Eliano Anile
Jack McKinney
Lucas Rea
Ziyad Edher