Artificial Intelligence Learns to Play Super Mario World in 34 Tries
Robots have already come for our jobs, and now they are gunning for our video games. Developer Seth Bling created an AI called MarI/O that managed to beat the Donut Plains I level of Super Mario World in just 34 tries.
Watching the AI run through the game, you will notice that the computer uses a lot of jumping and very little hesitation. Compare it to a human playing, and you’ll see it looks very different. MarI/O did not know how to play the game when it first started. The first few attempts involved a lot of standing still or walking in a straight line. With time, it learned to play the game through trial and error. This process is called neuroevolution.
The AI saw the Mario world in black and white: good things that could be stood on looked like white blocks, whereas enemies were black blocks. The program had a “fitness” level that increased when it progressed right and decreased when it went left.
Quickly, the MarI/O learned that pressing the right directional button allows Mario to run right on the white blocks. From there, it learned each strategy one by one. Moves would either be kept or discarded depending on success. The most successful strategies were "bred" into the next generation, and it took 34 evolutionary steps, or generations, for the AI to complete the level.
The algorithm is called NEAT (NeuroEvolution of Augmenting Topologies), but as Engadget points out, this is not the only program that has learned to play the game. Watch this impressive 2009 Mario AI competition winner demolish a level: