Completely randomly generated rockets, consistingly only of a body and thrusters in a random direction, are launched in a physics simulation. Their goal is to get to outer space, but given their random nature they'll most likely fail.

After they all die, or 15 seconds have elapsed, they are all used to create a new generation of rockets using a genetic algorithm. The best rockets from the preceding generation are kept, a mutation of the top one is made, a completely new rocket is randomly created, and the rest of them are all using the previous generation as parents to create new designs. As this goes on across generations, a rocket that will ascend all the way into space should eventually appear.

Rated 5.0 out of 5 stars
(1 total ratings)
Made withUnity
TagsProcedural Generation


Log in with to leave a comment.

(1 edit)

this is a lot of fun to watch - great work!

i almost want to ask for a pause and save button so i can keep my 'rocket evolution project' running, especially since you lose progress if you make a comment or accidently switch screens

You should just remove the floor and make the bottom kill them just like the edges.Then they would all either fly up or die instantly, and the initial failing generations wouldn't take so long.

Really? Simulation Over? You can't just let it keep generating infinitely, you have to give it an end state?

(1 edit)

Sorry about that! This is actually just a simulation made for an AI experiment we're doing for a university course, and in it we needed to set a specific goal for our experimental data to make sense. I uploaded this so it'd be easier to show to our professor, didn't expect it to actually get any traction.

However, now that it has, I guess I should update it to a new version that never ends. Thanks for the feedback!

There, it keeps going on forever now. Added some stars and the ability to run (slowly) in the background as well.

Awesome! Thanks for the update guys. It's such a fun concept, I felt kinda salty that it ended just when it was getting to the interesting point of the simulation.