Archived

This topic is now archived and is closed to further replies.

Flid Merchant of Venice

FPS AI Ideas

Recommended Posts

I am making a first person shooter with someone else, and we want to have really good AI. Some of the stuff they will do: Supression Fire - a machine gunner will fire in our general direction to keep your head down while the other squad members advance. Use tear gas and fire weapons to flush you out if you are in a strong defensive position. Detect you by sound (depends on some stuff - a normal rifle they will know your general direction. With supersonic bulets and a silencer, they will hear the shots, but not the discharge of the gun, so they know someone is shooting, but not where from. Suppressor with sub-sonic bullets they will not hear you unless the bullet hit something near them) Detect you by silhouettes, reflectons, muzzle flash, muzzle blast, etc. Any additional ideas? (This is supposed to be a realistic FPS)

Share this post


Link to post
Share on other sites
Ignoring the (not inconsiderable) technical difficulties of implementing this level of combat AI, here's a few:

* Surrounding + pincer maneuvers. Have a group of enemies try to surround the player, both on the larger scale (moving in to engage/stalking), and while actually attacking the player in CQB. The stormtroopers in Jedi Knight II seem to do this, and it's a very effective trick. One of the standard tricks a player will use to handle being outnumbered is to maneuver so as to keep all the enimies in front of him. If they actively counteract this, it can make for much more challenging combat.

* Fields of fire. Tie in with your supression fire idea. Have multiple enemies work together to lay down overlapping fields of fire. More effective than having them all blaze away at a particular point, particularly if they're not sure where the player is and they're trying to supress him.

* Co-ordinated group movement. Again related to the supression fire idea. While covering fire is being laid down, have the enemy advance using standard military leap-frogging technique - the soldiers "leap-frog" each other, taking it in turn to advance past each other from one piece of cover to another while the man/men who's not moving provides overwatch/covering fire.

* Use of terrain/cover. Have the enemies take cover properly. Simple as that. Ideally have them cover overlapping quadrants, watch each other's backs, that kind of thing, but even having them hide behind a wall properly should make a considerable difference.

In general, research real-world military small unit tactics and the like - they'll be your best resource if you want enemy soldiers to use realistic tactics.

[edited by - NeverSayDie on October 17, 2002 3:03:14 PM]

Share this post


Link to post
Share on other sites
I don''t think these are too hard to implement... Especialy detecting extra things (like muzzle flashes, noises, etc), that should be very easy.

I noticed that in a counter-terist game I played, the enemys had a habbit of standing about in a room, talking, even if it was obvious they should have heard your fire, or seen one of their buddies get shot...

Also, in the same game, if you game one of your own (AI) team the order to grenade a room, they would do it _extreemly_ slowy so that anyone watching the door had about 2 seconds to shoot your team-mate before the grenade was even throwen.

Also, if someone sees a team mate gunned down when entering a doorway / passage, they still go ahead and get gunned down as well. Perhaps they should try sneeking by an alternate route?

Heh, Now, Actualy, come to think of it, this game''s AI was pretty poor.

Make sure your AI is better than this



Do not meddle in the affairs of moderators, for they are subtle and quick to anger.


ANDREW RUSSELL STUDIOS
Cool Links :: [ GD | TG | MS | NeHe | PA | SA | M&S | TA | LiT | H*R ]
Got Clue? :: [ Start Here! | Google | MSDN | GameDev.net Reference | OGL v D3D | File Formats | Go FAQ yourself ]

Share this post


Link to post
Share on other sites
quote:
Original post by Andrew Russell
I don''t think these are too hard to implement... Especialy detecting extra things (like muzzle flashes, noises, etc), that should be very easy.

I noticed that in a counter-terist game I played, the enemys had a habbit of standing about in a room, talking, even if it was obvious they should have heard your fire, or seen one of their buddies get shot...



Code-wise it isn''t hard to implement, but design-wise, it can be tough. AI is partly about creating fun situations for the player. Sometimes, AI will have to be dumbed down in order to prevent frustrating situations. For example, if you fire an gun in a building, technically lots of people should hear it and every one of them should be looking for you and attack you. This is no fun at all.

Also, sometimes AI needs to be dumb in order to deal with performance. For example, if your game engine can only handle 3 enemies onscreen at once, you can''t have the AI detect everything and hunt you down, since it will put more enemies on your screen.

Share this post


Link to post
Share on other sites
But which would you rather: a few hyper-real enemies to have to avoid, or a half-batallion of slack-jawed yokels charging at you like they have a bayonett up their ass? I''d go for the fewer, smarter soldiers every time.


If at first you don''t succeed, call it version 1.0

SketchSoft | SketchNews


Share this post


Link to post
Share on other sites
the slack-jawed yokels comment sort of reminded me of the game I was talking about "uhhh, wAt was thAt?" (It was a gunshot you dope! have another) "Ooof, I''Ve been shot!" (no, duh) "..." (exactly)

Do not meddle in the affairs of moderators, for they are subtle and quick to anger.


ANDREW RUSSELL STUDIOS
Cool Links :: [ GD | TG | MS | NeHe | PA | SA | M&S | TA | LiT | H*R ]
Got Clue? :: [ Start Here! | Google | MSDN | GameDev.net Reference | OGL v D3D | File Formats | Go FAQ yourself ]

Share this post


Link to post
Share on other sites