each year that I attend the conference (I have attended 14
of the 16 conferences that have been held so far) there are
conflicts with sessions, networking opportunities and just
the sheer magnitude of the conference, which prevents me from
attending all the great sessions that I am interested in.
I am most disappointed about being unable to attend "Design
Plunder" (lecture by Will Wright) and "Those Darn
Sims: What Makes Them Tick?" (lecture by Jamie
Doornbos), both which discussed The Sims game AI.
That being said, I was able to attend many other excellent computer game AI related sessions. The following represents the perspective I obtained, from the computer game AI related sessions I did attend during the recent GDC 2001 in San Jose.
Tuesday, March 20, Tutorial:"Artificial Life for Computer Games"
This tutorial was an update from the tutorial by the same name, presented first at last year's GDC. The same speakers were present: Bruce Blumberg, John Funge, Craig Reynolds and Demetri Terzopoulos. With its focus on applications of artificial life techniques, this tutorial offered the new-to-ALife attendee a comprehensive look at some of the research work of these noted ALife experts.
Since I had sat through the same entire tutorial last year, and from attending the first hour of this year's tutorial, and having a conflict with another tutorial at the same time, I can only comment on one speaker's presentation. That speaker was Bruce Blumberg who described the latest status of the work on virtual creatures done by the Synthetic Characters Group at the MIT Media Lab. Specifically, Blumberg reviewed the status of the research and development on Duncan, a virtual dog that behaves autonomously. In a session to be held later in the conference (that I discuss later in this report) two of Blumberg's students presented more detail regarding the architecture and development of Duncan.
Duncan, a virtual dog that behaves autonomously, created by the Synthetic Characters Group at the MIT Media Lab.
I had to dash off to the conflicting tutorial, I was not able
to attend the presentations by Funge, Reynolds or Terzopoulos.
So, I can only speculate that Reynolds offered an update of
his work with steering behaviors and flocking (for which he
is credited with being the "Father of Flocking")
and probably demonstrated his hockey game application of these
low level behaviors. Also, I would suggest that Terzopoulos
provided an update of his work with physics based locomotion
Tuesday, March 20, Tutorial: "Cutting Edge Techniques for Modeling & Simulation III"
This is the tutorial that conflicted with the Artificial Life for Computer Games tutorial and was a presentation by Roger Smith, of the status of techniques used in military simulations. I had missed the GDC 2000 version of this tutorial because I had sat through the complete Artificial Life for Computer Games tutorial for GDC 2000. [As I mentioned in the beginning of this report, the sheer magnitude of the GDCs means that conflicts arise in what sessions a person wants to see.]
Much of the first part of this tutorial, was more relevant to game design (primarily war game, flight sim and FPS game design) as Smith went into some detail regarding the history and design of military training simulations. In doing so, Smith presented some interesting parallels between game and simulation development. Smith further reviewed some code models, interface specifications and object declarations found in use in today's military simulations.
As Smith discussed modeling concepts, many of his examples came from The Sims computer game by Maxis, which was the most successful sim game released last year. And as he presented an AI Vehicle Movement Model, I found myself relating to my own current work in developing an artificial driver for a soon-to-be-released Trans-Am car racing game.
Many of Smith's examples came from The Sims.
Probably the part of the presentation that related the most widely to computer game AI was when Smith reviewed behavioral modeling. The design needs of an intelligent agent for a military simulation are very much like those for most computer games (where behavior is to be expected to appear intelligent). During this part of the presentation, Smith reviewed: simple reflex agents, goal-based agents and utility-based agents (all of which I personally have seen in use in computer game AI implementations). Smith further discussed finite state machines (both in singular and hierarchal usage), expert systems, Markov chains, constraint satisfaction and fuzzy logic. All of these concepts are widely used in computer game AI development. (Well, maybe not hidden Markov chains.) Perhaps the best take-away for an AI programmer attending this tutorial, was the opportunity to see a variety of techniques "and how they were being used" in the way the military designs and implements its training simulations. As a result, this was certainly a tutorial well worth attending, for this AI programmer.
Tuesday, March 20: 4th Annual AI Programmers Dinner
Fast becoming a GDC institution and tradition, is the Annual AI Programmers Dinner hosted by Neil Kirby, Steve Woodcock and myself. Four years ago, at the only GDC held in Long Beach, we (the "Three AI Guys") decided that an informal gathering of AI programmers and those game developers interested in AI was needed, and so the AI Programmers Dinner was born. From that first gathering, each dinner has been fun and enlightening. Complete AI systems have been designed and dissected on napkins and tablecloths during the event. All manner of computer game AI questions have been posed and answered and then refuted during the dinner, all in a good natured and community spirited manner. At this fourth AI Programmers Dinner, we enjoyed Italian/American cuisine at Milos Restaurant in the Crowne Plaza Hotel with 42 developers and AI programmers. And rumor has it, that the fifth AI Programmers Dinner during the GDC 2002 will be held at a popular San Jose Chinese restaurant. So, if you are an AI Programmer or interested in informal discussion about computer game AI (and can pay your share of the bill) then make your plans to attend this event during GDC 2002. I know I will!
The 4th Annual AI Programmers Dinner.
Wednesday, March 21, Tutorial: "Artificial Intelligence: Tactical Decision-Making Techniques"
This tutorial by John Laird and Michael van Lent was worth the price of admission for the new computer game AI programmer, all by itself. The first part of the session was a review of many of the traditional AI decision-making techniques: finite state machines, decision trees, fuzzy logic, neural networks, genetic algorithms and others. Even though I'm familiar with all of these techniques and have used most of them for one aspect or another of a computer game AI or test bed, it is still good for me to attend a review such as this. For the new computer game AI programmer or someone just becoming familiar with computer game AI, this review would be an invaluable summary of all the tools available to be used in developing computer game AI.
Using the work Laird and van Lent have done for developing a SOAR-based NPC control process for bots, using Quake II as a backdrop, the speakers presented these various techniques and how they related to computer game AI, then analyzed each technique for its strengths and weaknesses and provided references to more information on each technique.
The section of the tutorial that covered planning was especially interesting to me, as the speakers described the planning process of a bot playing Quake II. Various selection criteria were reviewed, and multi-step look-ahead techniques were suggested. Since my AI development tends to produce agents that are very goal-oriented (a component of planning) this section was very relevant to me.
The speakers concluded the tutorial with a presentation of components of their SOAR-based Quake bot work. During this section a variety of 'bot behaviors were described and the SOAR approach presented. What stood out for me, within this section, was the approach by the SOAR-based bot to anticipate its enemy's actions.
While this tutorial was interesting and enlightening, I am sure I still would be fragged if I encountered the SOAR-based bot in a death match, despite now knowing more about the processes that it uses to make decisions.