Comments on: the A.I. is a lie I don't agree on this: - Having an AI that makes human mistake will only make the player angry. We as humans strive for perfection, so having "perfect" (inside human limits) opponents is good, because it gives us reason to keep becoming better. What we need, IMHO, is an AI that has the same limitations as a human (informations coming from it's senses, dynamic knowledge bound to it's job and emotional reactions based on character and training (so a soldier will never get influenced emotionally by losing, where a thug will)). If it's done like this no one will complain, because enemies and player have the same basis, and if the AI outsmarts the player he will not complain, just do his best to win next time. If the problem is the sheer number of enemies it can be compensated with good teammates, that can support the player. So, to make an example for a type of game I play a lot and I know: the best AI for a fighing game would be an AI with 50ms of input lag (data coming from the human player) and 150-200ms of output lag (the time a human player takes to execute a move) ad free learning and development. This way both the AI and the player are on common basis (same lag on data coming and data ongoing) and the difference that determine who will win will be smartness of play. And it shouldn't even be so hard to implement, so I don't understand why aren't they doing it... I don’t agree on this:
- Having an AI that makes human mistake will only make the player angry. We as humans strive for perfection, so having “perfect” (inside human limits) opponents is good, because it gives us reason to keep becoming better.

What we need, IMHO, is an AI that has the same limitations as a human (informations coming from it’s senses, dynamic knowledge bound to it’s job and emotional reactions based on character and training (so a soldier will never get influenced emotionally by losing, where a thug will)).
If it’s done like this no one will complain, because enemies and player have the same basis, and if the AI outsmarts the player he will not complain, just do his best to win next time.
If the problem is the sheer number of enemies it can be compensated with good teammates, that can support the player.
So, to make an example for a type of game I play a lot and I know: the best AI for a fighing game would be an AI with 50ms of input lag (data coming from the human player) and 150-200ms of output lag (the time a human player takes to execute a move) ad free learning and development. This way both the AI and the player are on common basis (same lag on data coming and data ongoing) and the difference that determine who will win will be smartness of play.
And it shouldn’t even be so hard to implement, so I don’t understand why aren’t they doing it…

]]>
By: Dylan McNamee/2011/06/21/the-a-i-is-a-lie/#comment-6285 Dylan McNamee Fri, 24 Jun 2011 15:48:33 +0000 I started coding True AI on the Amiga 1000 in July of 1993 using the Amiga ARexx programming language. Two years later I switched to Forth on the Amiga (from a Fred Fish disk) because someone doing robotics in Forth wanted to use my Amiga AI software. Then I had to switch to F-PC for MS-DOS, and Win32Forth, and 64-bit Intel iForth. Meanwhile, my most accessible AI with plenty of “I(ntelligence)” in it is the JavaScript AiMind for Microsoft Internet Explorer (MSIE). True AI is here to stay.

]]>
By: Kevin Daley/2011/06/21/the-a-i-is-a-lie/#comment-6214 Kevin Daley Wed, 22 Jun 2011 15:56:46 +0000 "simulating mistakes" is what makes someone behave "dumb". Dumb people make more mistakes. Working out the balance is the designers job. you're just stuck on terminology. “simulating mistakes” is what makes someone behave “dumb”. Dumb people make more mistakes. Working out the balance is the designers job. you’re just stuck on terminology.

]]>
By: James Podesta/2011/06/21/the-a-i-is-a-lie/#comment-6189 James Podesta Wed, 22 Jun 2011 03:56:33 +0000 there's probably some confusion about what "dumb" means. Responding to stimulus is a separate thing to me... not related to intelligence - just more of an accurate human simulation... I think modelling stimulus and having a clear model of what the AI should know is always a great situation to be in if you can afford it. Modelling sound occlusion is a big part in this.. When I say "make an AI dumb" I literally mean making the wrong decisions sometimes, or doing something that will get you killed - doing something that, if a human did it, you'd say "You idiot, don't do that! You gonna get yourself killed!". there’s probably some confusion about what “dumb” means. Responding to stimulus is a separate thing to me… not related to intelligence – just more of an accurate human simulation… I think modelling stimulus and having a clear model of what the AI should know is always a great situation to be in if you can afford it. Modelling sound occlusion is a big part in this..

When I say “make an AI dumb” I literally mean making the wrong decisions sometimes, or doing something that will get you killed – doing something that, if a human did it, you’d say “You idiot, don’t do that! You gonna get yourself killed!”.

]]>
By: James Podesta/2011/06/21/the-a-i-is-a-lie/#comment-6186 James Podesta Wed, 22 Jun 2011 03:35:58 +0000 And I think that last line is dead-on as well. The AI should be able to adapt somewhat and make complex decisions from a number of factors, but they should be simulating mistakes as well. Especially in war games, where you're talking about massive and busy playing-fields and emotionally complex settings and complicated tactics that are difficult to execute correctly. And I think that last line is dead-on as well. The AI should be able to adapt somewhat and make complex decisions from a number of factors, but they should be simulating mistakes as well. Especially in war games, where you’re talking about massive and busy playing-fields and emotionally complex settings and complicated tactics that are difficult to execute correctly.

]]>
By: Kevin Daley/2011/06/21/the-a-i-is-a-lie/#comment-6166 Kevin Daley Wed, 22 Jun 2011 01:21:21 +0000 Excellent feedback all, and thanks for the long detailed posts. please don't take some of my observations too literally, note I say I'd like enemies to be dumber not dumb, and I've specified the way's in which currently they behave too smart. There's also a lot of ways in which AI are too dumb but that's a post for another day. Raycasts/capsule casts when done Async against a limited set of collision objects can be quite cheap, and its only going to get cheaper. In terms of game play I want to be rewarded for playing the game in unusual ways, finding better tactics to win the game, if the AI don't obey basic human like flaws I can't exploit them. (I like this line now I wish I had made it the conclusion to my post) :) Excellent feedback all, and thanks for the long detailed posts. please don’t take some of my observations too literally, note I say I’d like enemies to be dumber not dumb, and I’ve specified the way’s in which currently they behave too smart. There’s also a lot of ways in which AI are too dumb but that’s a post for another day.

Raycasts/capsule casts when done Async against a limited set of collision objects can be quite cheap, and its only going to get cheaper.

In terms of game play I want to be rewarded for playing the game in unusual ways, finding better tactics to win the game, if the AI don’t obey basic human like flaws I can’t exploit them. (I like this line now I wish I had made it the conclusion to my post) :)

]]>
By: Dave Mark/2011/06/21/the-a-i-is-a-lie/#comment-6161 Dave Mark Wed, 22 Jun 2011 01:06:13 +0000 "because its just too damn expensive to be doing LineOfSight raycasts checks for everything." Depends on the game. Some games are way too renderer-intensive, focusing on every little graphical detail, to be concerned with that. But disregarding normal production AI budgets, the hardware definitely supports it. Especially with a little ingenuity; remember that you don't have to verify that every visible object can be seen, you just have to determine what important characters obviously can't be detected. Two completely different problems. "Games have created that artificial feeling of being a hero by making sure the enemies are dumb enough to kill. No matter what firepower you think you have, you won’t last long against someone with a rifle and a good aim." But most people don't want to be a hero or kill enemies easily. Otherwise they'd play the Halo single-player more often and spend less time on Live. * In fighting games, the AI goes to a lot of effort to make sure enemies only attack one at a time, and often we’ll try and get them to navigate themselves so something destructable is behind them so when you smash them they fall break and smash something spectactularly. This is AI trying to be entertaining, not smart.." But is that really entertaining to all gamers if it's always done the same way? In sum, certainly there are applications for the sort of "hey let's mow through dumb NPCs" type of game...conventional FPS's do still sell, even without much in the way of multiplayer sometimes. But be careful with generalizations: there are lots of gamers out there who are more excited by challenge and by games that break convention and distance themselves from B-movie cliches to do something truly interesting. “because its just too damn expensive to be doing LineOfSight raycasts checks for everything.”
Depends on the game. Some games are way too renderer-intensive, focusing on every little graphical detail, to be concerned with that. But disregarding normal production AI budgets, the hardware definitely supports it. Especially with a little ingenuity; remember that you don’t have to verify that every visible object can be seen, you just have to determine what important characters obviously can’t be detected. Two completely different problems.

“Games have created that artificial feeling of being a hero by making sure the enemies are dumb enough to kill. No matter what firepower you think you have, you won’t last long against someone with a rifle and a good aim.”
But most people don’t want to be a hero or kill enemies easily. Otherwise they’d play the Halo single-player more often and spend less time on Live.

* In fighting games, the AI goes to a lot of effort to make sure enemies only attack one at a time, and often we’ll try and get them to navigate themselves so something destructable is behind them so when you smash them they fall break and smash something spectactularly. This is AI trying to be entertaining, not smart..”
But is that really entertaining to all gamers if it’s always done the same way?

In sum, certainly there are applications for the sort of “hey let’s mow through dumb NPCs” type of game…conventional FPS’s do still sell, even without much in the way of multiplayer sometimes. But be careful with generalizations: there are lots of gamers out there who are more excited by challenge and by games that break convention and distance themselves from B-movie cliches to do something truly interesting.

]]>
By: James Podesta/2011/06/21/the-a-i-is-a-lie/#comment-6154 James Podesta Wed, 22 Jun 2011 00:46:34 +0000 I've often thought the same thing for the same reasons.. My opinions on all this: * AI generally is generally not modelling perception because its just too damn expensive to be doing LineOfSight raycasts checks for everything. * We often need AI's to not notice you creeping up on them. If you played Thief through the guards eyes, I'll bet $20 you could see the player's silhoette "hiding in the shadows" sometimes, but the AI has to ignore you because your little perception bar says its safe. * If AI's actually emulate human mistakes, it is often just perceived as bugs in AI - though some good animation and voice-overs might be able to sell it better sometimes.. * Getting lost would often happen somewhere where players can see them and so would not be good bang for buck - just ends up meaning the player is waiting longer for some action... that comes down to design working out if it would really be a value-add to gameplay or not. * The job of most AI is really not to kill the player - its to keep the player busy and entertained before dieing dramatically. If computer AI was as good as a trained military characters, I guarantee you wouldn't be killing more than 1 of them before you die no matter how good you think you are at FPS. Games have created that artificial feeling of being a hero by making sure the enemies are dumb enough to kill. No matter what firepower you think you have, you won't last long against someone with a rifle and a good aim. * In fighting games, the AI goes to a lot of effort to make sure enemies only attack one at a time, and often we'll try and get them to navigate themselves so something destructable is behind them so when you smash them they fall break and smash something spectactularly. This is AI trying to be entertaining, not smart.. In summary, the AI's job is to be entertaining, not Smart. These goals may not be in conflict, but more than often they are... If the AI is ever able to be shot or punched, (other than a long range sniper situation) its because its acting dumb - often deliberately. I’ve often thought the same thing for the same reasons.. My opinions on all this:

* AI generally is generally not modelling perception because its just too damn expensive to be doing LineOfSight raycasts checks for everything.
* We often need AI’s to not notice you creeping up on them. If you played Thief through the guards eyes, I’ll bet $20 you could see the player’s silhoette “hiding in the shadows” sometimes, but the AI has to ignore you because your little perception bar says its safe.
* If AI’s actually emulate human mistakes, it is often just perceived as bugs in AI – though some good animation and voice-overs might be able to sell it better sometimes..
* Getting lost would often happen somewhere where players can see them and so would not be good bang for buck – just ends up meaning the player is waiting longer for some action… that comes down to design working out if it would really be a value-add to gameplay or not.
* The job of most AI is really not to kill the player – its to keep the player busy and entertained before dieing dramatically. If computer AI was as good as a trained military characters, I guarantee you wouldn’t be killing more than 1 of them before you die no matter how good you think you are at FPS. Games have created that artificial feeling of being a hero by making sure the enemies are dumb enough to kill. No matter what firepower you think you have, you won’t last long against someone with a rifle and a good aim.
* In fighting games, the AI goes to a lot of effort to make sure enemies only attack one at a time, and often we’ll try and get them to navigate themselves so something destructable is behind them so when you smash them they fall break and smash something spectactularly. This is AI trying to be entertaining, not smart..

In summary, the AI’s job is to be entertaining, not Smart. These goals may not be in conflict, but more than often they are… If the AI is ever able to be shot or punched, (other than a long range sniper situation) its because its acting dumb – often deliberately.

]]>
By: Kevin Daley/2011/06/21/the-a-i-is-a-lie/#comment-6148 Kevin Daley Tue, 21 Jun 2011 23:25:07 +0000 I would argue that the A.I. should be smarter, just less omniscient (to your credit you say "omnipotent" but I get the gist of it). I think that current A.I. is actually very "dumb" (for the most part) - it is just given fairly good pathfinding and unrealistically good perception. The A.I should respond to sensory information (sight, sound, touch, etc), not just have an on/off switch of whether or not the player fired their gun. A "good" AI should be able to handle reasoning, knowledge, planning, learning, communication, perception, and interaction (thank you, wikipedia). Although these concepts all may seem fairly similar, they all required different algorithms to handle. For example, planning can be very difficult to handle as it revolves largely around probabilities more than hard data. Overall though, I agree with your message :). I would argue that the A.I. should be smarter, just less omniscient (to your credit you say “omnipotent” but I get the gist of it). I think that current A.I. is actually very “dumb” (for the most part) – it is just given fairly good pathfinding and unrealistically good perception. The A.I should respond to sensory information (sight, sound, touch, etc), not just have an on/off switch of whether or not the player fired their gun. A “good” AI should be able to handle reasoning, knowledge, planning, learning, communication, perception, and interaction (thank you, wikipedia). Although these concepts all may seem fairly similar, they all required different algorithms to handle. For example, planning can be very difficult to handle as it revolves largely around probabilities more than hard data. Overall though, I agree with your message :).

]]>