The future is now!
Humans are so last century; this century is all about machines and the imminent robot apocalypse. Until then, though, machines still have a lot to learn. Programmer Adam Geitgey, and his fellow programming comrades, have been teaching a computer to create various works through a method called “Machine Learning,” and it’s been used to create a Super Mario Maker level on the Nintendo Wii U system. How does that work, though?
If I understand this all correctly, this is essentially what’s happening: Geitgey and his team created an algorithm that weighs the elements of a function output to give an estimate of your desired result. They use the example of a home’s attributes to estimate the price of said home. This, however, is just one building block in the grand scheme. Gathering various inputs and nodes and weaving them together creates a much more complex function, rife with possibilities that only memory can tap into.
Geitgey and his team use Ernest Hemingway’s The Sun Also Rises as the guinea pig for this next part. They essentially fed words into the algorithm. When faced with a single letter, the machine then formulates what the full word probably is, based on all the possibilities from the text(s) that it contains in its memory. The machine then attempted to recreate the novel, but came out with something called Erngess Hemmas’ The Secret of the Steers. Not quite exact, but, like any of us, it still has plenty to learn.
Like our own memory banks, the machine then retains previous instances, and uses those memories to produce a projection of what can and ought to happen, however, through the now extremely complicated set of algorithms amassed into what is referred to as a “neural network.”
Instead of words, Geitgey and his team decided to use levels from Super Mario Bros. to see what would happen. They got every outdoor level from the original Super Mario Bros. game, and fed the layouts to the machine, similar to words from the Hemingway novel. Of course, like the novel, the first product was likely nonsense, but after training it through Machine Learning, the machine finally designed a level that actually made sense, and played out like a regular Super Mario level. See it in action for yourself:
The level was finally complete with enemies being placed in logical locations, pipes needing to be placed on solid blocks, and nothing generated that would block the player from being able to beat the level. It’s a strange and near-organic form of level generation, that could provide very interesting possibilities in the medium for years to come.
You can check out Adam Geitgey’s full blogpost with a much more thorough explanation of how the process worked right here, and you can play the level by inputting this code in your copy of Super Mario Maker: 4AC9-0000-0157-F3C3