Monday, February 6, 2012

Game Development in the 21st Century: Meet my A.I. Team

Over the past couple months, I've been working with a team of seven people to create thousands of variations of restaurant behavior and dialogue, drawing from our database of recorded games.  (See my previous post for some background on the project).  The interesting thing is that my team members don't know anything about A.I., they're not programmers, they don't have any previous game development experience.  They are random people that I hired on the internet, with minimal vetting, and they're doing great work!   

More after the jump...


Tuesday, December 20, 2011

Thesis Proposal Recap

I'm long overdue for a new blog post.  2011 has been a busy year.  I've been making a lot of research progress, which has kept me too busy to blog!  I've hit a number of milestones in recent months -- my thesis proposal was approved in August, a prototype of my new planner came together in October, and I launched a crowdsourced data annotation effort in November.  This post will briefly recap the proposal that I presented to my committee. 

I'm building a new planner that combines plan recognition with case-based reasoning, to simulate reasoning from a collection of episodic memories.  My approach is production-oriented, in that it is mindful of the content authoring bottleneck (where content is AI behaviors and dialogue lines), and attempts to make it as easy as possible to get an enormous variety of content into the system.  The approach leverages the realities of the world we live in today, where it is possible to crowdsource repetitive tasks to non-experts, and opts for powering the system with lots of mundane data annotation rather than cleverly programmed AI.

For background information on this project, see the previous recaps: Part 1, Part 2, Part 3.

More after the jump...

Thursday, April 21, 2011

Improviso: Month One Highlights, and now on Mac OSX!

Improviso has been online for about one month, so I thought I would share some highlights so far.

The big news is that we released the Mac OSX version today.  If you are still holding out for the iOS version, DON'T!  There is not going to be an iOS version!!  So download Improviso for Windows or OSX and play today:  http://gambit.mit.edu/improviso


More after the jump...

Wednesday, March 16, 2011

Play Improviso!

Screenshot from Improviso.
PAX East just wrapped up, where we debuted our new data collection game: Improviso!  Players of Improviso are paired anonymously online as the Lead Actor and Director of a low budget sci-fi movie. The Lead Actor plays Ted, a struggling reporter who wakes up tied-up on an alien spaceship. The Director selects scenes, summons special effects, and plays the supporting cast members: the G-Man, Scientist, Alien, and Little Girl. Improviso is a collaboration between the Media Lab and the Singapore-MIT GAMBIT Game Lab.  Download Improviso yourself and play today!

More after the jump...

Friday, February 25, 2011

Recap Part 3: Generation from Collective Gameplay

In 2008, I implemented my first version of a system that plans character behavior and dialogue from recorded gameplay data.  This system combined the components described in Recap 1 and Recap 2 with a replay system, which automated a character by playing back fragments of log files (or one log in its entirety).

The planner is a bit like the Game AI equivalent of the Random Paper Generator.  It essentially randomly wanders between 5,000 log files, stitching together fragments of behavior and dialogue at run-time, while maintaining local coherence by critiquing log transitions for statistical likelihood.  This random stitching process is complicated by the fact that each character (customer and waitress) needs to observe the behavior of the other character, and select a sensible response from a log file.

More after the jump...

Wednesday, February 2, 2011

Recap Part 2: Dialogues with Data

Welcome back readers.  Another snow-day in Boston; good time to update the blog!  In this interactive post I will continue my recap of early experiments in automating characters with recorded gameplay data.  You will find a demo to play with at the end.
 
Human waitress chats with an AI customer, trained with 5,000 games.
After completing the Masters, I was anxious to get something truly interactive up and running as quickly as possible.  I thought I would start by looking at the chat text data, and I was inspired by reading a paper about the How May I Help You system at AT&T, an unsupervised system that learned correlations between salient phrase fragments and call routing decisions. I wondered if we could take a similar approach to learning patterns within chat text exchanges based on salient word sequences for different contexts within the restaurant scenario – e.g. getting seated, ordering, paying the bill, etc – and use them to automate a chat bot.

More after the jump….

Saturday, January 15, 2011

First post. w00t!

People of Earth:

Welcome to my research blog!  I’m in the home stretch for the PhD, aiming to graduate in about a year (plus or minus a few months), and will use this blog to share my progress, and recap some earlier developments.  I’m hoping that blogging will help me collect my thoughts for the defense (and help me figure out where all the time went).

Screenshot from The Restaurant Game
I launched The Restaurant Game in early 2007, and proposed to generate character behavior and dialogue from log files of human-human interactions recorded online for my Masters thesis.  Needless to say, I grossly underestimated how hard it would be to automate behavior and dialogue from unconstrained online interactions (at least, to do it well enough for use in a ‘real’ game), and I’m still working on this for my PhD.

It’s been a pretty crazy project, as you might expect when you invite the general public on the internet to participate in your research. 

More after the jump...