It's a follow-up of sorts to the discussion on @Carnivius status update here. Generally, he mentioned that in some cases making "perfect AI" is easy and how to make it "stupid". I think the topic of artificial intelligence in general opens up quite an opportunity for discussion, hence this thread.
One thing I find interesting, is how to make artificial intelligence credible; as in, make it appear that the computer-controlled characters feel like more or less real people, with their imperfections (that is, if the characters are people in the first place). @NazGhuL suggested making some "random" failures or making delayed reactions, I added a bit of inaccuracy (which might work with shooters) in place of perfectly aiming for the player. I guess these sorts of imperfections would work in the action games.
Aside from imperfect capabilities there's another room for credibility in ignorance. The general idea is, while the computer has the access to the entire game state, a credible AI shouldn't have that knowledge unless justified. People who played Final Fantasy games might recall an ability called "Scan" that allows checking opponents stats etc. - such a skill is useful because these stats aren't initially known to the player. At the same time, the opponents don't use that skill on us; maybe because they are too dumb to make use of it, anyway (picking one of their available moves at random).
What I think would make for a credible and interesting AI is it acting like not knowing the player characters when meeting them, using Scan-like abilities during the encounter and using the newly acquired knowledge against the players (e.g. aim player characters with status effects it knows they're weak against, or give up status attacks altogether if it sees the given character is immune). That is, if the AI is supposed to be a person; I don't think random monsters are expected to have particular tactical insight, and in such case they'd be more credible just using whichever attacks comes first to their mind.
So, any other thoughts on designing AI?
One thing I find interesting, is how to make artificial intelligence credible; as in, make it appear that the computer-controlled characters feel like more or less real people, with their imperfections (that is, if the characters are people in the first place). @NazGhuL suggested making some "random" failures or making delayed reactions, I added a bit of inaccuracy (which might work with shooters) in place of perfectly aiming for the player. I guess these sorts of imperfections would work in the action games.
Aside from imperfect capabilities there's another room for credibility in ignorance. The general idea is, while the computer has the access to the entire game state, a credible AI shouldn't have that knowledge unless justified. People who played Final Fantasy games might recall an ability called "Scan" that allows checking opponents stats etc. - such a skill is useful because these stats aren't initially known to the player. At the same time, the opponents don't use that skill on us; maybe because they are too dumb to make use of it, anyway (picking one of their available moves at random).
What I think would make for a credible and interesting AI is it acting like not knowing the player characters when meeting them, using Scan-like abilities during the encounter and using the newly acquired knowledge against the players (e.g. aim player characters with status effects it knows they're weak against, or give up status attacks altogether if it sees the given character is immune). That is, if the AI is supposed to be a person; I don't think random monsters are expected to have particular tactical insight, and in such case they'd be more credible just using whichever attacks comes first to their mind.
So, any other thoughts on designing AI?