|
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.
|
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!
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.
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.
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?