Advertisement

First person shooter AI

Started by November 27, 2005 08:44 PM
21 comments, last by Timkin 18 years, 11 months ago
Hi all =) I’m doing some research in first person shooter AI and am interested in people’s experiences and opinions on the topic. Mainly I’m interested in knowing where you think the main areas of improvements in bot AI are.
Realistic Response to Sound/Objects!

Example dropping a can next to a bot needs it to look at the can, walk 2 it, inspect it, then it will suspect an enemy and look around desperately.. If the object that was dropped is anything of relevance like a clip then the bot would warn the other bots.

Sound... Mmm Consider throwing a rock, the bot doesnt see it but hears it, so he would either

A : If relaxed inspect like above
B : If Tense sound the alarm.

Thats basically it for above normal things, far cry has nice AI because the bots sometimes get frantic and just shoot where ever they think you are... Some times they are right :-)

--- EDIT ---
Oh and if the bots are Tense (alarm has sounded) they wont walk alone or stand in a 2 open spot, or enter caves... ect :-)

And if the bots have the player trapped then a realistic action would be to simple wait for him to come out :-)
----------------------------

http://djoubert.co.uk
Advertisement
well, i think some improvments may be in the pathfinding area, because a lot of bots get stucked here and there these days. If you want to create realistic bots, please check out the FEAR SDK, it is really great. There is a book on that also, written by the author: AI Game Development by Alex J. Champandard. This book(I've got it myself) it's not for the beginner in AI, but it's really great.
Pathfinding has always been the toughest one for me. Try OpenSteer:
http://opensteer.sourceforge.net

Cheers,
-Zubair-
Definitely what I would have liked to add in our game was more interaction between the agents and the environment. Sure our bots reacted to sounds / rocks thrown in their perception radius, but that's just icing over the top of the AI.

The problem with environment interaction often means more animations, which have to be streamed and handled correctly to fit in RAM, and requires animators and integrator to get the final result...
Eric, when you say your game do you refer to Far Cry? (IE were in anyway involved)

I thought Far Cry's ai was good enough, and just when i figured out the trick, i have to start fighting mutation thingies!!!

How ever the most coolest thing about Far Cry was its introduction of a Basic yet in realtime games term Elite Physics engine!

----------
To top it up, Battle Field 2's physics engine is really lacking... Have u ever tried driving one Humvee into another one at 30-50mph and then when u hit the object in rest nothing happens you both just stop!!!

INSTEAD of ur humvee basically catapulting into the air!!.. its really sad cause that effect would have rockeD!
----------------------------

http://djoubert.co.uk
Advertisement
I always pondered about the power of scenarios in bot games.

An AI scenario is something like

Player enter Room A
Player flip the switch
Room C fills with water
Player leaves room A

Using that scenario, a bot that sees the player exiting Room A can deduce that the player may have flipped the switch and that room C may be filled with water.

Its a very simple example, of course.
I did not work on the original Far Cry title, which was made in Germany. I worked on the greatly modified version called Far Cry Instincts, for Xbox :)

Steadtler, I believe most of this kind of stuff can and should (most of the time) be faked. Designers love to have deterministic situations and to be able to know what the AI knows at what point of the game... leaving the AI to deduce things is indeed, interesting, but could be hell in debugging, for almost no gain (since it can be faked and controlled).

Astrogrrl: What you're looking for is improvements on the coding / way to represent data / decisions or the in game results?

Cheers

Eric
Quote: Original post by xEricx
Steadtler, I believe most of this kind of stuff can and should (most of the time) be faked. Designers love to have deterministic situations and to be able to know what the AI knows at what point of the game... leaving the AI to deduce things is indeed, interesting, but could be hell in debugging, for almost no gain (since it can be faked and controlled).
Eric


I agree, but players hate deterministic situations and cheating AI. Scenarios encode preconceptions about how things are done. It would allow a bot to seem more believable, AND be more intelligent without cheating. Also, deterministic AI makes it more predictable by the player.
Eric: I am still in the early stages of research so trying to figure out an area I can improve on. Ultimately I would like to improve either the overall behaviour or a certain aspect of the bots (so in game results to answer your question), whether this is through a different way of representing the data or decision making process I'm not sure yet. The scenarios Im tossing around are deathmatch or team based ones.


Meeshoo: Thanks for the links, Ill check out the FEAR sdk. I also have to decide on an engine to use, well when i get to the development stage. I have also got Champandards book and got a lot of my inspiration from him ;)


Steadtler: You have brought up a very interesting point, deterministic == predictable, but developers need deterministic rules for debugging which is completely understandable. I just had an idea, what if the bot built up scenarios dynamically during gameplay? Then they could refer to situations they are in which are similar to ones they have experienced before. So essentially they learn through what they see and experience. Though this may break the deterministic rule, potentially some interesting gameplay could come out of it.

This topic is closed to new replies.

Advertisement