Monday , March 19 2018
Home / Artificial Intelligence / This live-stream of AI learning to play Super Mario Bros is awesome

This live-stream of AI learning to play Super Mario Bros is awesome

Einfach nerdig, a Youtuber with currently only one video up, started a live-stream of an AI learning to play “Super Mario Bros.” 4 days ago. It’s still running, and watching it is amazing.

The AI, MarI/O, comes courtesy of creator SethBling, who despite his own huge following, isn’t the one streaming the training session. The account streaming the video has disabled embedding, but you can watch it learn to play the game here on YouTube.

SethBling, a world-record holder for “Super Mario World” speedruns, previously trained the MariI/O AI to play “Super Mario World” by feeding it footage of his own gameplay. As he explains in the following video, his neural network starts off with no prior knowledge of how the game works. Eventually, through a series of simulations (which mostly appear like it’s doing nothing) it figures out how to move right. Twenty four hours later, the AI has gone through enough permutations to complete a level.

SethBling’s videos contain excellent explanations on how he came to create the system, especially as he shows off the final results of his work. Yet it’s an entirely different experience watching the heavy labor unfold in real-time — watching a computer struggle is strangely soothing.

Now learning to play “Super Mario Bros.” the AI, at moments, is spooky to watch. We’re seeing the system attempt to complete the same world and level over and over as it learns how to reach its goal. When it gets things right it looks like a person performing a speed run — in fact it’s possible you’ll learn some new tricks for the next time you play the game.

Other times, however, it seems dumber than a bag of rocks. The AI’s ability to make Mario jump is, presumably, bound to specific conditions, so when the plumber ends up against an obstacle it can get stuck. This requires a sort of manual reset, and the machine tries again.