Life-Like AI vs Good AI

Discuss Artificial Intelligence and Bot programming.

IS Life-Like AI Better Always? Post a Reply with reasoning, please.

Yes
3
27%
No
8
73%
 
Total votes: 11

Team Xlink
Posts: 368
Joined: Thu Jun 25, 2009 4:45 am
Location: Michigan

Life-Like AI vs Good AI

Post by Team Xlink »

The Goal of AI and Bots are to make a computer opponent that behaves like a human opponent.

Life-like AI isn't always good ai.

For example, these are some examples that I have seen while playing with friends.

If someone is typing a message we don't kill them.

If someone is trying to do a glitch, get outside the map or do something else thats related. we generally don't kill them because its usually hard to do and getting killed and restarting isn't fun.

If someone is lagging horribly we don't take advantage of it.

If someone is AFK, changed their name to AFK or said in the chat they would be afk, don't kill them, unless they say "I don't care if you kill me when I'm afk" thats what I usually do.

If someone is playing badly we generally don't try as hard, this part is more related to fuzzy logic.

Do you agree, why or why not?

Thank you.
frag.machine
Posts: 2126
Joined: Sat Nov 25, 2006 1:49 pm

Re: Life-Like AI vs Good AI

Post by frag.machine »

Team Xlink wrote:If someone is typing a message we don't kill them.

If someone is trying to do a glitch, get outside the map or do something else thats related. we generally don't kill them because its usually hard to do and getting killed and restarting isn't fun.

If someone is lagging horribly we don't take advantage of it.

If someone is AFK, changed their name to AFK or said in the chat they would be afk, don't kill them, unless they say "I don't care if you kill me when I'm afk" thats what I usually do.

If someone is playing badly we generally don't try as hard, this part is more related to fuzzy logic.
You sir, obviously is a bot with an horribly written AI.
Where' the link in your signature selling stuff ?

<serious>
Good game AI != perfect AI, but not for the reasons you pointed.
If someone manage to create an artificial opponent with too good AI, human players will get pissed off and just give up playing. Good AI for games must represent some challenge, but something that most people can surpass after a few tentatives. Everyone will hate a too smart monster.
</serious>
I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC :) (LordHavoc)
mankrip
Posts: 924
Joined: Fri Jul 04, 2008 3:02 am

Post by mankrip »

A fair AI must, to some extent, teach the player on how it can be beaten, by providing some cues and teaching new skills according to the player's progress.

A good AI requires fairness, some common sense, creativity (unpredictability goes here), a reasonable level of accuracy, and must have the same limitations as any player (such as not being able to see what's behind itself).

And a lot more.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
Sajt
Posts: 1215
Joined: Sat Oct 16, 2004 3:39 am

Re: Life-Like AI vs Good AI

Post by Sajt »

Team Xlink wrote:original post
I don't understand what these etiquette points have to do with "life-like AI vs good AI". If by "life-like" you mean the AI is not simulating a creature in the game world, but is simulating a player at a virtual mouse & keyboard playing a game controlling a creature in the game world, then I guess life-like is good, in the context of bots. That would include etiquette as well as simulating mouse movement instead of doing view angles directly, and so on. (And you could even simulate running out of mousepad room, picking up the mouse and replacing it on the mousepad!)
F. A. Špork, an enlightened nobleman and a great patron of art, had a stately Baroque spa complex built on the banks of the River Labe.
Electro
Posts: 312
Joined: Wed Dec 29, 2004 11:25 pm
Location: Brisbane, Australia
Contact:

Post by Electro »

It really depends on the context. For multiplayer where you're meant to be playing against humans (eg. bots), then obviously making them as human-like as possible is the goal. For single player games with specific enemies, it's all about "good" ai, where the definition of good, is defined by how much it behaves like that specific creature is meant to, not necessarily just good aim. There really is a lot involved, not necessarily something that can be simplified as much as the vote here, I see what you mean though.
Benjamin Darling
http://www.bendarling.net/

Reflex - In development competitive arena fps combining modern tech with the speed, precision and freedom of 90's shooters.
http://www.reflexfps.net/
mh
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am

Post by mh »

Good AI can work both ways too. Some players can be bad, some monsters can be stupid, and good AI should be able to simulate that, for variety if for no other reason (endless repitition of "Jesus Christ the same yesterday, today and foreverrrrrrrr" can get wearying after a while - a frequent problem I find with games that promise advanced AI).
We had the power, we had the space, we had a sense of time and place
We knew the words, we knew the score, we knew what we were fighting for
mankrip
Posts: 924
Joined: Fri Jul 04, 2008 3:02 am

Post by mankrip »

Well, even though many PC gamers hates Halo (and I have never played it), this article about its AI seems to have a lot of really good points about making a more natural AI system.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
Sajt
Posts: 1215
Joined: Sat Oct 16, 2004 3:39 am

Post by Sajt »

Sorry if this post is long-winded but that article had FORTY-TWO @#$%^ points.

I don't agree with (or want to comment on):

#2 - Maybe you can fool idiots (common riff-raff game players, average IQ in double digits) by upping hitpoints, but I don't make games with them in mind. (It was immediately apparent that Halo was being made precisely for this audience, though.) Also, enemies with lots of hitpoints are a lame console/arcade-ism. We should be able to do better than that.

#4 - This is only if you want every single part of the game to come through on the first playthrough. I HATE AI behaviours made obvious. One enemy type running away everytime another is killed does not give the illusion of intelligence, unless you thought Diablo's Scavengers were smart. Also, in Fear the guys yell "I see his flashlight!" They are just showing off, and it is especially lame the second time and every time after. If a game should be replayable there should be behaviours (and emergent situations) that don't come out so often. Also, obvious behaviours make it easier for the player to piece together the monster logic, like we've all done ages ago in Quake, which lets us beat each monster reliably using the same pattern. It ruins the whole idea of intelligence or unpredictability, and you lose the fear or respect of the monsters, and the whole game universe.

#5 - It's a legitimate point. More complex AI will become totally arbitrary to the player, and he will either assume it's totally random, or he will acknowledge that he'll never learn the patterns. But, I think that this is the right direction in the future. Human enemies shouldn't be predictable. Maybe on the third time through a level, something will happen that will make the player think to himself, "you know, it almost seemed like that guy got fed up with his buddies and ditched them". If that happens a few times, you're in the right place, I think.

#6 - Yeesh, I still haven't been able to appreciate the designer who is not a programmer or the programmer who is not a designer. But this must be a fault of mine.

#11 - You better be slick at implementing this! It reeks of Electronic Arts sports or racing games with their rubber-band "catch up" AI cheating behaviour.

#13 - I totally sympathize with this one! It's unfortunate.

#14 - NO! Okay, maybe if you are making a dead-linear game, but I'm not interested in that... I have never been entertained by setpieces and scripts. THESE break suspension of disbelief faster than apparent bugs do. They tell you that you're in a movie, not a game. DOWN WITH "CINEMATIC" EXPERIENCES!!

#16,17,18 - This is basically waypointing, so it's okay, as long as the playtesters are creative and rigorous.

#19 - I saw screw friendly NPCs altogether! Or let the player kill them if he wants.

#20 - Ehh. I guess so, but I rarely enjoy this when playing the game.

#21 - This should be rule number one (not "focus on the ILLUSION of intelligence", which possibly contradicts it)

#26 - A repeat of #4. I see their point, but somehow I can't fully accept it. Maybe because the little of Halo I did play was not fun at all. But I know that in games like Thief, the illusion of smart AI (which there wasn't, but a new player assumes so) made the game supremely stressful and not-fun... Maybe the key is moderation. Or good difficulty settings. Or else ease the player in: easy (fun?) at the beginning and hard (fun?) at the end. Like Super Mario Bros 3. Decades later I still haven't beaten it, but it's still fun to replay.

#32 - This needs to be subtle. Otherwise it's about as enjoyable as getting gold-star stickers and being told you're special. (As in, counterproductive.)

I kind of skimmed over the behaviour tree stuff, because it apparently assumes previous familiarity with their system, and I haven't spent much thought on this general area yet...
F. A. Špork, an enlightened nobleman and a great patron of art, had a stately Baroque spa complex built on the banks of the River Labe.
mh
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am

Post by mh »

Agreed with most of the above, although I haven't analysed it or the original points in much detail yet. All the same though, I can't help thinking that a game that achieves what it sets out to do is successful on it's own terms, and that the market is a lowest common denominator anyway.

What annoyed me about something like Half Life AI (to change things a little) was that it was so damn repeated. Remeber when the black ops ninja-like guys attacked? The first time you were pinned down behind a crate and they were circling around you, trying to flush you out with grenades, and so on? The first time that happened it was cool. The second time I thought "oh, this again". The third time I said "fuck it" and god-moded through. The fourth time it didn't even bother me because I had left god mode on.

That's not enjoyable, where's the player reward in that? Contrast with the set-piece in Doom 3 where the floor dops, you get the Berserker, and about 30 dumb zombies come at you. It's silly, it's contrived, there's no AI to speak of, but mowing through a room full of the lowest enemy class while invincible gave immense player satisfaction.

So I suppose the point is that AI designers should always always always keep this one question in the back of their minds: "how is this going to help the player enjoy the game more?" If AI isn't working towards that goal - within the parameters of the game - then it's failed, no matter how realistic or life-like it might be.
We had the power, we had the space, we had a sense of time and place
We knew the words, we knew the score, we knew what we were fighting for
frag.machine
Posts: 2126
Joined: Sat Nov 25, 2006 1:49 pm

Post by frag.machine »

@mh: I liked the Half Life AI in general. The ninja girls weren't the most challenging, but since they weren't so frequent, it was okay.
The army squads were pretty good, though.

@Sajt: yeah, more hitpoints == better illusion of AI maybe work in the dumbed down world of Halo and other console games, but this is a flawed concept from the start. Otherwise, Shub Niggurath is the smartest monster in Quake. :D

In general, I'd be happy with Quake monsters that don't need to do wall hug to find you, and that don't shoot each other so frequently.
I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC :) (LordHavoc)
mankrip
Posts: 924
Joined: Fri Jul 04, 2008 3:02 am

Post by mankrip »

The monster infighting actually happens a lot less in Quake than in Doom, and is a feature that not only makes the available gameplay strategies more diverse (getting the monsters to kill each other may take more time than killing them directly, but it allows us to economize our own ammo), but also gives them more personality, since it gets pretty obvious that they're so angry and insane that they won't forgive anything, not even from their own mates.

The AI in Half-Life can really get pretty annoying. It works great for when the scenery gives us some tactical options that requires some thinking to beat them, but it's very, very annoying when our only option is to crawl as slow as possible to not let more than a few pixels of their head shows up for us to shoot them with the sniper. By the last stage I got so bored of crawling all the time that I cheated through the rest of the game. Soldier of Fortune and Turok 2 also suffers from this "crawling-to-snipe syndrome".

I may suck at aiming, but having that as the only tactical option for people who can't aim like a bot is ridiculous. I'm a lot better moving than shooting, maybe that's why I prefer Sauerbraten over any other FPS online; it's the only one I can always have a good time with, even if I'm on the bottom of the scoreboard.

About Sajt's comment on #4, I think that the way to prevent obvious behaviors from getting predictable is to only make them obvious after their actions has been taken. This way the player can still learn why he lost when he's beaten, and in doing so the player may perceive and understand how the different reactions of the AI works, but he still won't have means to predict which of those possible reactions the AI will choose to do next time.

IMO the main problem with (both AI and human) team communications in gaming is that it's usually implemented through a different interface (exclusive menus, console commands or keybindings), instead of being implemented through the actual mechanics of the gameplay. For example, why not have a team radar (either in the HUD or in a render-to-texture display in some areas) to always inform the position of your teammates, instead of having them disrupt their focus from the gameplay to either type messages or choose pre-defined ones to inform this? Communication should get the point across through the gameplay, instead of disrupting it.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
Electro
Posts: 312
Joined: Wed Dec 29, 2004 11:25 pm
Location: Brisbane, Australia
Contact:

Post by Electro »

Just to post again quickly, while all good and valid points (for the most part).. I believe Xlink was actually posting regarding bots. :)
Benjamin Darling
http://www.bendarling.net/

Reflex - In development competitive arena fps combining modern tech with the speed, precision and freedom of 90's shooters.
http://www.reflexfps.net/
Sajt
Posts: 1215
Joined: Sat Oct 16, 2004 3:39 am

Post by Sajt »

Yeah, he was! Good to get that point out there. BTW, spectating bots or monsters is great for examining AI.

Anyway, about infighting, that's another one of those things that seems to make the game more fun, while at the same time destroying immersion by making monsters retards with opaque logic. I always take advantage of infighting when I'm playing a custom map with early shalraths. But could this situation (leading a shalrath bomb around) be fun without the monsters being dumb? Previously the monster you lead the bomb into is totally unaware of it until he's hit, and when he's hit he instantly knows who threw it (even if you led around several corners) and predictably goes after the shalrath. If, instead, he tried to avoid the bomb while it was flying around, that could be fun. You could clear a path by riskily leading a bomb around. And if you are lucky you could still lead it into another monster. (But if you did, that monster would probably blame you, not the shalrath.)

Then again, I'm pretty sure all Quake's monsters were supposed to be blindly insane and completely stupid (it would seem out of place for them to be a bit more rational). But when you play the game, that doesn't come across, what comes across is bad AI. You could make them scream all the time and foam at the mouth, but I would get really annoyed by that. In any case, I don't think stupid monsters makes for a very oppressive atmosphere.

Whoops, train of thought ended, so no conclusive suggestions, sorry.
F. A. Špork, an enlightened nobleman and a great patron of art, had a stately Baroque spa complex built on the banks of the River Labe.
Spike
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK
Contact:

Post by Spike »

screw lifelike ai, make efficient ai, 60 bots, and give them teamplay capabilities, get them to hunt you in packs.

your bot/monster/monkey should not act too stupidly. it shouldn't keep trying to bash the square peg in the round hole. having said that, if its a bot then it would be pretty lifelike if it did that...
bots that don't target players that are sitting idle is a matter of courtesy, but you can't always distinguish that from a player sniping.
A lifelike AI will favour killing whoever it has a grudge against.

For QuakeWorld, a hard AI is one that camps the items properly. But if it always stands on the same spot, you'll know where to lob that grenade.

If you want to keep a player entertained, you have to keep the AI changing and using different tactics and just generally dynamic.

But remember, this is a game, and thus the goal should never be truely lifelike AI, the goal should be fun AI.
The player should feel that he has a chance at beating it, but it shouldn't be too easy.
frag.machine
Posts: 2126
Joined: Sat Nov 25, 2006 1:49 pm

Post by frag.machine »

Spike wrote:The player should feel that he has a chance at beating it, but it shouldn't be too easy.
Nor too smart, like the DJQuake's dandy shambler that politely asks the player to examine his shotgun. :lol:

But returning to the original question: no, none of the examples given by Team XLink fits in AI behavior, either good or bad, in my opinion - those are just small behavior tweaks to not piss off human players. The bot didn't reasoned, in any way, it was unfair to attack or pursuit someone because he/she is less skilled or have a bad internet connection or is afk. Remember, by definition a bot is something without emotions or moral values. It don't give a damn if you were in disadvantage.

Good AI IMO would be a bot realize that I always follow the same route into the map, navigating from one item spawn to another, and use this information to ambush me in some way; or conclude, after discharging the thunderbolt underwater, that it was not a good movement and should be avoided in the future; or yet, to learn to avoid or circumvent a tossed grenade when sees it.
I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC :) (LordHavoc)
Post Reply