A
AiGameDev
aigamedev.com · Group blog · on HN since 2007
AiGameDev is a site about artificial intelligence in video games, covering pathfinding, behavior trees, and developer interviews.
What HN saysHN commenters list it among resources for game AI programming, and link its interviews and its community award for the best NPC.
43HN people shared it
24linked it in comments
25stories submitted
78story points
8 years agolast shared
2007people per year2026
Most-shared posts
- 1Homepage4 people · first shared 2013
- 2Game AI bugs caught on tape... and fixed2 people · 7 points · first shared 2009 · 3 comments on HN
- 3Infinite Mario AI using A* Search2 people · 1 points · first shared 2011 · discussion on HN
- 4Stalker alife2 people · first shared 2017
- 5Procedural Characters and the Coming Animation Technology Revolution1 people · 8 points · first shared 2012 · 1 comments on HN
- 6Recast'ing automatic annotations for player cover in KillZone 31 people · 8 points · first shared 2011 · discussion on HN
- 710 Reasons the Age of Finite State Machines is Over1 people · 7 points · first shared 2007 · 2 comments on HN
- 817 Ways to Reduce Your Turnaround Times While Prototyping Game AI1 people · 6 points · first shared 2008 · 5 comments on HN
- 9A-Life, Emergent AI and S.T.A.L.K.E.R.:An Interview with Dmitriy Iassenev1 people · 6 points · first shared 2008 · discussion on HN
- 10The Crysis of Integrating Next-Gen Animation and AI1 people · 5 points · first shared 2007 · discussion on HN
- 11Analyzing the AI Bot Library from the Quake 3 Source Code1 people · 4 points · first shared 2008 · discussion on HN
- 12Why the age of finite state machines is over – game devs perspective1 people · 3 points · first shared 2018 · discussion on HN
- 13Top 10 Most Influential AI Games1 people · 3 points · first shared 2007 · discussion on HN
- 14This Year in Game AI: Analysis and Trends from 2010 and Predictions for 20111 people · 3 points · first shared 2011 · discussion on HN
- 15Fast Pathfinding via Symmetry Breaking1 people · 2 points · first shared 2012 · discussion on HN
What HN people wrote when they linked it
andredublin · 2014-12-11
Here are some resources on AI programming
http://gameai.com/
http://aigamedev.com/
http://www.gamedev.net/page/resources/_/technical/artificial-intellige…
I highly recommend this book
http://www.gameaipro.com/
aaggarwal · 2015-06-14
Thank you for sharing. The video explanation is really easy to follow.
For interested people, here is an interview with K. Stanley, the author of NEAT: http://aigamedev.com/open/interviews/galactic-arms-race/
I was wondering if this learning technique was applied to any other games. I came across this:
1. https://www.cs.utexas.edu/~mhauskn/papers/atari.pdf
2. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.93.196&re…
seivan · 2015-05-28
Amit also writes on http://aigamedev.com
You sorta need to use other tools with A* in order to fully utilise it. Steering forces, behaviour trees an etc :)
drzaiusapelord · 2015-05-18
Typically he means following a pretty simple deterministic path.
Hero enters room doorway > Trigger 4 guards who walk down a path towards him > If hero appears within x amount of pixels then attack. (take no cover, do nothing dynamic, and just wait to be killed)
Hero enters middle of room > Trigger 4 guards who walk down...etc
I believe F.E.A.R. has regarded as having excellent AI that dynamically worked against the hero. If he had a shotgun they'd stay back. If he made noise they'd rush him. If he was quiet, they'd wait. Decent writeup here:
http://aigamedev.com/open/review/fear-ai/
A lot of players really want that level of AI in their games. I can't say I blame them. Its a completely different experience. Of course, cheap/free multiplayer and co-op kinda solves that problem or at least makes a big investment in AI a disincentive.
hoggle · 2015-01-04
Thanks for sharing - perfect timing as I just had the best gaming weekend for a very long time and to a big part that's due to the fabulous AI in Alien: Isolation (it won the aigamedev community award for best NPC 2014 http://aigamedev.com/open/editorial/2014-awards/?utm_source=twitter&am… ).
lenocinor · 2014-07-20
From the article:
"A* is a good choice for most pathfinding needs."
I teach A* in my game AI class, and after having examined dozens of real-world game implementations of pathfinding, this is exactly right. While it's true that you shouldn't ALWAYS use A* , most games use A* in most situations, because actually greedy approaches like you are discussing do poorly surprisingly often. My recommendation is to start with A* and only use simpler methods if it isn't giving you the performance you need.
For your subdivision comment, the general approach is generally called hierarchical pathfinding. There are lots of ways you can do this, but I like HPA* : http://aigamedev.com/open/review/near-optimal-hierarchical-pathfinding… Your comment about two levels is good, because while hierarchical pathfinding can use any number of levels, I've never seen more than two in practice in games.
Paradigma11 · 2013-02-21
you can find tons of information here: http://aigamedev.com/
the most interesting stuff is behind a paywall, tough.
pmelendez · 2012-09-05
Granted.... However, a game character getting stuck in a corner or jumping to water without a reason is not much fun.
The following article illustrate the point:
http://aigamedev.com/open/article/bugs-caught-on-tape/
parasubvert · 2017-04-04
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/
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/ .. 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…
PetahNZ · 2016-11-04
MrBra · 2014-01-26
Yes but as I suspected it features a scripted A.I. while I was looking for a real 100% "thinking" dynamic and/or even machine-learning based A.I.
Quoting from: http://voices.yahoo.com/what-good-ai-bad-ai-7633798.html
"Metal Gear Solid 2 and Metal Gear Solid 3. These two games feature the most scripted A.I. in the history of video games. And yet, I love the A.I. of both games. They're programmed to react differently to your different actions and while everything is pre-programmed and you'll learn just how scripted it is by the time you're about half-done with the game, there're so many different scripts to the A.I., that as predictable as they are, you'll en up having a lot of unique and unpredictable moments in those two games."
Compare that to "Creatures" for example.
Quoting from: http://aigamedev.com/open/highlights/top-ai-games/
"Creatures is an artificial life program where the user ‘hatches’ small furry animals and teaches them how to behave. These “Norms” can talk, feed themselves, and protect themselves against vicious creatures.
It’s the first popular application of machine learning into an interactive simulation.
Neural networks are used by the creatures to learn what to do. The game is regarded as a breakthrough in alife research, which aims to model the behavior of creatures interacting with their environment."
So I am sure that no matter at how good MGS 3 might get, given I am specifically putting attention to this aspect (and that I am not really…
danso · 2018-10-25
I never really played online, but as a kid I was fascinated by the near-automation that TA allowed for with its unit queuing options. I'd happily pay full price for a game that had TA-era graphics, but the AI improvements of today. Though it seems improvements in single-player AI has stagnated with the growing ubiquity of multiplayer [0].
[0] https://aigamedev.com/open/interviews/stalker-alife/
kamek · 2018-08-16
Depending on your application, if you're interested in A* you may be interested in using Theta* instead. It's not much more difficult to implement but provides much shorter paths if one does not need to remain on the edges in the graph.
Take a look at the explanation and figures here:
http://aigamedev.com/open/tutorials/theta-star-any-angle-paths/ for more information.
mpax · 2018-08-14
STRIPS was the original algorithm Monolith used for fear. The interesting thing about STRIPS is that it uses A* pathfinding to solve a decision-making graph.
More info: http://aigamedev.com/open/review/planning-in-games/
nakkaya · 2017-08-08
Author here. Did not knew about Céu till now, just watched the intro video. I maintain a behaviour tree [1] library called alter-ego [2] (code needs cleanup) which already contains some of the constructs. In behaviour tree terms par/or is parallel selector and watching is a interrupter node. [3] So it can be done in Ferret on a general purpose PC using C++11 concurrency constructs, for embedded targets it will require co-operative multitasking which is on the roadmap.
[1] https://nakkaya.com/2010/06/29/alter-ego-a-reactive-ai-library/
[2] https://github.com/nakkaya/alter-ego
[3] http://aigamedev.com/open/article/parallel/
agumonkey · 2017-06-29
Reminds me (again) of Jonathan Edwards research. He did many editors with tables as first class so that you can avoid boolean nestings, and simplify verification / closure of your boolean mappings.
He published a video, sadly in flash http://www.subtext-lang.org/subtext2.html
Here's an article about "schematic tables" http://aigamedev.com/open/review/schematic-table-conditionals/
JustForFun · 2017-04-04
Well, actually, STALKER used GOAP as well:
https://aigamedev.com/open/interviews/stalker-alife/
Enjoy.
-- JustForFun.
danschuller · 2016-10-09
I'm using Gumtree for payment and distribution, it's worked very well for me.
As for marketing, I've just replied earlier in the thread with a little more detail.
For a site with tutorials on game development, most of your readers will be using adblocking software. Therefore most popular monetization methods are: selling a book, a course or locking off content behind a paywall.
Here's an example of premium content:
http://aigamedev.com/premium/interview/dying-light/
Here's an example where the author sells the source code for his articles
http://www.wildbunny.co.uk/blog/
This blog is about all sorts of tech stuff but he sells his book "Game Programming Patterns" (which is very good!) in the side bar.
http://journal.stuffwithstuff.com/
MasterScrat · 2016-06-07
Interesting!
How much more complicated would it be if the obstacles were not polygons but points on a grid?
I've always been curious how the FoV was computed so fast in the Baldur's Gate games given the complex grid-based map and the weak harder at the time.
Example grid: http://aigamedev.com/static/tutorials/FPSB_bg_rsr.png
And the FoV rendered: http://cdn.wegotthiscovered.com/wp-content/uploads/Baldurs-Gate-3.jpg (the rooms with no one in them are slightly darker)
modeless · 2015-01-18
The speech recognition and synthesis are primitive compared to any smartphone assistant these days. The natural language processing is about equivalent to SHRDLU from the 1960s [1]. It turns out that this approach based on manually constructing syntax trees and applying simple logic can make some fun demos but is ultimately a dead end in terms of making systems that are actually useful, as was discovered in the "AI winter".
The part that controls Mario looks similar (if not identical) to this: http://aigamedev.com/open/interviews/mario-ai/
If you want to see the state of the art in using AI to play video games, look no further than "Playing Atari with Deep Reinforcement Learning" [2], where a single general AI system learns to play many different games. The generality is what makes it impressive. Its only inputs are pixels and score, and its only outputs are joystick and button state, just like a human player. This makes it unlike these Mario systems which are hand programmed very specifically for Mario, and use special instrumentation of the game state that skips pixels entirely.
[1] http://en.wikipedia.org/wiki/SHRDLU
[2] http://arxiv.org/abs/1312.5602
dkersten · 2015-01-04
I don't think its really that much to do with research and implementation and more about the goals of AI in games. Mostly its the illusion of intelligence while not actually being intelligent.
I was reading about game AI again just yesterday and an exmaple of this is in this aigamedev.com article about things you can learn from Halo's AI, they say that "when you make the AI tougher (e.g. with more health points), the players believe they are smarter": http://aigamedev.com/open/review/halo-ai/
Game AI is a careful balance between:
1. Providing a challenge
2. Not being too difficult to be frustrating
3. The *illusion* of intelligence
Non of these really have much to do with "AI" as such and certainly don't need fancy implementations or research.
For shooters, being a good shot and having fast reaction time (ie things that make a good player) make for frustratingly terrible AI (and is super easy to implement). What makes a shooter AI feel smart is advanced combat tactics: teamwork, flanking, tricks to flush their enemy out, whatever. A lot of this can be implemented as a mix between behaviour trees and pre-scripted events. But as the Halo guys say, if the enemies don't live long enough for this to be visible, then it doesn't actually matter.
Having said that, I personally wish games had more of an A-Life simulation (agapos mentioned Stalker, a game whose AI I quite liked). Combat tactics is nice and all, but I want the games to feel alive when I'm not fighting…
angersock · 2015-01-04
There are some other helpful reads in the field of games AI:
Killzone's AI: dynamic procedural combat tactics (interesting for its use of tactical analysis):
http://www.cgf-ai.com/docs/straatman_remco_killzone_ai.pdf
Misc. coverage of the HL1 AI stuff:
http://aigamedev.com/open/article/halflife-sdk/
http://twhl.info/articulator.php?art=29
The Quake 3 Arena Bot (interesting for use of fuzzy logic and GA in training):
http://fd.fabiensanglard.net/quake3/The-Quake-III-Arena-Bot.pdf
The AI Systems of Left 4 Dead (interesting for focus on player state modeling):
http://www.valvesoftware.com/publications/2009/ai_systems_of_l4d_mike_…
Steering Behaviors for Autonomous Characters:
http://www.red3d.com/cwr/steer/
Artificial Stupidity: The Art of Intentional Mistakes (interesting for how it helps you train players):
http://www.liden.cc/lars/WEB/Resume/Papers/2003_AIWisdom.pdf
maccard · 2014-12-11
There's a few really good fun AI challenges that you can get stuck into - Even though they're ocmpetitions and over, you can still get the tools for them
http://www.marioai.org/
http://www.sscaitournament.com/index.php?action=tutorial
http://www.slideshare.net/coboslab/demolition-derby-2012-gecco-competi…
http://www.cloudball.se/
http://www.computerpokercompetition.org/
http://aichallenge.org/index.php
http://www.botprize.org/
http://aigamedev.com/open/coverage/ctf-report/
http://aibirds.org/
http://geneura.ugr.es/cig2012/competitions.html