The AI Systems of "Left 4 Dead" [pdf]
valvesoftware.com
valvesoftware.com
edit: The AI controlled human players is extremely competent, maybe the best bot players yet created. But they do show their limitations in multiplayer...among their weaknesses: they're too willing to sacrifice their healthpacks for an injured teammate, and will almost always try to help an incapacitated player no matter how hopeless his/her cause. Real humans can be total assholes, but in some situations its best for the team to leave a straggler behind, especially if the enemy has set up an ambush for the rescuers.
Amen. TF2 and L4D are two games that I consistently play years after the fact which is unlike other games I have.
Unless you're playing with people you know, both games are equally frustrating. Specifically in TF2, it's those who go and play support classes when there are already enough of those in play on the map on your team that makes it frustrating.
TF2 also has a huge accessibility problem which contributes to an overabundance of support class players, but also makes it a brilliant game. As opposed to the Battlefield series, where seeing the enemy first is most of the battle, it's actually difficult to inflict any damage at all in TF2. For instance, I'm at about the 200 hour mark and when I play demo I can only hit ground-based targets with pipes maybe 20-30% of the time - and that's quite good! For beginners, the only playable frontline classes are pyro and heavy. Spy and sniper are also popular because it's easier to survive when playing them, and maybe sneak a few insta-kills. Medic is easy to play, but can be very boring.
tl;dr: Don't hate the player, hate the game. And don't hate the game, because you'd be hating what makes TF2 such a wonderful game to play. Even at professional levels getting an airshot is a remarkable feat.
Once you have a lot of practice, it's amazing what you can do in TF2 - e.g. chaining 3 rocket jumps then taking out a sniper while still midair.
Better yet, a lot of mechanics like pyro reflect get much more interesting when you're facing other skilled opponents because of how much prediction is involved in the timing.
I don't see this talked about much, but it really makes TF2 shine as a straight up fun game. It allows players to communicate in any way they see fit, from the user casual to the highly formal/competitive. That means players can organize themselves to pull weird shenanigans or play very competitively using communication to gain an edge. Also, since voice is such a uniquely human attribute, it humanizes other players who would otherwise be anonymous participants.
The end result of this is that you get highly cohesive communities that make the game great!
So while I liked the team-based nature, I found it actually didn't help longevity - for me, at least. Well, more relevantly, this is also the case for my friends - individually I'm a poor data point as L4D was the last game I took any real interest in at all.
I have often wished that Valve would make the player-bots more explicitly customizable (particularly because I only play team vs environment modes, and occasional really bad bot decisions make the game harder in a not-fun way.)
There are several settings available through the console, but they can only be tweaked if the server has SV_CHEATS on. At one point I had a list of 4 or 5 minor changes that made the bots substantially more competent, the main one being reducing their following distance to about a third of what it previously was. My most wished for change, which I have not been able to find a setting to control, is the threshold at which AIs will use their healthpacks on themselves or actual humans.
Tying this back to the article, the L4D bot AI, in my opinion, is intended to just be good enough to get you enough experience to play online reasonably competently. Multiplayer is the real game, and perhaps PvP is the real real game (I haven't played it much.) Bots are pretty poor at tactics, just bunching up by the player. They also don't use throwables at all.
It's important in L4D to require players to pay attention to their teammates, but it's also important to maintain the "fun" aspects of the game. It's one thing if the AI gets behind because they're being attacked and the player is doing a bad job of protecting them; it's entirely different if the AI gets behind because its algorithm sometimes gets hung up (and it's not fun for the player to have to try to solve pathing glitches!)
http://www.valvesoftware.com/publications/2009/ai_systems_of...
(I never really liked scribd and with pdf.js it's clearly obsolete)
EDIT: as pointed out below, it doesn't. Belay this comment.
Thanks.
I'm assuming that represents an entire open area (otherwise the path optimization makes no sense) and the dark stuff are the obstacles. In that case I'm wondering how the arrive at the actual grids and arrows (slide 12)
As for the path, A* search is usually the name of the game for any kind of 2D pathfinding. With the usual Euclidean distance heuristic it always returns the shortest path, but it's possible to use an "inadmissible" heuristic to make it run faster (and produce sub-optimal paths). The arrows shown on the slides are a little baffling; I can't imagine why those four vertically stacked boxes on the right-hand side would create a jagged path, for instance. It may just be exaggerated for effect.
Most toy examples I know use an even square grid so I was wondering if I might be missing something there.
Either way thanks for the answer (same goes for the other posters who provided links)
Disclaimer: I am a MSc student working on the above method for my final thesis (involving GPGPU steps and a true multi-tiled approach).
Anyway, I always thought the bots should respond to those commands, and was always surprised when they didn't.
Then again, the experience with the commandable AIs in Half Life was so profoundly miserable, I thought maybe they couldn't get it working reasonably. After all, when you give a command to a human, there are a lot of contextual clues involved in how to interpret it.
I wished that instead of investing in graphics, the AI got more attention.
If we're not talking FPS then I've been impressed by the AI in XCOM. God damn those bastards are hard work.
This is a challenge in every randomly generated game content and the AI Director solution seems to be a fair one.
no if only i could hire from that talent pool :)
I wish I was taught more about neural networks, machine learning, data mining techniques... and less about classic (and failed) AI algorithms. The most I learnt about these techniques was from teaching myself, even for the last year.
Perhaps we attend the same classes?
[sorry for the OT guys, no PMs in Hacker News!]
presentations and papers like this are what i'm referring to:
https://skatgame.net/mburo/icaps2010-pg/ICAPS-PG.2010.1.bart...
http://www.plg.inf.uc3m.es/icaps-pg2007/papers/Symbolic%20Ex...
http://www.slideshare.net/StavrosVassos/the-simplefps-planni...
http://abotea.rsise.anu.edu.au/data/offline-htn-planning.pdf
http://www.guerrilla-games.com/presentations/VUA07_Verweij_H...
etc etc etc. turns out a lot of these ideas people thought were failures are getting a new lease on life in games, and they're working pretty well.
curious what classic AI algorithms you think are failing. from where i sit i'm seeing them get a new lease on life. maybe it's just the natural cycle of things: they get hot and invested in, they then fail to live up to their assumed potential, they fall out of favor for a while, and when everyone who was familiar with them - and their shortcomings - is gone a new generation finds it again and starts the cycle over.
EDIT: Well, if this AI in game development, then so be it. But it's still not AI in the generic way, IMHO. To downvoters: I didn't contest the fact that they don't work. I do enjoy this games a lot and I praise the programmers that make such games work.
Loocas the Thinker comes across an unknown object--a woman. ... "Behold! I can look upon her face, which is something she cannot do--therefore women can never be like me!"
And thus he proves man's superiority over women, much to his relief ... The woman argues back: "Yes, you can see my face, which is something I can't do--but I can see your face, which is something you can't do! We're even."
"I'm sorry, you're deluded if you think you can see my face. What you women do is not the same as what we men do--it is, as I have already pointed out, of an inferior caliber, and does not deserve to be called by the same name. You may call it 'womanseeing'. Now the fact that you can womansee my face is of no import, because the situation is not symmetric. You see?"
"I woman-see," womanreplies the woman, and womanwalks away . . .
http://web.media.mit.edu/~jorkin/gdc2006_orkin_jeff_fear.pdf
Searching algorithms have always been part of the AI field.
The difference is in the degree to which the illusion has to hold up. Game "AI" exist in a limited, artificial world; so they can get away with "simple" algorithms without any learning elements. General AI needs to operate in the real world (even if constrained to a particular domain), where the "rules" are too numerous and complex to program in advance; thus learning is an essential part of "traditional" AI.
In a real world, you can't live on illusions, an AI really needs to perform ( think Googles self running cars ). Learning ( and all the other useful ingredients of the AI ) are essential.
From a broader perspective the entire question of "should these bots seem humanlike or act rational" is a typical AI question (think the 4 squares of AI definitions in R&N). In this example it is specifically of interest to find a path that is not the most rational but rather the most humanlike (well technically I suppose you could find a performance measure to judge humanlike and optimize that and it would be rational after all).