We’ve seen a lot of people beat Super Mario games on YouTube, some with more pizazz and eccentricity than others. But what about a computer program beating a level of the game? Sounds easy peasy for a highly intelligent computer you say? But what if that program didn’t know squat about Mario, or even know about going right or jumping? Yes, a computer program that learns from scratch to beat a level so Super Mario World. That’s exactly what Seth Bling set out to do with the Artificial Intelligence program he calls MarI/O.
Yes, Seth Bling, the very same guy that brought us much entertainment when he pulled off an extremely difficult glitch that let him finish Super Mario World in under 6 minutes. He also happens to have a Computer Science degree, so he sets out to apply that fount of knowledge on his favorite Super Mario World again.
MarI/O isn’t your typical artificial intelligence. It didn’t even know that going right would eventually take it to the end of the level, more or less. It learned all of this from scratch through a process called neural evolution. Basically a trial and error process where it learns the best way to overcome a challenge, in this case, finishing the level in one piece. It pretty much resembles how our own brains have evolved over millennia but, thanks the power of computing, MarI/O is able to condense that into just 24 hours.
If this is the type of computer knowledge that fascinates your, Seth Bling’s video below gives an overview of the principles involved. He also gives out the source code, which is a Lua script plugin for the BizHawk emulator, and a few links to research sources in his video notes.
MarI/O is hardly the best Mario player there is. It does finish fast and without dying even once, but it also skips out on a lot of points and merely avoids most monsters. That said, it probably isn’t far off from teaching it how to make the best playthrough. Fortunately, that’s not going to take it anywhere close to world domination. At least not yet.