February 21, 2007

1,000 Players Can't Be Wrong

The primary responsibility of a game AI programmer is to anticipate player behavior, and provide satisfying responses for every anticipated scenario. With each generation of games this gets more difficult, as virtual worlds become more realistic with additions like real-time physics simulation. I’m working on a research project that flips the traditional approach to game AI on its head. My goal is to capture gameplay from 1,000 multiplayer game sessions, analyze this data, and use it to generate AI for a new single player game this summer.

Read more and download game at:

The simple game I’ve created does not have real-time physics, but it does require conversation between players via typed text, which proves equally challenging -- in both cases no matter how many games you observe, you will never see the exact same scenario play out twice. It is unrealistic to believe human AI programmers will ever account for the nuances of every possible scenario. Think about an analogy to animation – when animators want convincing human movement, they go straight to the source and use motion capture. Animators blend, layer, sequence captured animations to generate new motions beyond those recorded. Why should we believe that authoring AI behaviors is any different – perhaps we can get the most believable results by starting with the source material, and procedurally blending, layering, and sequencing behaviors as we see fit.

I’m not expecting people to play my game and get nothing in return. Players will be rewarded with Game Designer credit on the new game for contributing to this effort. It has never been easier to earn Game Designer credentials! I see this collaborative community-oriented approach as falling in line with other successful examples of leveraging the power of the network to overcome insatiable demands for content such as Spore, the ESP game, flickr, and myspace.

Of course, collecting gameplay data is only half the battle, but it is a start. The game produced this summer will employ the first of many iterations of the learning algorithm, and the corpus of data collected will be available for others to use as well (with player identifiers removed).

We are running our second set of pilot tests Thursday Feb 22 at 9pm EST AND 9pm PST. You are welcome to download and play any other time too, but wanted to set a time when people would be sure to find other players (because the game requires two players per server).

Read more and download game at:

Posted by jorkin at February 21, 2007 10:17 AM

Good stuff - I've been looking forward to finding more out about this project. I look forward to trying it out and giving feedback.

And thanks for providing an OS X version, although the rmb-to-move doesn't work for me on my PowerBook where right-click is by ctrl+mb. Is there an alternative input to trigger moving forwards?

Posted by: Matthew Wiggins at February 21, 2007 03:16 PM

Sorry Matthew -- there is no alternative input for moving forwards. Can you wrangle up a 2-button mouse anywhere? I was hoping most mac gamers would have 2 button mice in general. I might be able to release a new version in a few days that offers an alternative to right-clicking.

Posted by: jorkin at February 21, 2007 03:19 PM

Ok Jeff, I'll give it a try at work for now. If you do release a new version cursor key control would be great.

(+1 for the startup image - that steak looks perfectly done to me :) )

Posted by: Matthew Wiggins at February 21, 2007 03:29 PM

ok, I'll try to get a new version out soon with cursor key control. When you say "cursor key" do you mean the arrow keys? Just want to make sure.

Posted by: jorkin at February 21, 2007 03:36 PM

Yep, I meant arrow keys. Thanks for considering making the addition.

Posted by: Matthew Wiggins at February 21, 2007 03:51 PM

Matthew, Have you tried Apple+LMB as RMB? I have several SDL based apps on my MacBook where that works just fine. Not sure if it is SDL thing or Mac thing.

Posted by: Mikko at February 22, 2007 04:48 AM

Ok, the first pilot test went Ok! I'm going to run two more stress tests tonight at 9pm EST AND 9pm PST. Let's get as many people online together as we can. Thanks!!

Posted by: jorkin at February 22, 2007 05:53 AM

Arg ! I missed the pilot test ! :(

That's not exactly my timezone , but I'll try to get online tonight :)
Anyway, I'll play (and force my friends to play) till I (and they) die ! (or not)

Hope it will help.

Posted by: Gabriel Ware at February 22, 2007 06:21 AM

Thanks Gabriel! The servers are running, so you are welcome to play any time that works for you (if the pilot test times don't). You just need 2 people on a server at once, so you could just recruit your friends at another time.

I plan to post a new version of the client with some minor tweaks later today (Thursday).

Posted by: jorkin at February 22, 2007 06:40 AM

Mikko, yes I tried that combination with no luck I'm afraid.

I'll try to stay up for the stress test (difference time zone I'm afraid).

Posted by: Matthew Wiggins at February 22, 2007 09:25 AM

Well, a 'different' timezone anyway :).

Posted by: Matthew Wiggins at February 22, 2007 09:39 AM

Sorry I missed the announcement last night! I'll definitely be playtesting this evening as much as I can, and spreading the word far and wide in the meantime.

Jeff, have you considered contacting gamasutra.com and asking them to announce it? I'm betting they'd be willing to add a quick news item announcing it once you're ready for that number of users.

Posted by: Paul Tozour at February 22, 2007 10:00 AM

Paul -- Good idea. I do plan to contact gamasutra soon. I'm just making sure all of the kinks are worked out before spreading the word more widely.

Matthew & Gabriel -- I have implemented arrow key control of the character and will post theRestaurant-v1.1 within the next few hours.

EDIT -- unfortunately, the Restaurant Game will not run on Intel Macs in OSX. It crashes when any key is pressed. It runs fine on Intel Macs through windowsXP either thru Boot Camp or Parallels.

Posted by: Jeff Orkin at February 22, 2007 10:07 AM

Ok, people with 1-button mice, rejoice! I have posted v1.1 that enables arrow key control. get it at http://www.media.mit.edu/~jorkin/restaurant

Posted by: Jeff Orkin at February 22, 2007 11:43 AM

when i try to register after the tutorial, my @-sign appears to be unabled in the interface which makes it impossible to sign-up.

Posted by: eric at March 11, 2007 03:48 AM

Eric, sorry to hear that. This sounds like it might be a problem with an international keyboard? I have not heard of this problem before. You could try different character keys to find the @. Or try temporarily setting your OS to different nationality's keyboard layout. I will look into this issue.

Posted by: jorkin at March 11, 2007 06:12 AM