IA on AI

We Can’t Think of Everything!

I admit that, despite it being 11/11/11, I haven’t played Skyrim. I don’t even know if I will be able to get to it for a few weeks. However, that doesn’t stop the barrage of information from people playing it. I am trying to avoid most of the breathy reports from my friends and colleagues around the internet. However, this one kept popping up on my Twitter feed so I figured I would take a look.

The title of this YouTube video is “How to steal in Skyrim.” When I clicked on it, I really didn’t know what to expect. I figured it was going to either be a boring instructional video or a blooper reel. I suppose it goes in both categories, for whatever that’s worth. However, it is an instructional video for game AI developers and designers alike.

What you are seeing is an attempt by Bethesda to mitigate a problem that has plagued RPGs since their inception — that of rampant stealing from houses and shops. Usually, one can do this right in front of people and no one seems to care. One poor solution was to mark objects as being people’s possessions and alert that person when they are stolen. However, that pretty much eliminates the notion that you could steal something when that person is not around…. kind of a “page 1” lesson in the Book of Stealing, really.

Every person in the game is completely cool with me just placing large objects over their head?

What Bethesda obviously did here is perform a line-of-sight check to the player. If the player grabs something that isn’t normal, react to it. In the case of the lady at the table, she simply queries the player about what he is doing. In the case of the shopkeeper, he reacts badly when the player takes something of his. All of this is well and good. However, when the line of sight is blocked (in this case by putting something over their heads), they can no longer see the player taking something and, therefore, don’t react.

But what about the reaction that should take place when you put a bucket over the person’s head? Are you telling me that every person in the game is completely cool with me just placing large objects over their head? It certainly looks that way!

The lesson here is that we either can’t think of every possible action the player could perform in the game or we simply do not have the resources to deal with it — for example, by having the player protest and remove the ill-designed helmet.

“But why would the player want to do that?”

In the past (and I mean >10 years ago), when the player’s interaction with the world was simpler, many of the faux pas would have stemmed from the former reason. We just didn’t bother to think about the possible actions. The pervasive mentality was simply, “but why would the player want to do that?” Of course, players did do things like that — but given the limited worlds that we existed in, the ramifications weren’t that huge. We were far enough away from the proverbial “uncanny valley” that we simply accepted that the simulation didn’t model that sort of thing and we moved on.

Adding one mechanic to the game could have hundreds of different possible applications.

More recently, as games have allowed the player even more interaction with the world, there is a necessary exponential explosion of possible results for those actions. That is, simply adding one mechanic to the game could have hundreds of different possible applications. When you figure that game mechanics can be combined so as to intersect in the world, the potential space of resulting interactions is mind-numbingly complex. The problem then becomes, how do I account for all of this as a game developer?

One game that began simulating this stuff on an almost too deep level was Dwarf Fortress. I admit going through a DF kick last spring and it almost killed me. (It was like experimenting with powerful drugs, I suppose.) Pretty much everything in that world interacts with everything else in a realistic way. The rulebase for those interactions is spectacular. However, pretty much the only way they can pull it off is because their world is represented iconically rather than in the modern, 3D, photo-realistic, way. For DF, creating a new visual game asset is as simple as scouring the text character library for something they haven’t used yet and making a note of the ASCII code. In Skyrim (and all modern games of its ilk), the process of creating an asset and all its associated animations is slightly more involved. Or so the rumor would have it.

Given the example in the video above, DF (or any other text-based game) could simply respond, “the lady removes the bucket and yells obscenities at you.” Problem solved. In Skyrim, they would specifically have to animate removing things from their head and hope their IK model can handle grasping the bucket no matter where the physics engine has placed it.

What occurred in the video isn’t necessarily a failing of AI.

So there’s the problem. What occurred in the video isn’t necessarily a failing of AI. We AI programmers could rather simply model something like, “your messing with [my body] and I don’t like it.” It just wouldn’t do us a lot of good if we can’t model it in an appropriate way in-game.

This bottleneck can apply to a lot of things. I could represent complex emotional states on finely graduated continua, but until the animation of facial expressions and body language can be modeled quickly and to a finer degree of realism, it doesn’t do anyone any good. No one will ever see that the character is 0.27 annoyed, 0.12 fearful, and 0.63 excited.

In the meantime, rest assured that the hive mind of the gaming public will think of all sorts of ways to screw with our game. Sure, they will find stuff that we haven’t thought of. It’s far more likely, however, that we did think of it and we were simply unable to deal with it given the technology and budget constraints.

And to the gaming public who thinks that this is actually a sign of bad AI programming? Here… I’ve got a bucket for you. It looks like this:


Tags: , , , , ,

13 Responses to “We Can’t Think of Everything!”

  1. Ali says:

    Skyrim is still badass.

  2. Nate says:

    Too bad more gamers don’t realize this advantage of low-end graphics.

  3. Kevin Daley says:

    “No one will ever see that the character is 0.27 annoyed, 0.12 fearful, and 0.63 excited.”

    True, but it can provide a powerful tool for unique behavior selection anyway.

    • Dave Mark says:

      Agreed. Considering I wrote an entire book on this, I am a large proponent of this sort of emotional tracking. However, the problem comes when you want to take these fuzzy values and “de-fuzzify” them into concrete actions. There may be 2 choices, 3 choices, 20 choices, etc.

  4. Mika Rautiainen says:

    “Adding one mechanic to the game could have hundreds of different possible applications.”

    I don’t think that exploding possibility space is a good explanation for NPCs lack of self awareness in these situations. There are plenty of heuristics that would create much more useful consequences for unlawful play archetypes. E.g. lowering disposition towards PC if moving objects (that are being manipulated by the PC) are colliding with the neutral NPC.

  5. Paul Tozour says:

    I think the problem with Skyrim, as with all the Elder Scrolls games, is that the game is so insanely open-ended that it would really take a huge AI programming team to do the design justice.

    It’s not that the AI is poor; it’s that it lives in a design with ridiculously ambitious requirements compared to any other game on the market.

    Their AI team has clearly grown in skill and size over the years, and the AI is better with each iteration of the Elder Scrolls games, but there’s still so much left to be done.

    There’s nothing technologically holding the game back from having much better AI.

    I think it really comes down to production & budgeting — they need a bigger team, more time, and a bigger voice/animation budget.

    I’d really like to see BethSoft get to the point where they allocate enough resources to their AI to do all of this stuff justice … and I’d like to see consumers get to the point where we demand it.

  6. Paul Tozour says:

    Also, I haven’t played Skyrim yet (dying to, but I’m too busy), but it occurs to me that it really would not be too difficult for Bethesda to make one generic NPC reaction to inappropriate behavior — “What the hell are you doing! That’s completely inappropriate!” or something like that.

    That would let them de-couple the AI that detects inappropriate behavior from the NPC reactions to it, and serve as a catch-all for any and all behaviors that do not fit the expected social norms, like placing pots on people’s heads or what have you.

    • Mika Rautiainen says:

      Why I am not to fascinated with this AI “non-feature” is that the stealth play suffers after your sneak skill increases above NPC perception skills.

      In Oblivion (and now in Skyrim, I suspect) it was possible to concretely push NPCs around if your sneak value was above their perception skills. I proposed and collaborated with a modder who developed a routine that used proximity value to apply sneak penalties when the character was at the low proximity of any NPC. Needless to say it increased sneak immersion by tenfold at least.

      • Paul Tozour says:

        You mean you could actually touch them while stealthed and they wouldn’t notice?

        Honestly, that sounds like an AI bug to me. It ought to react to that.

        • Mika Rautiainen says:

          It didn’t in Oblivion if your skill was higher and you were unnoticed by the NPC. I don’t know about Skyrim yet but this makes me suspicious that it hasn’t been fixed. I wish someone could correct me wrong. I’ll see it myself after I have finished upgrading my system.

Leave a Reply