The Game Developers Conference has always been known as a place to go learn things about the industry and the technology. It is also a prime arena to put timely concerns out in the open for like-minded people to kick around a bit… A place to ask questions and to hopefully get answers. However, sometimes those questions don’t get answered completely — even in a roundtable setting.
This year’s GDC provided an example. In the first AI Roundtable of the week (notes & audio), the conversation quickly turned to what bordered on a gripe session.
We had been talking about the pros and cons of “emergent behavior” (look past the point that the term seems to have a rather amorphous definition lately). I summed it up with what I admit was a leading question designed to stir things up somewhat (34:00 in the audio):
“Two things have been touched on in a very similar vein: One, emergent behavior [annoys] the testers. And two, not having absolute dictatorship control over individual units [annoys] the designers. They want that specific thing to do this exact thing ‘until I’m done with it and then you go ahead and do whatever you want.’ So how much of a battle are we fighting, then, because people are afraid of testing emergent behaviors or afraid of yielding up control to and AI ‘black box’ system?”
There were a number of thoughtful comments and answers to that. One, for example, pointed out that our job is to enable the designers to do their job. However, that was countered later by a comment that designers often don’t realize what we can do to make their jobs easier until we educate them. Adam Russell (ex-Lionhead, now back in Academia), in a self-admitted shameless plug for one of his articles for the new “AI Game Programming Wisdom 4″ (37:57 in audio), commented that maybe his article was a bit harsh in attacking designers by claiming that they needed to move away from total control. Instead he suggested that:
“…both sides need to move away from their heartland into a more integrated approach. Designers need to be more procedural in their thinking and AI people need to be more up for supporting authorship.”
Can’t Everyone Just Get Along?
The result of this, of course, would be in order to facilitate the communication. In a sense, educating the designers and expecting them to think more procedurally, as Adam mentioned, would enable the AI programmers to do their jobs. In fact, much of the ensuing conversation was about facilitating conversation between team members — whether it be open and mixed workspace environments or simply better defining the pipeline of ideas.
With regard to testers, those comments tended towards the notion that, “emergence means you just can’t test everything.” And, given that premise, emergence is going to be something that the QA (and the rest of the team) is going to have to live with. An example was that of a sports game (there was a “FIFA” guy in the house). There are basically 22 independent agents on the field at all times, each doing their own thing. And they aren’t simply background characters, either — they are the characters. There is no way to test all the possibilities. The only thing you can do is to have QA report things that just look outright stupid if and when they occur.
Everyone’s a Designer
In the end, one statement rung out over them all. “We are all designers.” At least to some extent or another. Whether it be artists, scripters, voice actors, engine programmers, physics programmers, or AI programmers, we are all responsible for presenting some portion of the final product to the consumer. Therefore, the notion that a “designer does the design and programmers do the programming” is rather arbitrary. Programming requires us to design the algorithms that actually give purpose to the code. Likewise, as Adam mentioned, it is up to the designers to assemble their thoughts and ideas into something that, in a vague sense, resembles pseudo-code. (”The monster will do this and, if this is in effect, will proceed to doing that.”) Job descriptions amongs the team begin to look more like Venn diagrams at that point. John Abercrombie (2K Boston - AI lead on BioShock) talked about how their team all sat in large intermixed groups of artists, designers and programmers. That way, they could listen to each other’s issues and offer suggestions on problems as a group.
So, to warp this into this week’s discussion column… close your eyes for a minute and imagine you were there in the roundtable that day (again, you can use the audio file to put you in the mood). Now, let me pose the question to you:
With AI becoming so much more important for the experience of the gamer, how do we bridge the gap between AI programmers and designers? How do we assemble systems that perform the requirements of those designers but also goes beyond the canned scripting to make for a living, dynamic, immersive world. How do we do all of this without causing QA to go on strike (or QA to strike us)? Or, in the spirit of the GDC slogan, how do we enable our teams as a whole to “make better games?”