
Why F.E.A.R.’s AI is still the best in first-person shooters - danso
https://www.rockpapershotgun.com/2017/04/03/why-fears-ai-is-still-the-best-in-first-person-shooters/
======
stolk
I've been using Orkin's Goal-Oriented-Action-Planning (GOAP) in my own game
development. Let me tell you an amusing story of how an AI agent outsmarted
me, the developer.

So I had set up a test scenario, with an agent that could travel, buy stuff at
shops, use axes, cut trees, and so forth. When I ran this test, I had set a
goal of procuring timber.

What I expected the agent to do:

1\. Go to shop

2\. Buy axe

3\. Go to forest

4\. Cut tree

5\. Drop axe

6\. Pickup timber.

So I ran my GOAP test, and saw what the agent came up with:

1\. Go to forest.

..

When I saw that step 1, I was disappointed, because the agent clearly should
not be going to the forest when he has no axe yet.

But then, as a proud parent of my AI, I saw what the agent had actually
planned:

1\. Go to forest

2\. Pick up firewood

3\. Go to store

4\. Sell firewood

5\. Buy axe

6\. Go to forest

7\. Cut tree

8\. Drop axe

9\. Pickup timber

Hooray! I simply forget to give my agent money. But GOAP made him smart enough
on how to get some money on his own.

I had of course equipped the agent with 'sell' action, and I had placed
firewood in the forest, which I promptly had forgotten about when writing a
test scenario.

I was so proud of that smart little agent!

Cool stuff, that GOAP!

~~~
seanwilson
I love examples like these but where lack of real world or common sense
knowledge gives funny results.

I tried writing a text adventure game generator once that would combine puzzle
templates you gave it like "object X you need is in a tree and you need a
climbable thing Y to get it" and "object X is in a vending machine and you
need a coin to get it" to create basic chains of puzzles. Without more
constraints it would do silly things like create a vending machine containing
ladders, vending machines in trees, vending machines containing other vending
machines and trees, and vending machines that gave you a coin for a coin.

~~~
Houshalter
I was just reading about a bunch of weird bugs found in dwarf fortress. For
instance, someone found all the cats were throwing up all over the place from
alcohol poisoning. They looked into it and found the dwarves were spilling
alcohol on the floor of the tavern. The cats didn't drink it though. No, they
walked through it and got it on their fur. Then when the cats went to clean
themselves, they ingested the alcohol. The game then calculated their blood
alcohol content to be very high and gave them alcohol poisoning. Because it
counted it as one standard of unit of alcohol, and the cats have much smaller
body mass than dwarves.

All sorts of amazing, um, features, have been found in that game.

~~~
adrianN
I don't see the bug there. Maybe you mean that the cat simulation is not
accurate enough: cat's wouldn't walk through puddles if they could avoid it.

~~~
StavrosK
I think the bug was that it counted as "one mug of alcohol" on the floor, and
the entire thing stuck to their fur, which wouldn't happen in real life.

------
parasubvert
For those with a modest automated planning background, F.E.A.R. is
inspirational because it shows even the most ambitious and inefficient
planners, i.e. STRIPS, which is the grand-daddy of automated planning that
searches across flat goals based on a known global state... even that, which
is known to be an NP-complete problem in many domains, can be made practical
in specific domains with tweaks.

Much of the automated planning literature is about finding ways to find the
balance between computational tractability and expressivity of the domain &
goals. Many attempts to fuse logic and imperative programming with an aspect
of history: hierarchical task networks for example, which are like a high
level procedural language with non-deterministic method dispatch. Games like
Killzone 2 for the PS3 also had an interesting followup use of automated
planning via hierarchical task networks, to do squad tactics;
[http://aigamedev.com/open/coverage/htn-planning-
discussion/](http://aigamedev.com/open/coverage/htn-planning-discussion/)

Another thread is Golog as a variant of Prolog that uses Reiter's Situation
Calculus to formulate complex goals and domain constraints in a relatively
consistent syntax and applied towards "Cognitive Robotics":
[http://www.cs.toronto.edu/cogrobo/main/systems/](http://www.cs.toronto.edu/cogrobo/main/systems/)
.. it's unfortunate a lot of that work seems stalled since Reiter passed away.

With all the recent hype around connectionist, deep learning AI, etc., there
still is a lot of important work going on in the symbolic logic side of AI,
particularly in this space of working in dynamical domains. Fusing the two
will be really interesting.

------
kough
PDF describing the AI system written by the Author was discussed previously:
[https://news.ycombinator.com/item?id=12235532](https://news.ycombinator.com/item?id=12235532)

If you read this article and want to learn more, click that link.

~~~
malikNF
Jeff Orkin's GOAP page, tons of resources on GOAP.
[http://alumni.media.mit.edu/~jorkin/goap.html](http://alumni.media.mit.edu/~jorkin/goap.html)

[https://github.com/stolk/GPGOAP](https://github.com/stolk/GPGOAP) has an
implementation of goap in C, the code is really clear and easy to understand.

------
danso
Don't know how many gamedevs are here but I've always wondered if within
gamedev, there's differences in how much info/best practices are propagated
within the field. Graphics seems to be something that devs keep tabs on with
each other. But maybe AI is more siloed off? I'm not sure what 10 years in
improvement in AI looks like (as I do with graphics), but the algorithms and
details [0] seem straightforward, or at least not impossible for a talented
team with resources to build upon. I haven't played F.E.A.R. so maybe there's
something about the game that vastly simplifies the factors?

[0]
[https://news.ycombinator.com/item?id=14029136](https://news.ycombinator.com/item?id=14029136)

~~~
quadcore
Gamedev here.

First, remember the first principle of game AI, the goal is not to defeat the
player but to entertain him. A simple way to say it is that too good AI is not
what you want.

Secondly, for most games, the fun is simply not on the AI component of the
game.

If you take those two points together, 1) good game AI is tricky concept, 2)
that's not where the fun is anyway, then you got that not a lot of people
cares about game AI.

~~~
Insanity
Former gaming-addict here.

Does the fact that people tend to spend more time on the multiplayer component
of a game rather than the single player play any role in this 'not caring
about AI'.

I mean, I really did not enjoy playing against AI because they are quite
stupid in most cases, and the only way to make a singleplayer become harder
does not seem to be to make the AI smarter, but rather have some 'modifiers'
against the player.

For example in L4D, the damage you take from a hit by a common zombie on
normal difficulty is 10HP (out of 100HP), but on expert the same hit is worth
20HP.

Other things to make it harder would be to spawn in more NPCs and just get the
player more busy, or speed up the events in the game (like tetris).

But in all games with a decent multiplayer, it is just _way_ more fun to play
against other human beings rather than shooting a bot. Because it actually
poses a challenge.

EDIT: typo fix

~~~
degenerate
I second this... the only reason I jump straight into the multiplayer when I
try a new game is because the single player AI, at every difficulty level, in
almost every game, is dumb as rocks. Making the AI "way too fucking smart" at
insane/hard difficulty and then dumbing it down seems way, way, way better
than hitpoint modifiers. I don't think smart AIs are written and then
scrapped... that cannot possibly be what really happens?! Horrible if true.

~~~
shrimp_emoji
>the only reason I jump straight into the multiplayer when I try a new game is
because the single player AI, at every difficulty level, in almost every game,
is dumb as rocks.

There's more to it than that for me. No matter how good the AI is, shooting at
AI feels empty and dull compared to shooting at actual people. Not only are
you assured cunning, but also someone who hates your guts and lets you know in
chat! I suspect many others feel that way too, deprecating singleplayer in
favor of multiplayer from the get-go.

>Making the AI "way too fucking smart" at insane/hard difficulty and then
dumbing it down seems way, way, way better than hitpoint modifiers.

It sure does. Have you ever played Civilization? The AI is always dumb; the
only way to make the game harder is to make the game fundamentally unfairer.
In this case, making the AI smarter is a much harder problem than in a shooter
game though.

~~~
the_af
> _Not only are you assured cunning, but also someone who hates your guts and
> lets you know in chat!_

Wow, this is precisely what turns me _off_ multiplayer. I don't want to chat
with someone who hates my guts, or tells me I'm a newbie, or mocks me for not
playing perfectly. I remember CounterStrike 1.6 used to be toxic like this,
populated by teenagers with too much time in their hands, outplaying you at
every turn, and constantly insulting you.

No, thanks. Singleplayer doesn't belittle me, and is more immersive.

~~~
dkersten
I completely agree! I like the "idea" of multiplayer, but, in general, the
best thing about multiplayer is also the worst thing: other players.

Being punished for being new or not that good or not having as much time as
the teen players (who are often the largest percentage of the game) is not my
idea of fun. I remember I played an FPS a few years ago (won't say which one)
and it felt like I was being punished for trying to get into the game. So I
uninstalled it. As far as I can tell, the game is more or less dead now. By
punishing new players, the fans killed the game. Yay for them. Instead, I
moved on to some great single player games which treated me well and were much
more fun for me to play.

~~~
Insanity
Being punished to get into the game is annoying. I have been on both sides of
it, and I actually understand the other side pretty well.

On Left4Dead(1 and 2) I was part of those people "punishing" new people in a
way. There was this rule that we would kick anyone who had less than 500 hours
on the game, or less than 1k if everyone of the friends we played with had
more than 1k hours.

We were not insulting to the new guys in any way and usually just asked them
to leave. But if they would not leave, we would kick them. But to be honest,
if they would stay in the game, it would not have been fun for any of us. For
us it would have made the game too easy, and for them they would just quit
after a few minutes of getting dominated anyway.

When you are new to a game, I think it makes more sense to just play with
friends who don't mind sticking up with you being new, or trying to find a way
to play with other new people. When I got kicked from playing a game like
Payday, I did not mind because I know that I am a noob and that If I end up
playing against people who are far above my level, it would be fun for neither
of us.

Sorry that you had that experience though, if you stick with some of the
multiplayer games - through the horrible community sometimes - it actually can
be quite fun. But my advice would be to find some dedicated people to play
with, they really make any game more fun.

~~~
dkersten
Interestingly, I did play L4D2 for a while without any problems. I also
sometimes played other multiplayer games, for example league of legends (which
does have some very toxic players, but for the most part wasn't too bad,
although I typically played with at least one friend on my team).

I've also had games where I think the games design actually greatly influenced
how much new players were being punished, for example by giving players who've
played longer much better equipment. I've experienced that too and that was
extremely not fun. That particular game also isn't active anymore as far as I
know. So it's not just the players. My gaming time is too limited these days
to play something toxic, be it players or the game itself.

 _But my advice would be to find some dedicated people to play with_

I'd love to, but after work and other obligations, time is short and syncing
up with my game-playing friends is hard. Most of them also play different
games to what I enjoy so it's hard. The best I've managed is to get a friend
to play dark souls 3 with me maybe one night a month... :(

------
dugditches
It was also the enemy of 'fear' itself, in that the game is a horror game with
an omnipotent enemy. So while dealing with these clever enemies you're also
facing the supernatural, adding to the experience. And the
lighting/environmental effects.

The original Halo:CE had great enemy A.I. too. Though I think was more
'scenarios' being programmed in. What made the campaign fun asides from the
big levels was that the enemy encounters were different every time.

~~~
FullMtlAlcoholc
RE Haloe CE:

Especially on the Legendary difficulty. To this day, the Halo series has the
best set pieces and is overall the best single player experience of any FPS
save for Half-Life

~~~
dugditches
To add, the higher difficulties added new behavior and tactics to the A.I.

Unlike a lot of newer games where it seems higher difficulty is just more
enemy health and damage.

~~~
rangibaby
My favorite was Crysis changing the enemy soldiers' language from English to
their native Korean

------
rubayeet
F.E.A.R is definitely one of the top 10 best PC games I've ever played. There
are not many games that blend Action and Horror so delightfully (other than
Half-Life). That being said, I haven't been around in the gaming scene for a
while and playing catch up after recently building a gaming rig.

I do agree with the author about the lack of progress in FPS enemy AI. The
recent releases from the Call of Duty franchise are nice games, but the AI
enemy combatants look dumb next to their FEAR counterparts. Why has not FEAR's
AI strategy been adopted by other games/studios? The article does not mention
anything about this.

~~~
joe_the_user
_I do agree with the author about the lack of progress in FPS enemy AI._

I follow AI much more than I following gaming. I definitely find it curious
that enemy AI has hasn't made a lot of progress when game-playing in a
different form is such a focus of deep learning.

~~~
Radim
1\. HW resources: games run on _extremely_ tight HW budgets. It's probably the
most competitive, cut-through industry in terms of what you can afford to do
with a given CPU/memory/bandwidth per frame. While DL is still in the "let's
throw a thousand GPUs at it, wait for a week, see what happens".

2\. Quality control: DL is a blackbox. Bad for the playing experience for
obvious reasons. And even if just using pre-trained models, the lack of
control goes directly against what both the designers and players typically
want (predictable fun).

3\. Finally, DL hasn't made THAT much progress here, actually. There have been
serious efforts to apply DL to modern games (e.g. DeepMind with Starcraft),
but what you've probably seen is "just" DL applied to some finite-state, 100%
deterministic, complete-information, zero-sum games. A far cry from complex
dynamic environments.

Which is not to say it cannot be done. Just that the incentives (both business
and technological) are aligned differently -- too little bang for a lot of
buck.

~~~
lloeki
> HW resources: games run on extremely tight HW budgets

Come on, you could have decent AI back in the day that pinned me down and made
me run for cover, then had me at that _cling_ _gling_ _oh shit_ moment when a
perfectly timed grenade lands at your feet just as you were starting to take a
breath†. Today we're stuck with scripted sequences and playing whack-a-mole
with sniper rifles.

† only HL1, Halo and FEAR seemed to manage that.

~~~
Radim
You may be under appreciating how much effort goes into good old hacking in
games, to make things look "natural" but with minimal HW footprint :) Cutting
corners.

 _Especially_ back in the day!

It's more of an art. Applies to graphics, AI, audio...

------
vhold
I think the runaway smash success of Call of Duty changed the direction of FPS
games considerably. The focus on advancing AI was replaced with spectacle.

~~~
problems
No one plays CoD for the single player. Spectacle isn't the focus, multiplayer
is.

The whole genre of linear single player FPSes is sort of dead. Lots of mixed
genre games that tie in RPG elements with big open worlds and character
customization though that are doing quite well and could benefit from better
AI.

Even with a friend though we can't reliably beat the top level AI in Ghost
Recon Wildlands so it can't be that bad.

~~~
rosege
I love FPS but hate multiplayer. Firstly, my ping sucks so I get killed very
easily. Second, I dont play that much so get killed by the kids who are
playing all day. Hence I rarely play multiplayer if I can avoid it.

~~~
elastic_church
yes blame the ping

------
georgeecollins
AI in games is misunderstood as sophistication of reasoning. What makes AI in
a game subjectively good is that it demonstrates a reasonable intent that the
player can observe and anticipate. If you can see what the AI is going to do
and thwart it, the AI is good. If it surprises you once and a while it is
great. Surprise implies that you recognize what the AI is doing most of the
time and sometimes it does something else that also makes sense.

AI is often at its best when it does something stupid that is understandable.
For example, in Halo when you kill a bunch of the big guys, sometimes the
little guys drop their guns and run away. This makes them very vulnerable, but
it is fun. A smarter AI (one that would win more) would only pop out when you
aren't facing them, or if cornered just shoot back very accurately from two
points. But getting hit from behind isn't much fun, and getting shot at head
on from two directions is also not much fun.

Good AI is usually a mix of good game design (and art) as well as good
engineering.

~~~
Retric
Depends on the game, RTS players want an AI that does not cheat and is still a
challenge.

~~~
astrodust
Every AI has to "cheat" or it would utterly destroy you.

For example, AI can micro manage way better than you can, it can do a billion
APMs. It has complete situational awareness at all times and never gets
distracted by real-life. In an RTS where scouting is key, it could fan out
with as many drones as it can produce and gather way more information than a
human player could.

You need to constrain your AI so that it's not impossible to defeat. For
example, limit how many actions it can perform in a given situation, or make
it stubbornly cling to some losing strategy for a while even when it could
easily flip to the most optimal one in an instant.

~~~
Retric
It's not hard to make a bot do worse, however in many games there are no bots
that play well without cheating.

Watch some StarCraft/StarCraft2 bots, it seems like an easy challenge, but
they can't beat a good human player when they have to deal with the fog of
war.

PS: Multi drone scouting tanks your economy and becomes a really bad idea. You
want to send out one scout that can both gather useful information, not die,
and not significantly hurt your economy. To the point where some very high
level players don't always scout early.

~~~
astrodust
An unshackled bot will eventually destroy even the best human players once
they can lock in the right approach. It's only a matter of discovery.

Tic-tac-toe, checkers, chess, even Go have all fallen to computers.

As for scouting, the ability of an AI to endlessly harass and endure minimal
damage because of precise unit movement becomes a problem. A human can't
finesse that as well and still have attention left over for other, more urgent
priorities.

It's probably the case that at a strategic level the AIs generally suck, but
on a highly situational level they have an advantage that needs to be kept in
check.

~~~
Retric
And when that happens we can nerf the bot. But, RTS like StarCraft are really
difficult and with constant re balancing the optimal strategy keeps changing.

Remember, at the meta level you need to have just enough army to survive an
all in, while maximizing resource collection and research. Further, if you
don't use a range of strategy's people will just pick the counter to your game
style. Do you build static defense vs harassment? What do you do for vision?
And everything has a cost in time or resources.

Further, things like army composition, baiting, high ground, choke points etc.
make combat very tactical which bots have issues with.

~~~
astrodust
It's too bad that there's no official Starcraft 2 bot league. There's only
various student leagues and the occasional contest.

~~~
luminiferous
Blizzard worked with DeepMind to release a SC2 API recently, see here:
[https://us.battle.net/forums/en/sc2/topic/20751114921](https://us.battle.net/forums/en/sc2/topic/20751114921)

When they released an API for Brood War, an AI competition popped up shortly
thereafter, and I expect that there will be one announced shortly for SC2.

------
_khau
I found FEAR's AI not as impressive as people made out (and still do).

I felt like the tactics used by every enemy in the game basically involved
flanking the player from two sides, and never approaching directly unless
there were no other ways around (which was rare, as the levels were basically
one combat arena connected to another in linear fashion).

It was pretty easy to exploit this by basically charging the enemy and aiming
for the head as if you were playing an old-school strafe shooter, which didn't
give them enough time to formulate their flanking plan.

I found by doing this the game became trivially easy, even without using the
bullet-time thing.

~~~
_eht
This guy plays on easy.

~~~
astrodust
I play on hard or harder if possible, and yet F.E.A.R. still wasn't that
challenging.

I found the enemies to be less dumb than your usual cannon fodder, but you'd
mulch through them pretty fast if that was your goal. They did _try_ a lot
harder than those in other games, which was nice, but they weren't that much
of an obstacle. Their patterns are somewhat predictable, so you can often
anticipate where they're going to go, or what they're going to do.

The problem with the F.E.A.R. AI is they don't necessarily adapt to the player
like real people will. You can do the same thing a hundred times and they'll
fall for the same trick.

Getting ambushed? Well, poke out, draw their attention, and fall back to a
more advantageous position. Human players would just wait it out, they know
you have to go through there, but the AI, ironically, gets impatient. Their
goal is to kill you, not to defend things.

I'd _like_ an AI that gets wise to my tricks, that starts to react
differently. If you're using grenades frequently they might field more heavily
armored troops. If you're sniping they might snipe back. That'd force you to
adapt, to switch it up, to avoid becoming predictable.

The problem is that requires a pretty robust AI to manage troops and a deeper
objective than "kill player".

~~~
funkyy
I think AI, in this case, is overkill. Create ~10 common enemy class and spawn
them based on your strategy history, equipment and game pace. Each and every
enemy would act differently like if you were more on sniping side, you would
get snipers and fast units spawned. With mediocre AI this would make the game
appear as having very good AI to regular player.

~~~
astrodust
A large part of the predictability is how the units come in at pre-defined
locations and/or based on pre-defined triggers. There's very little randomness
in this department.

If that was more unpredictable, if each death switched things up slightly,
you'd have a far harder time gaming the system.

Like you observe, that might also make the AI appear smarter since the flaws
are less obvious.

------
moomin
In Half Life, when they yell "cover me", one tries to flush you out and
another cuts you off. What's really interesting is what all the other soldiers
do: they run to random positions. Early builds didn't do that and the AI was
just plain mean. Game AI is a constant balancing act between being
good/engaging and not killing the player.

Civ is the same: the AI has routines that try to win, but also a whole bunch
that role play.

------
josefresco
I'm old enough to remember the reviews of HL2 which marveled at the same kind
of AI. I distinctly remember my experience first playing, when enemy AI ducked
behind a crate, and radioed for help. At the time this was amazing, as most
enemy AI in other games would blindly run into your stream of virtual bullets
- let alone radio for backup.

~~~
the_af
And I'm old enough to remember the marines from the first Half-Life, who
seemingly had an AI that allowed them to flank you, throw grenades at you, and
scatter when you threw grenades at them. Of course, most of it was likely very
simple behaviors, but it seemed amazing at the time!

~~~
josefresco
I think (due to my advanced age) I got my HL's confused. It was in fact HL1 -
thanks for jogging my memory, from one old guy to another.

~~~
vocatus_gate
You could be forgiven for making that mistake. The Combine soldiers in HL2
functioned in much the same way, even better in some cases. I've played
through both games a number of times and the firefights play out differently
each time.

------
mey
[http://gdcvault.com/play/1013282/Three-States-and-a-
Plan](http://gdcvault.com/play/1013282/Three-States-and-a-Plan)

~~~
E6300
> What sets F.E.A.R. apart is the fact that [...] A* is used to plan actions
> as well as paths. [...] If the Player slams a door on a pursing enemy, the
> soldier can dynamically re-plan and decide to fire through the window, or
> flank through an alternate entrance.

Interesting idea. Clever use of a classic algorithm in a novel way.

~~~
frik
A* was pretty new back then. Previous iteration of games just 2-3 years older
used older algos, or invented new path finding algos due CPU constraints.

~~~
frik
I was speaking about RTS and in the sense of Age of Empires 1 and Empire
Earth. The main dev of both this titles Rick Goodwell mentioned A* was used in
Empire Earth the first time, older AoE1 used an older less CPU intensive algo.

@omginternets:

> dates back ... extension of ... adds a few heuristics.

Blabla, BS.

Fact is Empire Earth was one of the very first computer games to use A* algo.
Age of Empires 1 used a worse faster different algo.

Fact is in the age before Wikipedia and Google, decade old papers of obscure
algos were more or less lost and forgotten. They were written on paper with no
digital copy readly available. So game devs often reinvented things without
not knowing of previous work, it took several years until the early 2000s that
this old stuff got scanned and made public viewable.

~~~
E6300
> The main dev of both this titles Rick Goodwell mentioned A* was used in
> Empire Earth the first time, older AoE1 used an older less CPU intensive
> algo.

Citation? The only mention I can find about the pathfinding algorithm used by
Age of Empires is this:
[http://artho.com/age/pathfinding.html](http://artho.com/age/pathfinding.html)

A* is supposed to be an optimization of Dijkstra's. I don't know why you call
it CPU intensive.

------
VA3FXP
Non-FPS excellent AI: DF has already been mentioned, but an excellent DOS-
based game that I used to play on my 386 was Commanche Maximum OverKill.
(helicopter combat sim) The game proudly stated this in the manual: (bad quote
from memory) "...with a smart AI that changes it's behaviour every 3
minutes..."

This stuck with me because it actually worked. If you repeated an action long
enough, the AI changed how it tried to kill you.

Scenario: You are in your helicopter trying to blow up tanks and helicopters,
and "Mission Targets". The lower you fly, the longer you evade radar, and the
closer you can get to your target. So you hide behind some hills, pop-up
acquire a target on a fuel tank, fire your missile, and then duck down before
the enemy missiles can get to you. You then repeat this process to get all of
the targets, but if you take too long the tanks/helicopters will fly around
the hill trying to find you (as opposed to sitting next to the targets dumbly
forgetting you exist).

The game learned from your pattern, and adapted. IMHO this was superior to
every other game that just had the enemy shoot faster (i.e. Unreal Tournament)

On the other hand, it might just be nostalgia.

------
speps
If you have F.E.A.R. on Steam, the SDK is still available and contains most of
the AI code, be careful of licensing issues but it's interesting to study.

~~~
JustForFun
Patch the game to 1.08 first. Then install the F.E.A.R. SDK. Then find a copy
of Visual Studio 2003. Now, you can even recompile the whole game in Release,
Final and Debug mode. \-- JustForFun.

------
joshbaptiste
The best FPS AI I've played was the PC game "No One Lives Forever" back in
2000, created by this same studio Monolith Productions.

~~~
mercer
Wow, that's a wave of nostalgia hitting me! NOLF was also one of the funniest
shooters I've ever played.

~~~
simonh
The effects for the dis-integrator pistols on the spaceship were so simple yet
so classic. It's one of the early games where you got to do lots of different
fun things, like scuba diving with a spear gun, driving a snow mobile, etc
rather than smashing crates in a bunker.

~~~
mercer
I think it was the sequel, but I'll never forget the chase sequence, at
breakneck speed through Marrakesh(?), involving deadly mimes on tricycles.

------
kbenson
_In his presentation, he observed that the AI reminded players of the first
Half Life game, which came out seven years earlier. “It seems that we haven’t
made much progress in seven years. There has to be more we can do with game
AI.”_

That's what came to mind reading this. I remember the AI and Half-Life, and
while it sounds like they did better in this game (which I haven't played), it
also sounds like an iterative step, and after seven years, that's not a lot. I
happen to own this game on Steam from some humble Bundle pack or something, so
I think I might have to break it out and have a play...

Edit: Sheesh. 17GB install for a 2006 game. That's steep.

~~~
flogic
Playing against a bot programmed to fight intelligently and efficiently just
wouldn't be fun for long. A friend and I tried playing against the Reaper bot
in Quake years ago. It mopped the floor with us. Which in terms of my skill
probably doesn't mean much but my friend was really good at Quake. The bot
didn't let up, didn't pause, memorized weapon locations, move at a constant
run, and never missed. It would even jump, 180, and beam you with a rocket.
That made for fun novelty one evening but no one wants that for multiple
levels.

~~~
gozur88
There's a difference between a bot that's been programmed to act intelligently
and a bot with superhuman abilities and reflexes. You can have the first part
without the second.

~~~
happyslobro
I bet that a game AI model of a human mind's executive function would actually
be embarrassingly simple. Something like a 7 element ring buffer of tasks and
their parameters, with interrupts. When the bot tries to remember or do more
than 7 things, it just starts forgetting stuff, which it might notice again
later. Just like me.

~~~
shinymark
Agreed. This is why single player game AI can be made fun with simple FSMs and
logic models.

------
lukiano
There is a goap library for C#/Unity3D:
[https://github.com/luxkun/ReGoap](https://github.com/luxkun/ReGoap)

------
bbayer
you can download FEAR SDK from the link below that contains complete GOAP
(Goal oriented action planning) implementation.

[http://fear.filefront.com/file/FEAR_v108_SDK;71433](http://fear.filefront.com/file/FEAR_v108_SDK;71433)

------
HurrdurrHodor
I think it is important to keep in mind that AI in games often not only needs
to do the smartest thing but actually the smartest thing a human would do.

So in the case of F.E.A.R. the AI is simulating humans so they shouldn't seem
smarter than that.

This starts at not microing to well in strategy games and not aiming to well
in shooters but is almost limitless in how complicated one can make it.

------
nepotism2016
AI hasn't moved on because multiplayer world has exploded in the last 10 years

------
komali2
What a weird coincidence, I just reinstalled and played a bit last night and
was thinking about how incredible the enemy AI was for a what, 6 year old
game? Older?

~~~
ionised
Nearly 12 years

------
hypertexthero
If you're interested in emergent AI I recommend Mitch Resnick's Turtles,
Termites and Traffic Jams — [https://mitpress.mit.edu/books/turtles-termites-
and-traffic-...](https://mitpress.mit.edu/books/turtles-termites-and-traffic-
jams)

------
kikimaru
I remember play-testing this game, and feeling almost certain that they
"dumbed-down" the AI between builds as it was too hard for us to beat. Also
had a few scary moments - such as that time our build crashed every few
seconds, on a Friday!

------
roflchoppa
I think i have the game in my library, ill have to give it a go and see how it
is.

PANICS anyone?
[https://www.youtube.com/watch?v=thkcDqPsmEU](https://www.youtube.com/watch?v=thkcDqPsmEU)

~~~
wingerlang
PANICS is really great.

------
lexicality
I seem to remember that Titanfall's mooks had really great AI. Largely wasted
because the players could easily murder entire squads without reloading, but
they would attempt to move in waves, shout orders, flank etc.

------
avenoir
Escape from Tarkov has an outstanding AI. Probably one of the best I've seen.
You can rarely tell if the enemy is another player or a bot.

------
Apocryphon
How did the A.I. in the expansions or sequels compare?

~~~
JustForFun
Pretty good. Extraction point is really harder from time to time.

\-- JustForFun.

------
tekni5
Time to re-install F.E.A.R.

~~~
Jaruzel
I just did. :) About 2 hours ago. Have been playing it since then. Oops.

~~~
tekni5
I did as well, but haven't played yet.

------
frik
Not only advanced A.I. is basically dead knowledge in modern games, also Bots.

Quake 3 Arena, Unreal Tournament and many more games had offline bots with
whom you could play multiplayer maps. Most relied on predefined paths added
with the map editor, but some of them worked without paths as well.

It was impressive how good Unreal Tournament 2004 bots handled cars and vast
open maps.

Also RTS games category is dead, it usually also featured advanced A.I. to
play against bots on random generated maps. Sadly, games like Age of Empires,
Empire Earth, Command & Conquer are dead. (before an off topic comment derails
the conversation: I know about the 8 year old SC2, I know about other kind of
strategy games but they are not RTS, I know about Moba and tower defence but
they are not RTS)

~~~
idonotknowwhy
You need to give 0ad a try: [https://play0ad.com](https://play0ad.com) It's
very much alive and well, and the AI gets better with every release. I'll be
able to beat it on the hardest difficulty, and then the next release comes out
and I have to come up with new strategies...

~~~
frik
0AD was great two years ago, still in alpha though. I try it once a year but
the progress is very slow, and things are more broken (AI) than two years ago
(tried it in Dec 16). Don't get me wrong you can play many map styles, and get
hours of gameplay out of it. It's an open source project, so one shouldn't
compare it with other triple-A games, for a open source game it's superb and
very much comparable to Age of Mythology . The project needs more supporters.
Though 0AD is my biggest hope, maybe a sister project forms that use the same
graphics engine and code base to develop a C&C Generals inspired game as well.
In the era when Triple-A studios forgot about RTS, it's time to solve the
problem of no new games through the community.

------
frik
Half Life 1, Far Cry 1, Fear 1 had really great A.I. Where HL1 and F1 were
corridor shooter, where A.I. is easier, Far Cry 1 had A.I. in open world
scenario where soldiers flamked you around a hill and such. The A.I. was
written mainly in Lua game script. Sadly the implementation prevented save
games.

That's about it. Sadly most game dev studios don't invest resources in good
A.I. The stupid mass of soldiers you know from Call of Duty franchise is now
everywhere.

~~~
jchassoul
Half-life 1 have incredible AI from boids that present a flock behavior to
coackroaches that are scared of the light or the player, just to mention two
attention to detail examples.

------
jlebrech
I want a game where you're in a city and there are many legals jobs that AI
and players can do, but also there will be illegal ones that they can pick up
and players have to be able to spot suspicious activity (ie, not walking like
an AI or changing uniform, etc..) to hunt each other down.

~~~
misnome
Did you ever see the game "The Ship"?
[https://en.m.wikipedia.org/wiki/The_Ship_(video_game)](https://en.m.wikipedia.org/wiki/The_Ship_\(video_game\))

Similar to this; set on a cruise ship with NPCs doing random tasks, you had to
work out who your (Player) target was amongst NPCs and assassinate them
quietly.

I think one of the Assasins Creed games also had a similar multiplayer.

~~~
jlebrech
oh yes that game is pretty much what I thinking of but in a city setting.

I initially thought that if i were to make the game I wouldn't be able to
simulate the same paths as a human player so would need to use a waypoint
clicking system to move until you're being attacked and your cover is blown.

------
madshiva
Nice, I didn't know GOAP. I will try the game, generally I don't like to play
against AI because they are so stupid.

Anyone with a good idea for my next game? :)

~~~
JustForFun
Killzone 3, Shadow Of Mordor, Transformers 3: Fall Of Cybertron....

All these 3 use planning (the planner in SOM is the grand grand son of
F.E.A.R.'s -- other 2 use HTN planning) for the AI.

    
    
        ;-)
    

\-- JustForFun.

