Today I picked the mind of the smartest guy I know. Joe Mitchell is a physicist programmer who graduated in condensed matter physics from the University of Maryland, where he studied the mathematics of condensed matter systems in networks. He worked with Noetic Games on games showcasing differential equations, then worked for Lockheed Martin on air traffic control software. Now he runs the company MortalArc, text mining history documents to automatically create interactive visual historical summaries.
GABE: This topic is a little heady so lets start simple, what is machine learning?
JOE: Machine learning is one of the better terms, as it is about machines that learn. It is a technology that actually has quite a bit of history, despite only being popularly known in the past few years; the formative ideas date back to the 40s and 50s.
There is a hierarchy of different machine learning topics, but the one that has been revolutionizing the world recently is known as "deep learning". This is a type of learning that uses a deep artificial neural network to reinforce its learning and develop intuitive thinking
Machine learning at its core lets us automate things we couldn't before, because it gives computers something resembling intuition.
GABE: From that description, I think its really obvious how machine learning will become a massively important facet of culture in general. For games specifically, I believe the 2005 Battalion wars for the Game Cube was the first game I saw boosting that the enemy AI learns as you play. In playing the game, I remember feeling like it didn't have a huge impact..
I think there is a tendency to think about deep learning as just smarter enemy AIs, but I have to assume there’s more to it than that.
JOE: Exactly, AI is the first thought, but it's not the quite the best application and far from the only one. You can go pretty far with rule- and behavior-based AI, hand crafted. Even response to behavior can be hand crafted to a large extent. Consider 2017's Echo, a game where the main gameplay is about the game reacting to how you play.
It has interesting ideas, including taking advantage of the reaction to your advantage. But there is no learning beneath the surface; it is state-based. Did you fire a gun last cycle? Then your enemies will use guns this cycle.
Deep learning has been used more not to make games but to PLAY them. Machine learning is best when there are clear "better" and "worse" states, and games are perfect for providing these: death, score, etc.
GABE: Yeah, I've read some about open AI’s Dota bot that wiped the floor with pro players one on one, even learning how to bate and taunt.
The things they are working on seems pretty impossible for your average dev to wrap their head around. Are these systems not seen on the game design end because they are too complex?
JOE: It's likely more (1) the tools for machine learning are still in flux and (2) expertise has been consolidated into large companies (google, amazon, microsoft).
(1) is probably changing, though they're still a bit convoluted. Convoluted but not to complicated.
(2) is a real problem. Data scientists (closest job title to meaning they can likely make and manage deep learning systems) have their salaries skyrocketing because large, deep-pocketed corporations are scooping them up like crazy. It is even hard to find professors with the specialty, comparing a professor's salary to sometimes seven figures.
The complexity/convolutedness is a problem for amateur devs to get moving quickly. The lack of expertise makes it harder for everyone.
GABE: That all seems pretty intimidating. Are there any comprehensive tools that your company MortalArc is using to learn and develop?
JOE: We're using Stanford's natural language processing system to analyze word structure and other generic text-mining tasks. We're using pytorch to do our own learning on top of that, but it's still early and that may change at some point.
Our needs are specifically for natural language processing, a subset of machine learning devoted to understanding text.
Pytorch is a pretty great tool. Written in python (nice language, easy to prototype), open source, a lot of people playing with it, decent documentation and generic.
The popular tool right now is Tensorflow, a google product.
GABE: Using these tools, what is MortalArc ultimately trying to accomplish?
JOE: Our project develops a software that takes in plain text documents and outputs an
interactive, animated map of people moving across the world. You could feed in a book about Napoleon, then watch him march across Europe, watch him meet generals and politicians, then zoom into a small town and see the workings of lesser known people. Change time, pan across the map, and use filters to focus on profession, race, gender. Connect to a pre-parsed database of references to see a map of the information fused together, or feed in a private set of documents for a more focused view.
You can check out Joe's incredible work with MortalArc on their site - ...
Machine Learning is a really exciting development with infinite room to expand and integrate into the game industry. If you know of any other indie companies pursuing these goals or have ideas for your own systems, share your thoughts in the comments.
A big thanks to Joe and MortalArc for all these awesome insights!