Artificial Intelligence Plays Mario Kart 64

Wednesday, January 4, 2017

Artificial Intelligence Plays Mario Kart 64

Artificial Intelligence

In an exhibition of the increasing power and flexibility of artificial intelligence, a software developer has been able to train a neural network to play a classic arcade game using the same methodology that large firms are now using to train self driving cars—and he did it all over his winter holiday.

Kevin Hughes, a software developer at Shopify in Ottawa, Canada did more than just play video games over his winter holiday—he taught an AI to play one. Using the artificial neural network with Google's open-source TensorFlow, Huges dubbed the project, “TensorKart,” a neural network that can play the classic racing game Mario Kart 64.

"In a couple of days over winter break, I was able to to train an AI to drive a virtual vehicle using the same technique Google uses for their self-driving cars," claims Hughes.

He originally got the idea for this project a few years ago after seeing a post about artificial intelligence applied to video games. Since he found other machine learning demos lacking a thorough end-to-end process for other developers to follow, part of his mission included documenting and detailing his results so others could do the same thing.


"I wanted to make the end-to-end process easy to understand and follow, since I find this is often missing from machine learning demos."
"I wanted to make the end-to-end process easy to understand and follow, since I find this is often missing from machine learning demos," writes Hughes on the project's site.

“It always bugged me that [posts] didn’t contain the full pipeline from data collection, preparation through to actually playing,” said Hughes. “Showcasing a full system is really what I wanted to achieve with this project.”

Related articles
TensorFlow worked well for Hughes’ project because it had the basic tools needed for deep learning. Plus it could use his new GPU.

To create a training dataset, he wrote a program to take screenshots of his desktop synced with input from an Xbox controller. Hughes then ran an N64 emulator and positioned the window in the capture area. Using this program, he recorded a dataset about what the AI would see and what the appropriate action was.

After playing a lot of Mario Kart and writing an emulator plug-in in C, Hughes managed to get Mario to successfully drive around the track using the same technique that Google uses for its self driving cars. He said that with 20 minutes of training data, his AI could travel around the majority of the simplest course (Luigi Raceway).

The project demonstrates some of the things artificial neural networks and deep learning can accomplish, not just for gaming, but for self-driving vehicles too. Hughes writes he is looking forward to the new era of self-driving vehicles, mostly because it can be safer than human drivers, and potentially change the world.


By  33rd SquareEmbed


Post a Comment