Gamasutra: The Art & Business of Making Gamesspacer
View All     RSS
October 23, 2014
arrowPress Releases
October 23, 2014
PR Newswire
View All
View All     Submit Event





If you enjoy reading this site, you might also want to check out these UBM Tech sites:


 
We Can't Think of Everything!
by Dave Mark on 11/11/11 10:21:00 am   Expert Blogs   Featured Blogs

The following blog post, unless otherwise noted, was written by a member of Gamasutra’s community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.

 

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.

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.

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.

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 toodeep 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 slightlymore 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.

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:

û

This post originally appeared on IA on AI on 11/11/11.


Related Jobs

Square Enix Co., Ltd.
Square Enix Co., Ltd. — Tokyo, Japan
[10.23.14]

Programmers
Avalanche Studios
Avalanche Studios — New York, New York, United States
[10.22.14]

UI Programmer
Avalanche Studios
Avalanche Studios — New York, New York, United States
[10.22.14]

UI Artist/Designer
Wargaming.net
Wargaming.net — Hunt Valley, Maryland, United States
[10.22.14]

Lead UI Engineer






Comments


Aleksander Adamkiewicz
profile image
I understand the issue at large, but the problem can be solved in other ways than making this elaborate "remove bucket from head" mechanic that is very time-intensive to graphically display.

And since you provided a concrete example, ill go with it.



The problem isn't that you can rob people, its that there is no consequence for doing so, here are some solutions:



a. treat the person with a bucket on the head as "blinded" (if skyrim has that status-effect) and treat it as an attack (like you would a color-spray spell towards an npc). I know I would see it as an attack if someone put a bucket on my head. The same could be done for NPCs being locked away in rooms or trapped in rooms by physics (imprisoned). If someone would lock you in a room in their own house you'd scream for help?



b. combine LOS with ownership, yes you can rob someone "blind" (hehe) but you will have a hard time selling the crap at a merchant. or the person will recognize their, for example, ceremonial dagger being used in your holster/hand and become hostile (things in your bagpack excluded)



plus



c. NPCs notice if something is missing and will accuse you (i mean they know their possessions), this needs not be immediate but they will recognize that when you were in their home things went missing so they will have a "suspicion" its you. They might go to the guards and report it etc.



No new assets needed in these solutions. And those are just of the top of my head.

The point is not to come up with a realistic solution for every problem, but simplify the problem and create a universal solution for it.



Its not about anticipating an exact player-action. In the case of the bucket it would have been completely impossible to predict that people would put buckets on NPCs.

Its about anticipating "what if someone -forcefully- broke line of sight to intentionally rob someone" be it by a bucket, a blind-spell cast from stealth or trapping the NPC.



I find this to not be as hard as you make it out to be, or at least not for the reasons you bring up (assets and animations).

Justin Speer
profile image
Sure, it's impossible to think of every possible way the player can screw with your game. But surely everyone involved with production of Skyrim was aware that the player would be able to freely pick up and manipulate objects.



And with similar shenanigans being possible in past Elder Scrolls games, it seems obvious that players would once again try to manipulate objects in and about an NPC's personal space. Skyrim shows a failure to address even this broad possibility.



If the designers aren't willing or able to protect the illusion of a living world by placing restrictions on the player's actions, the AI programmer becomes the last line of defense to keep the illusion from being completely shattered. When it doesn't have a response, I think it's fair to say it's a failure of AI.



Specific situations may well be tough or impossible to plan for, but even a blanket "What are you doing?" when the player is, say, rubbing food all over your NPC's face, putting a bucket on their head, or sending a goblet flying into them with a dragon shout would be more convincing than absolutely no reaction at all.

John Flush
profile image
What I think is odd is that they still haven't figured out how to mix "ownership" with "line of sight". In oblivion I felt it was fairly easy to get out of the line of sight and steal stuff. Now if only once the AI got in the line of sight of an item they know should be there and it wasn't they started demanding stuff back or called the authorities.



Take the video for example Fine they have buckets on their head - that is a big problem but lets ignore it for a second. The second the bucket fell off, the person should have known at least to ask where all the stuff went.



Add in the fact some animations aren't worth doing but the reality should still be that they fix the problem. Example: Oblivion, you went around a corner, the NPC followed you around the corner to find out what you were doing. With Skyrim it could have been equally easy to have the NPC move away from anything that you put too close to it. When doing something like this freeze the object in question. In that case bucket falls off head, might not look fully realistic, but at least that doesn't create the problem they have now which is just lame.



Regardless, I still think it is odd they haven't fixed the problem that you should knock on doors and form a relationship with people to even be allowed into the house in the first place. Anyone that just walked in my door that I didn't really know or want there would have had the cops called on them if they didn't leave within seconds. But I digress, we were talking about AI right?

Dave Mark
profile image
Some of the "social contract" stuff like not just wandering into people's houses has been addressed by Richard Evans when he was working on Sims 3. Things like messing with people's houses, sleeping in their beds, etc. was viewed as rude behavior and would negatively affect other Sims. They could have played it up more, but they didn't as a design decision. The only reason they put it in there was to have ramifications of the "rude" and "crazy" personality traits.



The problem with this sort of thing (including buckets on heads) is trying to codify these social rules. Sure, it should be obvious that putting a bucket on someone is rude and undesirable, but there are many actions that we all take for granted each day that are somewhat complicated to program.

Aleksander Adamkiewicz
profile image
Thats exactly the point, we do not need to codify the -actions- that we take for granted. We don't even need to codify social rules specifically.



We need to codify the simplified rules of behavior while connecting them with universally existing consequences.



Example



Real Life social rules:

- you do not punch people in the face

- you do not write on their forearm without permission

- you do not lock them in rooms

- you do not push them around with objects

etc.



These can be simplified into: "Don't mess with the NPCs body." universal consequence: plead for help or become aggressive (both of which would be in a game like Skyrim).



To be absolutely clear I am never going to ask this from a AI Programmer or dev, those are design decisions that should be codified by the game designer not the AI Programmer.

The full blame should go whoever designed the game mechanics, not the person who codes it.

Eric Schwarz
profile image
The fact is that the more freedom you give the player, the more you have to compensate for. For every design choice that increases the player's abilities and possible actions in the game world, the number of problems in actually creating a believable response multiplies exponentially. The more cracks you have, the more you have to fill.



How to fix this particular problem? Stop the player from picking up and dragging most objects around. Some would complain, sure, but it's not really a major feature of the game and doesn't really tie into any mechanics, story events, etc. Personally, I wouldn't miss it in the slightest.



What's baffling is that Bethesda go to great pains to prevent game-breaking actions (i.e. killing quest-relevant NPCs), but at the same time hold up freedom as being important. Choosing how much you want players to be able to screw up is definitely difficult, but ultimately I think if a player is enterprising enough to find such an exploit, I think it's fair to admit "okay, yes, you broke the game... reload a save if you want to keep playing." There's no shame in that, especially in such an open-ended game.


none
 
Comment: