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...
I really had no idea if anyone would play the game, and if they did, would they do anything reasonable? I hoped to collect 1,000 transcripts of completed two-player games, which I reached within two weeks, so I raised my goal to 10,000, which I finally reached in 2010. Obviously a commercial game could easily collect this much data in week, or even a day. The biggest spikes in traffic came from mentions on Voodoo Extreme and Kotaku, and (strangely spontaneously) years later on h+ Magazine and Slashdot. Here is the google analytics report of traffic to the project web page between 2007 and 2010.
|A staircase composed of 53 cherry cheesecakes.|
The anonymous players on the internet did not disappoint – they did all kinds of things in the game. Some stacked 53 cherry cheesecakes to form a staircase, and climbed onto the roof of the restaurant. Other players punk'd a reporter from NPR. Hackers in Sweden figured out how to run their own servers, and began modding the game. They introduced naked customers, allowed more than two players, and eventually built a two-story restaurant, and (of course) added guns.
|Swedish hackers mod The Restaurant Game.|
People misbehaving online was not surprising. What was surprising was that over half of our players did mostly normal restaurant things – eating food, serving drinks, reading menus, paying bills, etc. For my Master's thesis (summarized in this journal article), I used data from 5,000 games to learn a statistical model of language and behavior that could be used to estimate the typicality of any gameplay session (or fragment of a game). I had humans rate the typicality of 300 games based on what one would expect to observe in a real restaurant (in terms of both dialogue and physical interaction), and demonstrated that the estimates of the statistical model for the same games correlated strongly with human judgment. So for the thesis deadline in 2007, I ran out of time before I was able to close the loop and actually generate interactive behavior from the data, but even recognition has interesting implications for games. (Future posts will describe more recent work, where I do generate dialogue and behavior from the data).
What good is behavior recognition? Characters could use statistical models learned from gameplay data to detect someone behaving atypically, or to guide their own behavior to blend in with the crowd -- kind of a social variant on stealth gameplay (e.g. Thief, NOLF). It’s interesting to see that there is already a new genre of multiplayer stealth games emerging, where humans try to blend in with AI in Spy Party and the multiplayer mode of Assassin’s Creed: Brotherhood. Statistical models would allow this type of gameplay in single-player games, where the AI is trying to detect the human. Obviously, the AI already knows who the human is, but this is no different than when we simulate vision and hearing to enable sensory honesty in stealth games. Think of it as a means of enabling social sensory honesty.
That’s it for now. Future recap posts will get into simulating interaction from data. Stay tuned! Or even subscribe.