The Total Beginner's Guide to Game AI
gamedev.net
gamedev.net
We always had loads of cool ideas, like enemies running out of ammo and throwing clips to each other. But the reality is, the player will never see it.
Uncharted does a great job of messaging the AI's intent to the player. The AI itself is fairly decent, but the messaging of intent is excellent.
This could also make for a very frustrating experience for some players because it took time to grok the intentions and behaviours of enemies. For example, I remember a review of Rain World (on Rock Paper Shotgun) where the reviewer raged because every time he died the game respawned the enemeis at random locations, so that they were not where he had found them previously and he had to learn their new locations all over again. In truth, the game didn't "respawn" anything -the game world kept running while the player was dead, as it did when the player character was absent, much like in, say, Don't Starve and other games that take a simulation-y approach to a game world. But, to the reviewer, this somewhat complex behaviour (certainly for a game that looks like a platformer) was very unexpected and very frustrating.
If you're in the mood for one you're probably already aware of my favorite which is Rimworld. If not, hurray for you that will be a fun time sink. Other than that, I haven't been following anything other than Stonehearth, which depending on who you ask was a failure but recently did come out as a 1.0.
Of course none of them could possibly approach the complexity of DF but the spirit has definitely spurred on some cool projects.
If you get raided, you should be able to scout the caravan before it arrives. If bugs tunnel under your base, your ground penetrating scanner should detect them in time to get in position to defend. The list goes on, and the solutions to the UX challenges are there, if developers didn't simply throw their hands up and say "Welp, that's just too much UX for me!"
The game that got randomness right was Diplomacy. There's no dice rolling at all, but the randomness is there because you don't know what 6 other people are going to do when you put in your orders, but you rely on them holding to their agreements for the success of your own moves. It's a very satisfying mechanic because randomness is still causal. Randomness truly represents your lack of information, and can be mitigated by your ability to extract reliable information from the other players. When you get screwed by randomness, it doesn't feel like arbitrary bullshit. Knowing that effects have causes is crucial for people's ability to form a narrative about their experience.
What isn't necessary is to simulate reality down to the smallest detail, which is what I feel like most people try to do when they end up complaining that it's too complex to present to the user and has minimal effect on gameplay. One needs to be smart about simulating the things that do have an effect on gameplay by focussing on narrative mechanics, and not just trying to recreate physics.
In short, the solution to complexity is not getting rid of it and replacing it with unsatisfying random chance, but instead to create a renormalized model that eliminates the extraneous degrees of freedom.
I do wonder, as someone who made this mistake themselves to a degree, how much of this is because it is fun as a developer to work on these over-complicated simulations :)
I have just (just!) started making a DF like game but will be based off the D&D world. I am starting from the bottom because I want the challenge and have less priority on completing the game (and more on learning/challenging myself). When I mean bottom, I have almost finished creating a path finding algorithm that should be much faster than the current ones out there (geared towards 3D grids like DF). I also created a line of site algorithm that is symmetrical and (so far in testing) angle/corner perfect. World generation will be based on tectonic plate movement (bare bones version created).
I realize more and more these types of projects are the ones that differentiate "good" developers from truly "great" developers.
Related article I've read from a naughtydog AI developer on uncharted 4
Sounds like a problem with the particular constraints of the PvE genres you were working in, rather than with games generally.
Imagine an RTS where the player has to work their way up from grunt to strategist, and thus "plays every role" along the way. In that case, the enemy AI is the ally AI; the player experiences the allied side of it, and can use that to understand the enemy side of it, and thus make plans.
This same problem would exist in a RTS, since the player still needs to know that the random ammo appearing is from squadmates passing it off. Otherwise, the player would be just as confused, possibly thinking they were picking up ammo off the ground.
Like most things in life, this is a tradeoff between cost to implement VS value.
I work at a small AI startup, and our CEO worked on the AI for the NPCs in F.E.A.R. [0]. He has written about developing the goal-oriented action planning [1] approach in the game (and is linked to in this article). Great to see how it was done!
[0]: https://en.wikipedia.org/wiki/F.E.A.R. [1]: http://alumni.media.mit.edu/~jorkin/gdc2006_orkin_jeff_fear....
More info: http://aigamedev.com/open/review/planning-in-games/
I said "Errata" - I meant "Addenda"
Curious about the AI startup you are working on now?
I would like to know more . Jpg
There are mods out there now that allow you to enable the full A-Life simulation and honestly it is very impressive even to this day.
I want to know more about this.
was it just preprogrammed ability/method that was unlocked after a time or was there some sort of machine learning?
This article, on the other hand, is comprehensive and very well-written. Anyone interested in this topic should give it a read.
And the early section on constraints is especially great. Game AI has to worry about enjoyable performance and variety of challenges given almost no CPU time, which makes all the difference...
https://nervoustestpilot.co.uk/album/frozen-synapse-original...
Currently, an interesting new (neuro-)evolution is happening in Game AI. With the OpenAI 5 and it's "180 years of training per day". We begin to see the feedback loop of game design being influenced by AI.
Detroit: Become Human is one recent example of how AI is used to manage the enormous complexity in game narrative. And some hotly anticipated titles for the fall including Last of Us 2 and Death Stranding will demonstrate the state-of-the-art.
And I don't think it's just for open world environments. Or a new generation of cloud-enabled VR / AR experiences. AI will also be used to re-design "flaws" in arcade classics. And render them infinitely playable into the future.
What does it do? From walkthroughs I've seen, it looks extremely scripted.
Now, do I recommend it? Absolutely not. It starts off really good, especially if you're already expecting another Heavy Rain or Beyond Two Souls. But after a few hours (maybe just one?) it gets heavier and heavier handed. It's impressive how quickly it turns from an interesting story about both intolerance and what it means to be human, and just becomes a series of scenes that practically scream "DO YOU GET IT YET? DO YOU?".
Probably still the best David Cage game I've seen, mostly for the strong intro and branching narrative, but that's like picking your favorite Uwe Boll movie. If you want to play one of these style of games and can handle horror, I'd point you toward Until Dawn instead, as I think that's probably the best example of the genre.
[0]: [Spoilers] Here's a graph of the choices available in one mission. Some are significantly more linear, some are even more complex. Note that other missions may include two or more (Up to 5 I think?) starting points. https://d1lss44hh2trtw.cloudfront.net/assets/editorial/2018/...
Combining route finding, goals & priorities, situational awareness, and also adding in some flakiness so it's not perfect can give a really good and usable approximation to AI from the human players perspective.
The computer player needs to have rules and knowledge in place about the game such as how to get around the maps and how to shoot / evade the enemy all without being too good.
I remember the first time I played HALO and the guys talked to each other, and it wasn't just random sound effects they actually did the thing they were talking about. If the Elite guy said to "flank him" they would try to flank you or whatever, it was very cool.
It's learnt the game from scratch by self play and can best professional players in some game modes.