Last post we explored Finite State Machines with Pepe Swer; by popular demand, we have added a Queue, which means our train system is now technically Turing-complete.

This demo is to showcase what is possible in our game world. Please consider donating to our project on Kickstarter and spreading the word if you want to see more cool applications of math concepts with Mathbreakers!

For context, you may want to watch the first State Machines video first:

Here is the Turing Trains video:

http://player.vimeo.com/video/98496710

In this demo, we have added a special car to the back of the train which holds the queue. Some switch stations are outfitted with a queue popping machine, and the signposts now have two parts — the input number and the queue value (represented by colored spheres). On some of the tracks between stations, there are now queue droppers to add to the queue.

It’s important to note that while our system is Turing-equivalent, it would be difficult to build something like a 3-digit calculator using it — the number of cars you would need gets large very quickly, and because it’s a 3-D representation, the cars would have a difficult time fitting on the track. You certainly COULD do it, but you’d need to make the track many times larger!

Update: Two of our friends have invented a brilliant solution to the spacing problem — by introducing portals that teleport the cars of the train into another dimension temporarily, we can have an infinitely long train! We may develop this in the future depending on demand.

We also found this gem, courtesy of Jon Hull: http://pleasingfungus.com/Manufactoria/

Anyway, the point is not to build a calculator (at least not yet) — the point is to show how we can represent this concept alongside others inside a single coherent game world.

What should we try next? We’re throwing around the idea of doing an exploration of music theory, using the in-game fraction representation to specify note durations. We’ve also thought about creating an infinitesimal primitive to try to communicate the basics of calculus. We do whiteboard sessions regularly — drop us a line with your idea!