Latest News
spacer View All spacer
 
November 21, 2009
 
Video Game Watchdog National Institute On Media And The Family Shutting Down [10]
 
Modern Warfare 2 Infinity Ward's 'Most Successful PC Version' Yet [7]
 
New Tech, Design Details Of Project Natal To Emerge At Gamefest In February
spacer
Latest Features
spacer View All spacer
 
November 21, 2009
 
arrow Upping The Craft: Susan O'Connor On Games Writing [5]
 
arrow Small Developers: Minimizing Risks in Large Productions - Part II [6]
 
arrow iPhone Piracy: The Inside Story [48]
spacer
Latest Jobs
spacer View All     Post a Job     RSS spacer
 
November 21, 2009
 
Sucker Punch Productions
Network Programmer
 
Sucker Punch Productions
Character Artist
 
Sucker Punch Productions
Texture Artist
 
Sucker Punch Productions
3D Environment Artist
 
Sony Online Entertainment
Brand Manager
 
Monolith Productions
Sr. Software Engineer, Engine - Monolith Productions - #113767
 
Crystal Dynamics
Sr. Level Designer
 
Gargantuan Studios
Lead World Designer
spacer
Blogs

  About Wanting What You Already Have.
by Gabriel Lievano on 06/10/09 02:16:00 pm   Expert Blogs   Featured Blogs
5 comments
Share RSS
 
 
  Posted 06/10/09 02:16:00 pm
 

Artificial Intelligence is every day getting smarter and smarter.  Not only it is simulating precise behaviour and calculations but also making intelligent mistakes so players think the computer is more like them and less machine.  However there's more to Artificial Intelligence than making the computer to simulate human intelligence (including our logic and analitical mistakes)... there's also the simulation of the marvelous human stupidity!

I was just thinking about a common sense action very common in Artificial Intelligence: searching.  The first idea when you think about searching for something is about the most intelligent way for you to find that thing in the most optimal way.  However this have been studied a lot in Artificial Intelligence and I will think mor about the "thing" that I will be looking for. 

In games is very common for an artificially controlled character to know exactly what he is looking for.  If he doesn't know what it is he is looking for then there will be very specific parameters to help the character decide which thing to search for.  These parameters vary from very simple, specific, and concise (such as saying: always look for the key) to more complex and abstract (such as saying: look for the perfect job for you). 

The second example about the perfect job is complex because it asks for personality, environment, social background, skills, ... and a lot of other factors to decide which is best (king of how it works in The Sims).  The thing here is that all these calculations made in order to choose which desicion is right for the virtual character are based in what we think is obvious to choose given the circumstances... but the fact is that we humans are not always that obvious.

The reason why we are not that obvious is because we sometimes tend to look for things we already have.  Is actually common sense... you don't look for things you own.  If you need to know why, it's because you already looked for it and you already found it.  The reasoning behind all the looking for things you already have is that it's human nature to look for something, it doesn't matter what it is. 

The StandBy state doesn't exist for us, there's this thing we call "The big struggle for happiness" and it consists in looking for happiness until you die because you can never achieve it completely.  So you may think that this is not always true and maybe you're right (after all this is more a philosophical subject than any other thing) but the deal is that it must have something of truth in it since it have been thought so many times.

An example for this not-logical kind of thinking is the search for love.  Some people look for love, they get a lovely girlfriend/boyfriend, fall in love and get married... after a while they get bored, they start saying that they haven't found love and get divorced, in order to continue their search.

Back to games, let's call for a Stealth game example for this.  How many times have you seen a guard searching further for a possible enemy?  Probably the most common behaviour for a Stealth game guard is to have a predefined path, search places where he heard noises or saw something, and shoot if he sees you (or something significant enough to shoot at).  There may be some random delays for certain states, such as resting, patroling, standing by, acting unaware... but nothing goes beyond this intelligently way of always knowing what to look for. 

So what if the guard wanted to shoot the shadows just because he couldn't find enough stillness? What if the sim suddenly destroyed his bed because he can't find sleep? ... or what if the soldiers went out to the enemy base just because they couldn't find enough security in their own base?  What I mean is... if what we want is to give a human approach to Artificial Intelligence, why can't we see this kind of behaviour mistakes?  It is not common but still... it happens and could give some unpredictable fun to the game.

 
 
Comments

Robert Schmidt
profile image
Boredom is what prevents us from getting stuck in local maximums. It is why we don’t want what we already have.

I personally haven’t seen examples of AI being too smart. I have seen AI knowing what they shouldn’t know, for example, I set off a radio controlled bomb from a kilometer away and AI starts shooting directly at me… That isn’t smart; it is just the result of a cheat used to simulate intelligence.

Certainly Extended Behavior Networks hold the promise of endowing AI with life like motivations but adding more and more goals and behaviors seems to suffer from the curse of dimensionality. On the other hand, often large groups of people seem to be acting with a single intelligence as evidenced by the traffic during my morning commute. Still, it only takes one individual to deviate slightly from the norm and decide to read his/her crackberry while talking on the cell, eating breakfast and lastly driving, for the laminar flow of traffic to suddenly become turbulent! So, the load on AI could be as simple as driving a straight line or as complex as navigating a path through high speed, randomly moving particles, while trying not to spill your coffee. In both cases the more the NPC does what is expected, the more the player is willing to suspend disbelief.

As to the idea of predictability; ideally the game is unpredictable to the player but predictable to the developer. Often it seems to be the other way around but intentional unpredictability would be very difficult to code and even more difficult to test. It is true that stupidity is highly unpredictable, even from the people you expect it from. I don’t think it makes the world a richer place though so I doubt it would improve the gaming experience. Having my squad spontaneously perform the Rver Dance while sneaking up on the enemy would not result in me saying, “how wonderfully stupid the AI is!” On the other hand, we all make mistakes that are not as a result of stupidity (as I keep trying to tell my boss), but as a result of incomplete or erroneous information. Differences in priorities and values can also be modeled to add greater variety to NPCs' behavior without the need to resort to pratfalls.

Ultimately the player has to want it. More specifically, they have to want to pay for it. It’s easier to put stunning graphics on the box than complex personalities. How do you sell that? Since intelligence is a massively parallel phenomenon; it seems that modern video cards might hold the key here. Once we offload AI to the G/P/AI-PU we could then have a slider in our options section that allows players to choose between AI and Graphics…and physics I guess. Some might go for the eye candy; others might want the challenge of wits. Kinda of sounds like dating!

Gabriel Lievano
profile image
I appreciate a lot your comment Robert. I do agree that there is some kind of artificial intelligence in games that I wouldn't call exactly intelligence. As you say is just a cheat used to make the game harder or easier without having to go around programming a sophisticated Neural Network. However there are games making their best to simulate an humanly intelligent character, and one of the things AI engineers are trying to do is simulate human mistakes that as you say are made as a result of incomplete or erroneous information.

Now you got a point when you say stupidity wouldn't make the gaming experience better. What I think is that stupidity would make the gaming experience richer depending on the type of game. I mentioned The Sims as an example of a game using complex decisions for its NPCs because is probably the type of game that would make best use of stupidity. In fact the whole idea of an NPC doing a stupid thing would be for it to do it in a moment unpredictable for everybody (including the developer) but these shouldn't just happen randomly but as I said they should be triggered by some kind of reaction. The reaction I suggested is the search for something already obtained.

I think this type of add on to an AI system is very specific for certain types of games. I say this now because I agree with you... predictability on a game is better since it doesn't make it so frustrating.

Blake Nicholas
profile image
Pretty sure in Metal Gear they've done the shoot into the unknown thing before.

I also find it funny that smoke nades totally make a wall no bullets can get past in COD games. In real life they'd just shoot right through the smoke not caring that they couldn't see who they were shooting at.

Dan Robinson
profile image
@BN - The AI is only reacting to the fact that it can't see anything to shoot at until the smoke "clears". If you get close enough to an enemy it will attack even in the smoke. Your AI teammates react the same way.

Luis Guimarães
profile image
Human have mental patterns for almost everything. We know if a smoke grenade drops somewhere, it has been thrown for somebody, for some (useful) reason, so try some shots through smoke, or take a position against the utility of that smoke for the enemy, or trying to use it in your advantage is human behavior. AI for FPS games is probably the most complex that can be made, as much as the game allows creativity, harder to make the AI to play as a human player. In fighting or RTS games the AI is just too hard or too easy, too quick reation or too cheater to guess where you are and what you're doing. In FPS things are diferent, even in 3rdPS is it more complex than other games.

That's why I think a good way to make AI act as human is giving it and entity, such as learning from players, compile to server, and update to clients around the world, and keep updating. Even if it does need some human touch to compile, adapt or simplify the translation of the colected information into new solution/choices/behavior patterns. It could work well, getting the AI better. Doesn't human players get better and creative by playing on internet?


none
 
Comment:
 


Submit Comment