• Ask me anything!

  • Latest Observations

  • Semionaut's Trail

    • Semionaut's Notebook RSS
    • Semionaut's Notebook RSS Comments
    • Semionaut's Notebook via Email
    • Semionaut's Notebook via Facebook/Networked Blogs
    • Semionaut's Notebook via LiveJournal
    • Semionaut's Notebook via MyBlogLog
  • Time Travel

  • « | Home | »

    Artificially Unintelligent

    By Corvus | July 27, 2007

    Brilliant coder I am not, but even I can tell that AI and Game AI are too separate things. Game AI primarily consists of lightweight scripts that tell things you’re shooting at when to duck, jump, or shoot back. Or if you’re Bethesda, AI consists of lightweight scripts which tell things nearby to begin discussing some random piece of gossip.

    AI, actual AI, is something much much more. It’s about learning, problem solving and adapting.

    Game AI is often used within games to make character behave in a human fashion. AI is often used to play games in a human fashion.

    Game AI is in the details. AI is in the big picture.

    Personally, I’d like to see more interaction between the two.

    Several of the previous posts have addressed this in one way or another. Troy wrote about how convincingly human “bad AI” can often make a game more enjoyable than “good AI.” Gianfranco asked why we needed good AI when accidental behaviors were more often perceived as intelligence than an actual AI routine. Chris wrote on the AI of mimicry. The general consensus seems to be that process intensive AI routine for specific on-screen behavior wasn’t convincingly human, but that the interactions caused by random happenstance are compelling and convincing.

    What this indicates to my storytelling mind is that I’m right about fabula, the user experience of a narrative, being the most critical storytelling component available to a game designer. Your plot can be minimal, your narrative sparse, but as long as the audience isn’t asleep, they’ll be completing the storytelling experience for you.

    Whenever I start talking about emulation of social behavior in the HoneyComb Engine, the eyes of anyone who knows anything about Game AI start to glaze over. They imagine complicated scripts attached to every actor, making decisions about every minute behavior–what to eat, where to eat it, what job to take on, when to go home, which pub to visit, which beer to drink, whether to be happy, sad, scared, drunk, sober, etc, etc, etc.

    But why take a bottom up approach to tell your story when you can easily ‘cheat’?

    An AI playing a chess game does not consider the board from the perspective of every piece. Rather, it looks for patterns, compares them to the patterns it already knows and makes it move based upon its “understanding” of the pattern. I see no reason not to control your world’s NPCs in much the same way. High level views of the world, moving the actors to where they’ll be most beneficial. Or least beneficial, depending on the focus on the game, I suppose. The HoneyComb Engine design currently calls for two high level AI routines. One generative, one entropic. Left to their own devices, they keep the world in a pretty good state of balance. Add the actions of player characters, however, and the added ‘weight’ can begin to dramatically swing the balance of the entire world.

    Then, when players encounter a character, the engine relies on emergent behaviors and Game AI scripts to determine pathing, actor response to the player character’s presence, mood, state of health, etc. A healthy dose of random elements and routines that fudge the numbers to best fit the pattern of the player’s story complete the experience. In this way, AI and Game AI work together to (hopefully) provide an environment that provides the player with a rich environment to feed their inherent desire to believe in the ghost in the machine.

    Tagged:, , . | 7 Comments »

    7 Responses to “Artificially Unintelligent”

    1. Patrick Says:
      July 27th, 2007 at 4:19 pm

      http://www.novamente.net/

    2. Corvus Says:
      July 27th, 2007 at 4:25 pm

      You seen these in action, Patrick, or is this your Round Table entry this month? ;)

    3. Marcus Riedner Says:
      August 1st, 2007 at 4:34 pm

      “But why take a bottom up approach to tell your story when you can easily ‘cheat’?”

      General thinking is because players will intuitively know you are cheating in some way. They’ll feel a break in the suspension of disbelief, rupturing the bubble you are trying to pull them into. I guess it depends on how you intend to cheat, through pattern recognition or some complex heuristic or both or neither. At this point I start pulling out voodoo dolls and schematic diagrams that look like I’m involved in a satanic cult.

      I wonder how important it is at all to have complex AI. Maybe it is better to crowd source the entire thing out to your community…

    4. Corvus Says:
      August 1st, 2007 at 4:36 pm

      I’m pretty sure they’ll be less aware that you’re cheating because you won’t be trying so damn hard to impress!

      And all my design work looks like the demented ravings of a 17th century occultist, so I wouldn’t expect anything less from you, Marcus.

    5. alexjc Says:
      August 7th, 2007 at 9:02 am

      I think you hit the nail on the head. Combining designer control with automated reasoning is where my interest lies also. (Unlike the more autonomous Artificial General Intelligent solutions that Novamente provides.)

      Over the past couple months I’ve been writing about this subject quite heavily on my blog. From my experience working at Rockstar and consulting, I believe it’s possible to find middleground using a system that supports search in a very flexible way, so you can do Halo-style behavior trees and solve simple goal-planning problems too.

      SOAR is a good example of this, though the implementation is not ideal for games…

      ~alexjc
      AiGameDev.com

    6. Corvus Says:
      August 7th, 2007 at 9:13 am

      Alex, how have I not had your blog in my feeds until now? Shame on me. You’ve got some brilliant stuff about character animation from SIGGRAPH in there, as well as loads of good AI talk. Everybody, go read Alex’s blog!

    7. alexjc Says:
      August 7th, 2007 at 10:53 am

      I presume it’s the same reason I hadn’t found your blog until today either! :-)

      I’m in the process of writing an entry for the roundtable, and hopefully I can squeeze it in before the deadline…

      ~alexjc
      AiGameDev.com