March 15, 2008

Game AI U?

I was catching up on the activity on this blog not long ago, and I read through the awesome thread that Adam started on Industry/Academic collaboration, and it occurred to me that I’ve never seen discussed here one of our industry’s biggest recent trends: the rise of the game schools – the Digipens, the Full Sails, the DeVrys. Even many of the standard 4-year schools are now offering full Game Design and Game Development degrees, or at the very least courses in these areas. Bungie had a recruiting booth at GDC this year – first time we’ve done it – and I think we were all surprised by the number of students coming out of such programs.

I was particularly surprised by the number of visitors we had who cited AI as their main focus of interest. The point was driven home at the AI programmers dinner when one of the Full Sail guys said something to me like “… and of course, everyone wants to do graphics or AI, those are the sexy fields…” Wow, really? When did THAT happen?

Well that’s pretty cool, and I think there are a lot of signs that point to the growing maturity of this academic niche.

I just have one worry: I talked to a lot of students at GDC who cited A*, steering behavior, neural nets, etc. as proof of their AI expertise, but I’m concerned this might point to a case of academic over-fitting. Those things are well and good, but they’re also relatively straightforward, in and of themselves, and very SPECIFIC. If I had to choose between someone with experience with those particular tools of the trade and someone else with a generally stronger math and CS background, I would always choose the latter. Of course no one says you can’t have both, and I’m sure that’s what the game schools are aiming for. And clearly, in the spirit of Adam’s thread, it’s also incumbent on us in the industry to continue to prod the game schools to teach what we need learned.

I would be interested in hearing about other peoples’ more direct relationships to this topic, whether grads who moved from a Game AI-oriented curriculum into the industry (do you think it prepared you appropriately?), industry people who’ve worked with some of those grads (do you see holes in the education they’re getting?), or maybe industry people who are now teaching. Steve Rabin, are you out there?

Post-script: my HIGHLY UNINFORMED IMPRESSION is that animation engineering is an area that is sadly neglected by the game curriculae right now (isn’t good AI is at least 75% good animation, after all?). Does anybody else get that feeling?

Posted by naimad at 08:33 PM | Comments (10)

March 03, 2008

Slides and Further Thoughts on Building Better Battles

We finally got the slides for my GDC talk up on-line in a format other than the ultra-elitist powerpoint 2007:

http://www.bungie.net/images/Inside/publications/presentations/betterbattle.zip

That ZIP file contains a .ppt and .pdf, so take your pick. Unfortunately you get EITHER the correct fonts (pdf) or the correct animations (.ppt) but not both!

In the meantime, I thought I would take this opportunity to give a little more background on the development of the Objectives System.

First of all, the story of Objectives really begins back at GDC 2005, when a couple members of the Bungie design team saw my talk on (among other things) Behavior Trees. Shortly after we had gotten back to Seattle, we started discussing what the replacement for Halo 2 “Orders” (the FSM-based “Imperative” approach described in the talk) would be. I believe the first person to explicitly suggest an adaptation of the Behavior Tree structure was Jaime Griesemer (he tends to be the forgotten half of the classic “Illusion of Intelligence” presentation at GDC 2002 – everyone remembers the Chris Butcher half, but the presentation was by Butcher AND Griesemer!) – he argued that tasks could be decomposed and sequenced in much the same way that behaviors were, and furthermore the tree structure seemed an intuitive representation to him. As no one had any objections, we went ahead with some UI mock-ups, and soon after that, some prototypes (including the “3 Generators” encounter described in the paper, though it unfortunately never made it into the final game).

Let’s be clear about one thing: I didn’t think it would work. Or to be more specific, it was clear that it could be MADE to work from an algorithmic point of view, I just thought the interface as a whole was going to be too complicated for designers to work with. I didn’t think they’d find it an intuitive way to break down the narrative of an encounter, nor did I think it would be particularly easy to inspect what was going on and diagnose problems. Finally, I never thought they would be willing to “abdicate their decision-making authority,” a process that the system more or less demands.

Thankfully I was wrong, and I guess I mention it in order to try to convince you, in case you’re thinking “no way, my designers would never go for that”, that I said the same thing, and maybe your designers WOULD go for it. Granted, that one of the advantages we have at Bungie is a design team that is VERY technically-oriented (we count ex-mechanical engineers and ex-aeronautical engineers among them. Jaime himself is an ex-physicist). Nonetheless, if your designers can learn a scripting language like Lua or Python, they can certainly learn to efficiently use Objectives.

Why DID Objectives work? Certainly some of it comes down to common sense production stuff: we aggressively front-loaded the system schedule-wise, and we invested some real time in the development and refinement of the UI (if you can believe it, the “Orders” system of Halo 2 had NO dedicated UI work done on it – this system was built on top of our generic “tags” interface, akin to a glorified XML viewer). The fact that the system and UI came on-line so early meant we had LOTS of time for iteration, for training designers, and for developing encounters from prototype to ship.

I happen to think that there’s more to it than that. An interface paradigm is generally not going to be very good unless it matches to some degree or another the mental representations inside the user’s brain, so if the designers in the end found the Objectives system useful, it may be because the system matches to some extent the way they already think about structuring coordinated action like a battle. I think, again, you can contrast it with the UNstructured FSM (“imperative”) approach, which is a headache and a mental hurdle once you get above a certain complexity – the lack of structure very quickly starts to work against you.

And certainly, the encounters built by the various designers on our team LOOKED different, Objectively speaking (heh heh). Some of the designers, like Paul Bertone, who built the space in the video shown at the talk, tend to script the AI rather tightly, while others use Objectives as looser guidelines for how the AI should move about a space. Once again, I think it speaks to the expressivity of the system that it allowed various users to adopt their own very different individual styles.

Most of all, I think Objectives are a reasonably elegant example of “transparent decision-making.” The technique is very simple, and yet it is quite expressive AND it never takes more than a few seconds of inspection to answer the question “why are my guys doing THAT?” That’s going to have to be true of ANY AI system which you put into the hands of your designers.

Posted by naimad at 08:15 PM | Comments (11)