Smarter Rockets
Smarter Rockets is a personal project I started inspired by this website which I stumbled upon while browsing Reddit. The goal of this interactive application is to train a population of rockets to reach a goal through the use of a genetic algorithm. The initial generation of rockets starts off with random DNA or a set of instructions on how to move about the world. At the end of a generation’s lifespan, the performance of each rocket is evaluated, and then assigned a fitness value. Each subsequent generation is created by breeding together rockets from the previous generation. More fit (better performing) rockets will appear more often in the breeding pool and thus will more likely be chosen as a parent in the breeding process. Once we have enough rockets to create another generation, we simulate and repeat the process. Click on any of the gifs below to get a better look!
The user has the ability to change a multitude of parameters which alters the behavior of a certain lineage of rockets. One important parameter is the rocket itself. The user can choose from a few different rocket types which have different collision boxes and physics properties. Another parameter that can be changed is the level obstacles. The rockets can be made to navigate around a single platform or through a small maze. Other parameters like life span, population size, and mutation rate can dramatically affect the performance of a certain lineage of rockets.