Rendered at 22:05:29 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
drunken_thor 1 days ago [-]
This is behaviour trees. What you’re describing is behaviour trees.
Edit: I see later you say it isn’t a behaviour tree but this is how a lot of BTs are implemented. They don’t always loop from the root. A lot of the time according to state the root is redefined off of a branch and that sub tree is looped until going further down the tree or even into a different tree. Much like the stack you are describing.
AndrewDucker 1 days ago [-]
The article has been updated in response to this post.
(See the end)
andrewflnr 1 days ago [-]
There's definitely a strong shared flavor between this and behavior trees. Almost like a goal stack in this system is a continuation or call-stack of a behavior-tree traversal-in-progress.
cgh 1 days ago [-]
Perhaps this explains why Fromsoft npc quests are easily the most inscrutable in all of gaming. Like, okay Hyetta, have another “grape”, aka eyeball, oh now you’ve moved to the bridge in Liurnia, cool. I’ve exhausted your dialogue but you’re stuck. Oh I have to reload the area and exhaust it again to advance your quest. Okay, cool. Now you’re in a random church and you want a “fingerprint grape”. What?
It’s all part of the Fromsoft experience but man, who writes these things?
thechewanater 21 hours ago [-]
Elden Ring quests are implemented in a totally different set of systems from the one described in TFA, mostly something called EzState (dialogue trees) and EMS (map events). These are basically very primitive bytecode interpreters with unusual execution models and a small API surface to interact with the game world, so I think you're onto something. I can imagine the designers having a hard time implementing nicer interactions without constantly modifying the engine.
According to [1], earlier versions of the EMS editor were built on Microsoft Excel, took 30s to open, and didn't support undo/redo. They rewrote it for Elden Ring, but Dark Souls quest design makes a lot more sense when you realize how hard it was to change anything.
RE who writes these things: I know you're probably referring to code here but on the actual dialogue side, there was a charming interview recently with the person responsible for translating Miyazaki's vision into English. He apparently did all of the writing (dialogue, item descriptions, UI text) for Dark Souls, and split the work with just one other person for all the later games including Elden Ring.
More topical, I do actually appreciate some of the persistent jankiness like this that hasn't changed since their original games. They experimented with different approaches in DS3, where certain NPCs you encountered would essentially evaporate after you exhausted their dialogue, and they would later materialize back in the hub. I personally hated this -- one element I really enjoyed in the earlier games was this sense that the world doesn't revolve around you. The NPCs feel like rich characters with their own goals and motivations
Having them leave when you're finished talking to them sort of reduced them to utilities, which of course they are ultimately, but the gamefeel suffered a bit from making that more explicit. Don't me wrong though, I love DS3, but I didn't care for that particular change
Anyway, handling NPC progression in this way where the player needs to reload the area is more about navigating a technical limitation than anything else. But like many constraints it conspires with others to produce a certain gamefeel that I enjoy. It would feel a bit less impactful if Hyetta just moved on the instant I exhausted her dialogue -- it's more interesting for me to return and see that she has moved on
Another example of this sort of thing is FromSoft supposedly historically being bad at animating eyes, hence many critical NPCs being blindfolded or with faces hidden by helmets or otherwise obscured. This imagery plays nicely with their other sensibilities around character design and is thematically pretty rich
baud147258 13 hours ago [-]
> They experimented with different approaches in DS3, where certain NPCs you encountered would essentially evaporate after you exhausted their dialogue, and they would later materialize back in the hub.
I can't really talk about DS2 because I didn't play very far in that one, but in DS1 there are a few NPC who do that, like Laurentius, Griggs and Ingward
H1Supreme 24 hours ago [-]
When I finally started using the internet to figure out what I'm supposed to do next on some of the quests, I couldn't believe how many of the answers were "Talk to the NPC three times in a row to exhaust their dialogue".
Like, are you shitting me? Why? After a while, I would do this to every NPC, every time. But, yeah, it's a bad design.
lelandfe 20 hours ago [-]
The entire franchise is filled with what one would consider objectively bad designs
It makes for a deeply unique experience overall
Perhaps the one you’d most object to is the DS1 DLC, that people paid money for, lacking instructions for access. It involves killing a specific enemy and returning to a previous location.
At the time, people forked over cash and had to prowl the whole game playing spot the difference.
jjmarr 16 hours ago [-]
It has gotten worse. Shadow of the Erdtree requires you to kill a boss (Mohg) hidden within a SECRET AREA (Mohgwyn Palace) hidden within ANOTHER secret area (Consecrated Snowfield).
And the Consecrated Snowfield is only accessible if you find two parts of a hidden medallion, the first in a castle later in the game than the lift it operates. The second is hidden in a jar underneath a mountain. But you can't just smash the jar, you have to talk to the NPC inside the jar twice before you'll get the medallion.
The market rewards abstruse design.
mscbuck 16 hours ago [-]
To be fair, there is a different way to get to Mohg. You can talk to Varre at the Rose Church in the Lakes of Liurnia, and he gets you on the quest line that gets you there. You basically have to invade 3 (i think) people's worlds, PvP, doesn't matter if you win or lose, or there is one NPC that you can do an invasion on in Altus Plateau. Then he'll give you an item that just needs to be soaked in the blood of a maiden (and it's made explicit what you need to do, not just left for you to figure out). After that you get the letter and he will take you to Mohg.
pitkali 15 hours ago [-]
All the speedrunners just kill the guy in the jar to get the medallion: you don't have to talk to him.
Also, all you have to do in the Snowfield is to take a teleporter: that's not very secret, is it?
Cthulhu_ 14 hours ago [-]
It's not secret, but it's not exactly easy; you can find one part of the medallion just by exploring (iirc its description says what it's for), but not sure if the second half is that straightforward.
And even then, while an item may say "use it here", if it's been dozens of hours since you got it you may just straight up forget about it.
That said, I think that the target audience for the DLC was always people who thoroughly played through the game.
Same with the other games' DLC; for Bloodborne's you need to be yoinked by an invisible enemy while in posession of an item; while it's very possible people were accidentally yoinked on their first playthrough, they will forever know that the item is a trap and will avoid getting yoinked.
(unless the item in question explicitly said "get yoinked to go to DLC", I forgot)
pitkali 11 hours ago [-]
Oh, yeah, the Snowfield itself is secret enough, but getting to the palace afterwards is just a matter of exploration. The teleport is not that hidden.
FWIW, after you get one half of the medallion, get invaded by Gideon's lackey and then talk to Gideon, he will tell you to look for the Albinauric woman, so at least they give you this much.
All in all, I find the quests in the base game relatively straightforward, but anyone with any prior experience in their games will have an inkling that if they care about quests' results, you need to double-check with the wiki.
baud147258 13 hours ago [-]
Well for DS1 DLC, you had to kill an enemy from one of the latest area you unlock, then go to the back of an early zone, without any indication that you had to do so.
jawilson2 7 hours ago [-]
> That said, I think that the target audience for the DLC was always people who thoroughly played through the game.
That's true, but it is strange that you get there and get early-game upgrade materials, like Smithing Stone 2, etc. It seems like they wanted to emphasize that the Scadutree Fragments are the important things for scaling, and not your Base Game level, but you already have to be pretty high level and upgraded to beat Mohg.
wisty 15 hours ago [-]
Partly the jank is just a cost thing. Even major studios struggle with branching and merging stateful quest lines in game. I guess From picked a system that is cheap, robust, but kind of annoying for players, who forgive it because they otherwise love the game.
To some extent it's a design decision maybe. From makes games that are harsh and unforgiving, but not too harsh - you can mess up bits of quests but not end up unable to get an ending (afaik) which kind of matches the gameplay (harsh but not rage-quit inducing).
technion 21 hours ago [-]
Yeah, it did always get me as a design issue. I get that "there's more to ask them" is valid. But there's never an indication of "OK I've said everything now". You only find out when they start repeating themselves.
"Make the person repeat what they just told you" as a process is very immersion breaking.
Cthulhu_ 14 hours ago [-]
It's... interesting design, in that there's a puzzle or chance element I suppose. Especially Elden Ring encourages exploration, because there's almost always a reward for wandering and exploring in terms of items / abilities.
The NPC / quest thing means that, unless you go online, you will need multiple playthroughs and exploration to get every quest done, OR you need to engage in a community - the quests and lore are often all discussed, disseminated, notes compared, theories crafted, etc in the community after the release of a new game.
Whether that's good or bad design I'll leave up to opinion, but it's interesting.
(personally I don't have the time to do multiple 100+ hour playthroughs so I followed guides online)
wisty 24 hours ago [-]
It's hard and expensive to do branching games. Most games just fake it with a "branch and merge" system (save Carley or Doug, but the one you save is still going to leave the party forever in 20 minutes).
Fromsoft wants to do major seperate quest lines, so they have to cut corners elsewhere. I guess they choose a robust system that is sometimes annoying for the player.
tancop 1 days ago [-]
thats game design not something engine related. its been like this since before demons souls, i think it started out way back with the first kings field. its just the way fromsoft do things. everyone knows what to expect from them.
mostlysimilar 1 days ago [-]
Just to underline your point, Sekiro's NPCs behave in a much more obvious and linear way relative to From's other games, so it's clearly a game design decision and not a technical one.
SerpentJoe 1 days ago [-]
I would agree, but there are still some interactions that require doing the same thing repeatedly in order to make progress (eating rice balls, eavesdropping).
cgh 1 days ago [-]
Yeah, I’ve been playing these games since DS1 (currently on my umpteenth DS3 run as I recover from surgery). The quests never fail to make me laugh.
8 hours ago [-]
guizzy 1 days ago [-]
And even before King's Field, this is just the way games used to be like. Games couldn't elaborate too much, so your options were:
a) you lucked out and it turns out your brain works exactly like the designer's and the cryptic hint make sense to you,
b) you use a guide/ask a friend/call a hotline,
c) you like the game so much you end up brute forcing your way through all of that stuff,
d) you just ignore that sidequest. I sure hope for you that finishing the main quest doesn't need you to guess something unreasonably obtuse... *COUGH* Legend of Zelda's final dungeon's location *COUGH*
bigyabai 1 days ago [-]
Especially in Elden Ring, it also contributes to the ludonarrative cohesion. Hyetta's quest (no spoilers!) isn't meant to be completed by everyone, her story is a foil to Melina's "default" questline that is mandatory for beating the game. Other characters (eg. Boc, Sellen, Selivus, Thops) also have quests that are easy to start but deliberately obfuscated towards the end.
The JRPG logic is annoying, but From uses it to beg important questions about the game world and the player. Fromsoft characters like Lautrec live in infamy for being so slippery and deliberately misleading.
badprose 1 days ago [-]
They're victims of success. Lautrec was so infamous some people (read: me) are too scared to play the game without a guide now.
"What if I missed some NPC and I can't level up anymore?!"
Cthulhu_ 14 hours ago [-]
That's what I had; I was going through Elden Ring thinking "I will just play the game straight / naive the first time, no guides". Got close to the city and thought "...this feels like a point of no return / the end, better check if I missed anything important!". 100 hours later (or whatever) and I found out it's more like the halfway point.
Jach 15 hours ago [-]
I just accept I'll miss things / get some sub-optimal outcomes for my first play, though I do try to explore a lot and sometimes player messages help rather than troll/spoil/be funny. Guides only come out for NG+ and beyond.
bee_rider 1 days ago [-]
This post seems to be mostly (although not entirely) concerned with the combat AI. The plot based NPC interactions don’t seem to be very dynamic at all, mostly just a graph with a lot of dead-ends, haha.
dvngnt_ 1 days ago [-]
It made more sense in Demon's Souls where the game was more linear so you'll more likely to encounter the NPC without a guide.
WhereIsTheTruth 15 hours ago [-]
You picked the most filler, unfinished questline to make a point for your argument lol
And yet, that's still way better than having a quest log UI, constant screen notifications, and narration that babysit you all the time, treating you like you have never played a RPG before, acting like you are too stupid to read and listen to npc dialogue and items lore
I'll take the jank over what the western industry is filled with
For their first real open world, it holds pretty well
As a game dev, the fact "AI" as a keyword became totally unusable is quite annoying.
munificent 21 hours ago [-]
As an ex-game dev, I always found it a little annoying that they used "AI" for what was essentially just hard-coded logic.
It's a hard problem because "AI" has been a term since the 50s but has been used to describe different approaches to making a computer do things over time. The way game developers use "AI" to mean "hardcoded logic for game behavior" is fully inline with what "AI" meant in the 60s when they were using symbolic AI to write the first computer-controlled chess games.
Then AI programmers hit the wall of hard-coded logic, went through an AI winter, and what survived on the other end was logic that was automatically trained from big data sets. We used to call that "machine learning" because "AI" had connotations of snake oil from previous AI winters. But then within the past decade, tech companies with grandiose ambitions decided that "machine learning" was too nerdy so resurrected "AI" to refer to LLMs and their ilk.
The term is just a muddled mess.
rootlocus 15 hours ago [-]
LLMs can be described as "hardcoded weights for generating the next token". All code is "hardcoded".
I think AI for game NPCs is perfectly valid terminology. The actor senses the surroundings and makes decisions to achieve its goals within the constraints and events of the environment.
xdertz 13 hours ago [-]
> LLMs can be described as "hardcoded weights for generating the next token". All code is "hardcoded".
I disagree. Hardcoded means you need to change and recompile the entire program. So neither an .env file nor model weights that are loaded at runtime are 'hardcoded'.
trashb 12 hours ago [-]
But you can use hardcoded while referring to interpreted languages as well, it's a bit of a difficult term. I feel it's more about repeatability when non of the input changes.
I would define it more broadly, "same input == same output, with the same program" and using that definition all computer programs are hardcoded in the end.
There is a gray area, you can consider that even programs that use random() are in the hardcoded category as with the same (semi)random value they will produce the same output. You just need to think of the random value as input, since not all input needs to be user input.
rootlocus 8 hours ago [-]
Sure, and the article mentions the AI in elden ring is scripted in lua which is loaded at runtime, meaning it's not hardcoded.
munificent 2 hours ago [-]
There's no reasonable definition of "hard-coded" that fits how LLMs are made.
The whole idea behind "hard-coded" and original symbolic AI was that a skilled human deliberately wrote explicit code to define a program's behavior.
Machine learning is the exact opposite of that approach.
fracus 17 hours ago [-]
NPC behaviour has always been described as AI though, even before the AI as we know it now was even invented. AI is a very general umbrella term being repurposed to describe LLMs.
trashb 13 hours ago [-]
AI - artificial intelligence
The "artificial" can have several meanings. It seems a lot of folks interpret it as "man-made but identical" however I usually try to interpret it as "not sincere", "fake" or "a replication of". If you use the term that way it will fit a lot nicer into your understanding of AI in games, frankly also AI as in LLM's. In the way that it is not actually intelligent it is mimicking intelligence.
Just by using the term "AI" I feel like you are indicating that it is not actually intelligence, otherwise you would call it intelligence instead. Therefore using hard-coded logic to fake behavioral patterns makes perfect sense.
The same thing happened with crypto (cryptography) after Bitcoin blew up, though it was just an abbreviation so it wasn't as bad.
There's no ambiguity when speaking, but when searching Rust-related things I get a lot of Rust game stuff. "Rust crates" or "Rust drops" correspond to in-game things so the fandom wiki will pop up. Occasionally I'll even get rust-removal webpages.
killingtime74 17 hours ago [-]
Crypto is not short for cryptography though in that context, it's cryptocurrency?
6 hours ago [-]
sph 14 hours ago [-]
Different meanings in closely related contexts is exactly the point of OP and GP.
If you search for 'rust crypto', you get results for Rust cryptographic packages as well as Rust in the cryptocurrency space (as it's become very popular with that audience)
Same with googling 'game dev AI', as I've been doing to learn about behaviour trees/FSM, you get inundated by articles of people with a Claude subscription and a dream.
Rendello 6 hours ago [-]
Exactly, "crypto" has been hacker jargon for cryptography and its implementations for a long time [a][b]. Since cryptocurrency appeared (and went mainstream), that original jargon has been awash in the tide.
Everyday I hope a LLM enthusiast discovers how game "AI" (and games in general) fool/trick people and realizes LLM's don't do anything different. Some of my favorite examples are the Mario kart AI, Amnesia and Deadspace. It's all an extension of the ELIZA effect.
Terr_ 1 days ago [-]
I try to say "LLM" as much as possible, but I'm aware that it's unlikely to work.
Partly for technical accuracy, partly to manage the average person's expectations when they hear "AI", partly to avoid contributing to a big dumb-money "everything is AI" bubble, etc.
_0ffh 24 hours ago [-]
You can try "language model", that's what I use when talking (when writing I use LLM when I expect the abbreviation to be understood).
I find just juxtaposing these two normal words flows much more nicely from the tongue than the comparatively awkward "LLM".
Rendello 1 days ago [-]
Or "gen(erative) AI". I must admit that as soon as I saw AI in the title, I lost interest until I realized it was classic AI. The term seems so far gone now but we don't have a good classifier for the non-gen-ai yet.
amelius 14 hours ago [-]
We probably should call LLMs "Alchemy" at least until the big AI companies remove the disclaimer that "AI can make mistakes".
jiggawatts 1 days ago [-]
I call it "mechanised coding".
hbn 9 hours ago [-]
Probably not as annoying as what guys named Al are going through
Rendello 6 hours ago [-]
Ai 愛 is a common Japanese name, too. Though I suppose the lowercase 'i' is easier to distinguish than the lowercase 'l'.
The article keeps on mentioning about the performance issues of the decision tree that somehow this approach avoids, but it doesn't seem to actually put any real detais about the why here. Especially considering that:
1. Many scripting languages you'd find in games are implemented by evaluating the syntax tree directly (IIRC WitcherScript in Witcher 2 and 3 is implemented like that)
2. A behavior tree can be "compiled" down to a bytecode VM similar to what some scripting languages use
Though if any of these two approaches makes any difference in performance i'm not sure and i'd expect it'd depend heavily on how exactly they're implemented (my kneejerk reaction would be to expect the VM approach to be faster because parsing a bytecode sequence might be more cache friendly than jumping through pointers, but i also suspect that since game AI scripts/behaviors wont do any real computation themselves and instead 99% of the code would be engine/native calls, any potential benefit would be diminished -- but as i haven't tried to implement the same stuff with a realistic setup using both approaches to compare, i cannot say one or the other for certain).
animal531 7 hours ago [-]
Roughly speaking FSM + stack based approaches are perfectly fine for 100 entities, but not for 1k.
Once you get to that point you can still make it work but it will take a lot of work to make it as fast as possible, whereas you'd have been better served by more branchless approaches that doesn't parse/jump the FSM.
BigTTYGothGF 1 days ago [-]
How big are these trees that performance starts to matter?
badsectoracula 20 hours ago [-]
Usually one would start with "is there a measurable performance bottleneck here?" :-P.
TBH i haven't played Elden Ring but from what i've seen there are so few "active" NPCs around that i highly doubt there'd be any performance issue coming from this.
Cthulhu_ 14 hours ago [-]
Yeah I doubt it, in terms of scale you get at most dozens of enemies, and I can't imagine their behaviour is at all expensive compared to everything else. Every "mode" (idle, attack 1/2/3, etc) is relatively slow as well.
dotstdy 14 hours ago [-]
Yeah you're totally correct that ultimately the specific implementation details are what matters for performance. You could easily take either system and make it terribly slow, or more than fast enough. That's why I was somewhat deliberately vague about performance claims, it's really just a vibe-based thing.
Basically in my experience when you actually build a behavior tree as a tree, you get a pretty significant node count once you try to do anything remotely complex, just due to the way that behavior trees implement both control flow and actions as a (usually) static tree. In large AAA games this can really quickly turn into a situation where you have tens of thousands of nodes in a single behavior tree, which you then need to deal with somewhat efficiently. This affects not only the runtime, but the editor tooling as well, since these are often authored as visual noodle graphs.
You could totally lower the tree to some kind of bytecode, or optimized representation, but something I like about the approach here is that you kinda just don't need to do that. It's naturally resistant to the kind of node explosion you get with static trees because the decision logic is contained within nodes as Lua script (or C++ code), rather than built into the tree structure itself.
It's not a strongly justified position, I just think these kinds of structural decisions have an oversized impact on the amount and kind of optimization work you need to do down the line.
(Author here, if it wasn't clear)
nitwit005 1 days ago [-]
The high level might look simple, but something like "attack" has to involve checking if it's possible/reasonable in a 3D space, animating turning and walking prior to the attack, playing the animations, dealing with player block or parry, etc.
Any good library author is going to try to bury the complexity so that users don't need to deal with it, but there can be a monstrous beast under the hood.
tokai 1 days ago [-]
Low tech AI? Its sounds like standard game AI. I would really like to hear what the author would deem high tech game AI.
evanjrowley 1 days ago [-]
I know very little about AI and game mechanics, but knowing how early Fromsoft games were (e.g., Kingsfield), a basic AI in Elden Ring is very unsurprising. That's not necessarily a bad thing!
My vote for "high tech game AI" would probably be this old mod for Fallout 4:
>PANPC (Pack Attack NPC Edition) is a unique scripted AI management system for Fallout 4. Rather than treating each enemy as an individual proximity-based reaction agent (basically, a mine with a gun), this system generates social feedback between NPCs belonging to the same or allied factions.
>Enemies factor the overhaul health and success of their “team” into their tactical decisions, adjusting their strategies based on their social and threat awareness. As a result, they will switch between ranged, melee, defensive, and offensive tactics based on their perceptions of team advantage and individual risk.
1. Make individual agent AIs that can act on their own.
2. Make squad AIs that can influence their agent AIs.
3. Add even more AIs on top, like a scenario AI.
Each of these AIs can be a state machine, behavior tree, rule system or goal system. They’re exactly equivalent and can be translated into each other mechanically. So the whole hierarchical AI is equivalent to one big state machine.
flohofwoe 11 hours ago [-]
Such a hierarchcal AI is how most RTS games work, and also the famous Falcon 4 campaign system which could simulate a realistic modern war scenario on the Korean peninsula in realtime down to individual units (although collapsed into higher level 'group AIs' when far away from the player) and all that on a 1998 PC!
pnt12 1 days ago [-]
FromSoftware really puts design first, so it doesn't surprise me they use a classic AI and then leave it up to the designers to craft memorable experiences.
gchamonlive 1 days ago [-]
F.E.A.R. 2 has the best AI that I can think of. Wonder if it counts as high tech or they just squeezed a lot of juice out of basic techniques
F.E.A.R 2 was released on the PS3 and Xbox 360, both of which have laughably low specs by modern standards. When you have to create dynamic experiences out of a potato you are forced to get creative and that involves squeezing a lot of juice out of basic techniques.
Transformer based AI had to wait until the world's compute capacity reached a certain level to become feasible.
trashb 12 hours ago [-]
both of which have laughably low specs by modern standards ... potato
I have the opposite view, modern games require laughably high specs for what experiences they are achieving, look at what great dynamic experiences (games) can be achieved on older generations of gaming hardware.
Transformer based AI does not magically equal great dynamic experiences, good game design does. Sometimes a basic technique is more effective then a complex one.
Dynamic experience wise what is really the upgrade between ps3 call of duty and current day, aside from graphic fidelity that has increased there is parkour now. But mirror's edge shows that was possible at the time too. Seems it's just consuming a LOT more resources for not a lot of benefit. If you run a ps3 emulator with a modded game with high res textures & shaders you're still using 1/4 of the resources the modern re-release does.
squeezing a lot of juice out of basic techniques
"limitations breed creativity" I think this is one of the reasons why games on limited hardware are often better games, it requires the game designer to choose between prioritizing the game's core or other distractions like graphics.
bigfishrunning 1 days ago [-]
> Transformer based AI had to wait until the world's compute capacity reached a certain level to become feasible.
It's OK, they'll just keep subsidizing it until it's eventually feasable...
My favorite high tech AI was Crysis. Might have been an update after it was originally released. The enemies will aggressively attack but then get quiet after you've taken cover. Eventually you'll realize some of them are flanking you while others keep suppressing fire on you to stop you from moving. You can hear them yelling to one another. Very cool touches.
tmtvl 1 days ago [-]
That reminds me of First Encounter Assault Recon, where the AI had fairly simple rules, which worked well with the level design to make the enemies seem intelligent, especially as Monolith added chatter to make them seem even smarter. And then one of the expansions had a bunch of open areas and the AI didn't handle those well so the trick didn't work.
lelanthran 13 hours ago [-]
Far Cry 2 had a similarly sophisticated system, if not more sophisticated.
Not only would they call out to each other, they would attempt to carry off wounded allies and call out to each other in native language (set in africa, so I understood it).
They also adjusted their techniques based on the reputation level of the player.
The video is actually describing the exact same thing as the blog post. The approach of FROMSOFT to NPC AI hasn't really changed much at all between Dark Souls and Elden Ring. (One of the most impressive things about their studio imo is the way they don't change much between titles, and yet all the games have a quite unique feel)
What the video refers to as a "Combat Wheel" is, in my opinion, much more easily explained as a weighted random selection. It really just takes a list of functions and randomly chooses one to call with dynamic weights. (But I appreciate that I differ significantly from AI academia on this point, because I also think the term "utility ai" is a really silly term for... dynamically weighting options before selection)
Likewise the start of that video talks a lot about the "Goals", in reference to complex planners like GOAP (which is the approach famously used in FEAR) and HTNs, but there is no planner here. It's just a basic pushdown automata.
Anyway, the reason I wrote this post in the first place is mostly because I watched that video and it felt a bit off, and investigated the code myself.
8note 1 days ago [-]
this gets very clear when you look at the wiki on how different bosses move and how the different boss combos lead from one into another
and of course, lets you have a reasonable amount of control over different bosses
havblue 24 hours ago [-]
Not really an ai response but I remember the path following and aggro is really smart in Elden Ring and earlier Dark Souls. That is you try to run away after pulling aggro and when you think you're safe you'll run into some other strong enemies, after which, oops, the original enemy followed you down a ladder and stabbed you in the back. Of course they have a bunch of occasions where enemies are in places you don't expect them as well. It isn't really about the mob ai as much as level design and the balance of difficult-to-kill enemies at inconvenient times.
WhereIsTheTruth 14 hours ago [-]
Low Tech is a simplification, it's a massive over engineered spaghetti system
They have accumulated bloat and tech debt since their inception as a studio
But it works for them, and that's what creates their flavored games, i hope they'll never change a bit
rambojohnson 1 days ago [-]
What do you mean by "low-tech AI"? This isn't AI...It's a behavior tree. Calling every decision-making system "AI" is like calling a flowchart a neural network.
What you're describing is a behavior tree: predefined logic, predefined responses, no learning, no inference, no model.
Stop calling everything AI, guys.
vector_spaces 1 days ago [-]
There are paradigms of AI that are not deep learning. If you took an AI course in the 90s or earlier, implementations like this are much closer to what you would learn about -- symbolics/GOFAI. It remains basic to some fields where stakes and complexity are high (air traffic control and military systems) but determinism is a strict requirement, not to mention others like gamedev that have lots of performance constraints -- and usually don't actually need or want anything non-deterministic or overly smart.
Deep Blue, the first chess engine to defeat a world champion, was a GOFAI system
There was an article recently about a system used in production at a pasty chain in Japan to classify pastries at checkout that didn't use DL for most of its existence. Now it seems to be a hybrid system that uses symbolics and DL for certain functions
This is game AI, games called this sort of thing "AI" for a long time. Behavior trees is (among others) one of the most common things someone with the role of game AI programmer will implement.
This has been the case since at least the 90s, it is not a new thing.
raincole 1 days ago [-]
FYI, one of the most well-known books about writing game entity behavior is literally called "Programming Game AI by Example." (published in 2004)
Is a book like that still pretty useful? Or is Ai in games abstracted away in game engines pretty much? I've been meaning to play with unreals Ai features a bit.
dgellow 1 days ago [-]
That was called AI before the current LLM-AI era. Your comment reads like someone complaining that cryptography is called crypto
Terr_ 1 days ago [-]
Or someone that believes "phones" are, by definition, things with a touchscreen.
herodoturtle 1 days ago [-]
Came here to say this.
And I suspect that one day we might even think of LLMs as "low tech AI", assuming we move on to more advanced forms of AI (here's hoping).
hawtads 1 days ago [-]
> What you're describing is a behavior tree: predefined logic, predefined responses, no learning, no inference, no model.
Stop calling everything AI, guys.
Depends on how pedantic you want to get, one could argue that regular expressions are AI too.
Regexes were invented for much higher order tasks (modeling neural networks) than just making find-and-replace easier.
vector_spaces 1 days ago [-]
It's not pedantry at all, there are simply different paradigms of AI. The dominant one today is DL, symbolics/GOFAI were dominant decades ago. These methods are still used today in some fields, not merely gamedev
Rendello 1 days ago [-]
If it would have been (will be?) destroyed during the Butlerian Jihad, it's AI!
Artificial intelligence is a huge research field and has been for closer to 50 years. It's taught in schools. It has hard theory and praxis. Not everything, but adversarial algorithms are absolutely core AI.
LLMs are a tiny blip in it.
bitwize 1 days ago [-]
The logic used to implement game NPCs has been called "AI" since well before the current AI boom. And many of the techniques come from the previous AI boom of the 1970s-1980s.
I know that we're all experiencing AI fatigue, but this comment is an example of the "once an AI technology finds a niche and becomes accepted technique within that niche, it ceases to be AI" meme.
TulliusCicero 19 hours ago [-]
Video games have been calling this kind of thing "AI" for multiple decades now.
BearOso 1 days ago [-]
You do realize that an LLM is an enormous decision tree? The prompt is the state and output tokens added to that are the subsequent state that's fed back into the machine. Running the math without deliberately adding any randomness would produce a deterministic output.
imtringued 14 hours ago [-]
It's called AI because it drives the behavior of the NPCs, hence the name "artificial intelligence". I couldn't think of a better fitting term, especially if you know it is in the context of games. Everyone who actually plays games knows what AI in gaming means and that it doesn't need to involve LLMs or neural networks.
The thing about artificial intelligence is that it doesn't necessarily have to look or behave like biological intelligence. It could very well be a very alien and foreign form of intelligence.
empath75 1 days ago [-]
> This isn't AI...It's a behavior tree. Calling every decision-making system "AI" is like calling a flowchart a neural network.
What you're describing is a behavior tree: predefined logic, predefined responses, no learning, no inference, no model.
This is literally AI. A behavior tree is AI, all of those things are AI. It's just symbolic rather than neural network based.
(See the end)
It’s all part of the Fromsoft experience but man, who writes these things?
According to [1], earlier versions of the EMS editor were built on Microsoft Excel, took 30s to open, and didn't support undo/redo. They rewrote it for Elden Ring, but Dark Souls quest design makes a lot more sense when you realize how hard it was to change anything.
[1] https://cedil.cesa.or.jp/cedil_sessions/view/2662
https://youtu.be/vIbKALhzHVc?si=WRAQs77WG2QwVkt5
More topical, I do actually appreciate some of the persistent jankiness like this that hasn't changed since their original games. They experimented with different approaches in DS3, where certain NPCs you encountered would essentially evaporate after you exhausted their dialogue, and they would later materialize back in the hub. I personally hated this -- one element I really enjoyed in the earlier games was this sense that the world doesn't revolve around you. The NPCs feel like rich characters with their own goals and motivations
Having them leave when you're finished talking to them sort of reduced them to utilities, which of course they are ultimately, but the gamefeel suffered a bit from making that more explicit. Don't me wrong though, I love DS3, but I didn't care for that particular change
Anyway, handling NPC progression in this way where the player needs to reload the area is more about navigating a technical limitation than anything else. But like many constraints it conspires with others to produce a certain gamefeel that I enjoy. It would feel a bit less impactful if Hyetta just moved on the instant I exhausted her dialogue -- it's more interesting for me to return and see that she has moved on
Another example of this sort of thing is FromSoft supposedly historically being bad at animating eyes, hence many critical NPCs being blindfolded or with faces hidden by helmets or otherwise obscured. This imagery plays nicely with their other sensibilities around character design and is thematically pretty rich
I can't really talk about DS2 because I didn't play very far in that one, but in DS1 there are a few NPC who do that, like Laurentius, Griggs and Ingward
Like, are you shitting me? Why? After a while, I would do this to every NPC, every time. But, yeah, it's a bad design.
It makes for a deeply unique experience overall
Perhaps the one you’d most object to is the DS1 DLC, that people paid money for, lacking instructions for access. It involves killing a specific enemy and returning to a previous location.
At the time, people forked over cash and had to prowl the whole game playing spot the difference.
And the Consecrated Snowfield is only accessible if you find two parts of a hidden medallion, the first in a castle later in the game than the lift it operates. The second is hidden in a jar underneath a mountain. But you can't just smash the jar, you have to talk to the NPC inside the jar twice before you'll get the medallion.
The market rewards abstruse design.
Also, all you have to do in the Snowfield is to take a teleporter: that's not very secret, is it?
And even then, while an item may say "use it here", if it's been dozens of hours since you got it you may just straight up forget about it.
That said, I think that the target audience for the DLC was always people who thoroughly played through the game.
Same with the other games' DLC; for Bloodborne's you need to be yoinked by an invisible enemy while in posession of an item; while it's very possible people were accidentally yoinked on their first playthrough, they will forever know that the item is a trap and will avoid getting yoinked.
(unless the item in question explicitly said "get yoinked to go to DLC", I forgot)
FWIW, after you get one half of the medallion, get invaded by Gideon's lackey and then talk to Gideon, he will tell you to look for the Albinauric woman, so at least they give you this much.
All in all, I find the quests in the base game relatively straightforward, but anyone with any prior experience in their games will have an inkling that if they care about quests' results, you need to double-check with the wiki.
That's true, but it is strange that you get there and get early-game upgrade materials, like Smithing Stone 2, etc. It seems like they wanted to emphasize that the Scadutree Fragments are the important things for scaling, and not your Base Game level, but you already have to be pretty high level and upgraded to beat Mohg.
To some extent it's a design decision maybe. From makes games that are harsh and unforgiving, but not too harsh - you can mess up bits of quests but not end up unable to get an ending (afaik) which kind of matches the gameplay (harsh but not rage-quit inducing).
"Make the person repeat what they just told you" as a process is very immersion breaking.
The NPC / quest thing means that, unless you go online, you will need multiple playthroughs and exploration to get every quest done, OR you need to engage in a community - the quests and lore are often all discussed, disseminated, notes compared, theories crafted, etc in the community after the release of a new game.
Whether that's good or bad design I'll leave up to opinion, but it's interesting.
(personally I don't have the time to do multiple 100+ hour playthroughs so I followed guides online)
Fromsoft wants to do major seperate quest lines, so they have to cut corners elsewhere. I guess they choose a robust system that is sometimes annoying for the player.
a) you lucked out and it turns out your brain works exactly like the designer's and the cryptic hint make sense to you,
b) you use a guide/ask a friend/call a hotline,
c) you like the game so much you end up brute forcing your way through all of that stuff,
d) you just ignore that sidequest. I sure hope for you that finishing the main quest doesn't need you to guess something unreasonably obtuse... *COUGH* Legend of Zelda's final dungeon's location *COUGH*
The JRPG logic is annoying, but From uses it to beg important questions about the game world and the player. Fromsoft characters like Lautrec live in infamy for being so slippery and deliberately misleading.
And yet, that's still way better than having a quest log UI, constant screen notifications, and narration that babysit you all the time, treating you like you have never played a RPG before, acting like you are too stupid to read and listen to npc dialogue and items lore
I'll take the jank over what the western industry is filled with
For their first real open world, it holds pretty well
https://www.youtube.com/watch?v=CF0NyeCARf4
It's a hard problem because "AI" has been a term since the 50s but has been used to describe different approaches to making a computer do things over time. The way game developers use "AI" to mean "hardcoded logic for game behavior" is fully inline with what "AI" meant in the 60s when they were using symbolic AI to write the first computer-controlled chess games.
Then AI programmers hit the wall of hard-coded logic, went through an AI winter, and what survived on the other end was logic that was automatically trained from big data sets. We used to call that "machine learning" because "AI" had connotations of snake oil from previous AI winters. But then within the past decade, tech companies with grandiose ambitions decided that "machine learning" was too nerdy so resurrected "AI" to refer to LLMs and their ilk.
The term is just a muddled mess.
I think AI for game NPCs is perfectly valid terminology. The actor senses the surroundings and makes decisions to achieve its goals within the constraints and events of the environment.
I disagree. Hardcoded means you need to change and recompile the entire program. So neither an .env file nor model weights that are loaded at runtime are 'hardcoded'.
I would define it more broadly, "same input == same output, with the same program" and using that definition all computer programs are hardcoded in the end.
There is a gray area, you can consider that even programs that use random() are in the hardcoded category as with the same (semi)random value they will produce the same output. You just need to think of the random value as input, since not all input needs to be user input.
The whole idea behind "hard-coded" and original symbolic AI was that a skilled human deliberately wrote explicit code to define a program's behavior.
Machine learning is the exact opposite of that approach.
Just by using the term "AI" I feel like you are indicating that it is not actually intelligence, otherwise you would call it intelligence instead. Therefore using hard-coded logic to fake behavioral patterns makes perfect sense.
https://dictionary.cambridge.org/dictionary/english/artifici...
There's no ambiguity when speaking, but when searching Rust-related things I get a lot of Rust game stuff. "Rust crates" or "Rust drops" correspond to in-game things so the fandom wiki will pop up. Occasionally I'll even get rust-removal webpages.
If you search for 'rust crypto', you get results for Rust cryptographic packages as well as Rust in the cryptocurrency space (as it's become very popular with that audience)
Same with googling 'game dev AI', as I've been doing to learn about behaviour trees/FSM, you get inundated by articles of people with a Claude subscription and a dream.
a. Like on /r/crypto: https://old.reddit.com/r/crypto/
b. "Don't roll your own crypto(graphy)!" is/was a popular hacker slogan: https://hn.algolia.com/?q=Don%27t+roll+your+own+crypto
Partly for technical accuracy, partly to manage the average person's expectations when they hear "AI", partly to avoid contributing to a big dumb-money "everything is AI" bubble, etc.
I find just juxtaposing these two normal words flows much more nicely from the tongue than the comparatively awkward "LLM".
https://en.wikipedia.org/wiki/Ai_(given_name)
1. Many scripting languages you'd find in games are implemented by evaluating the syntax tree directly (IIRC WitcherScript in Witcher 2 and 3 is implemented like that)
2. A behavior tree can be "compiled" down to a bytecode VM similar to what some scripting languages use
Though if any of these two approaches makes any difference in performance i'm not sure and i'd expect it'd depend heavily on how exactly they're implemented (my kneejerk reaction would be to expect the VM approach to be faster because parsing a bytecode sequence might be more cache friendly than jumping through pointers, but i also suspect that since game AI scripts/behaviors wont do any real computation themselves and instead 99% of the code would be engine/native calls, any potential benefit would be diminished -- but as i haven't tried to implement the same stuff with a realistic setup using both approaches to compare, i cannot say one or the other for certain).
Once you get to that point you can still make it work but it will take a lot of work to make it as fast as possible, whereas you'd have been better served by more branchless approaches that doesn't parse/jump the FSM.
TBH i haven't played Elden Ring but from what i've seen there are so few "active" NPCs around that i highly doubt there'd be any performance issue coming from this.
Basically in my experience when you actually build a behavior tree as a tree, you get a pretty significant node count once you try to do anything remotely complex, just due to the way that behavior trees implement both control flow and actions as a (usually) static tree. In large AAA games this can really quickly turn into a situation where you have tens of thousands of nodes in a single behavior tree, which you then need to deal with somewhat efficiently. This affects not only the runtime, but the editor tooling as well, since these are often authored as visual noodle graphs.
You could totally lower the tree to some kind of bytecode, or optimized representation, but something I like about the approach here is that you kinda just don't need to do that. It's naturally resistant to the kind of node explosion you get with static trees because the decision logic is contained within nodes as Lua script (or C++ code), rather than built into the tree structure itself.
It's not a strongly justified position, I just think these kinds of structural decisions have an oversized impact on the amount and kind of optimization work you need to do down the line.
(Author here, if it wasn't clear)
Any good library author is going to try to bury the complexity so that users don't need to deal with it, but there can be a monstrous beast under the hood.
My vote for "high tech game AI" would probably be this old mod for Fallout 4:
>PANPC (Pack Attack NPC Edition) is a unique scripted AI management system for Fallout 4. Rather than treating each enemy as an individual proximity-based reaction agent (basically, a mine with a gun), this system generates social feedback between NPCs belonging to the same or allied factions.
>Enemies factor the overhaul health and success of their “team” into their tactical decisions, adjusting their strategies based on their social and threat awareness. As a result, they will switch between ranged, melee, defensive, and offensive tactics based on their perceptions of team advantage and individual risk.
https://fallout.wiki/wiki/Mod:PANPC_(Pack_Attack:_NPC_Editio...
1. Make individual agent AIs that can act on their own.
2. Make squad AIs that can influence their agent AIs.
3. Add even more AIs on top, like a scenario AI.
Each of these AIs can be a state machine, behavior tree, rule system or goal system. They’re exactly equivalent and can be translated into each other mechanically. So the whole hierarchical AI is equivalent to one big state machine.
https://www.gamedevs.org/uploads/three-states-plan-ai-of-fea...
Transformer based AI had to wait until the world's compute capacity reached a certain level to become feasible.
Transformer based AI does not magically equal great dynamic experiences, good game design does. Sometimes a basic technique is more effective then a complex one.
Dynamic experience wise what is really the upgrade between ps3 call of duty and current day, aside from graphic fidelity that has increased there is parkour now. But mirror's edge shows that was possible at the time too. Seems it's just consuming a LOT more resources for not a lot of benefit. If you run a ps3 emulator with a modded game with high res textures & shaders you're still using 1/4 of the resources the modern re-release does.
"limitations breed creativity" I think this is one of the reasons why games on limited hardware are often better games, it requires the game designer to choose between prioritizing the game's core or other distractions like graphics.It's OK, they'll just keep subsidizing it until it's eventually feasable...
Not only would they call out to each other, they would attempt to carry off wounded allies and call out to each other in native language (set in africa, so I understood it).
They also adjusted their techniques based on the reputation level of the player.
What the video refers to as a "Combat Wheel" is, in my opinion, much more easily explained as a weighted random selection. It really just takes a list of functions and randomly chooses one to call with dynamic weights. (But I appreciate that I differ significantly from AI academia on this point, because I also think the term "utility ai" is a really silly term for... dynamically weighting options before selection)
Likewise the start of that video talks a lot about the "Goals", in reference to complex planners like GOAP (which is the approach famously used in FEAR) and HTNs, but there is no planner here. It's just a basic pushdown automata.
Anyway, the reason I wrote this post in the first place is mostly because I watched that video and it felt a bit off, and investigated the code myself.
and of course, lets you have a reasonable amount of control over different bosses
They have accumulated bloat and tech debt since their inception as a studio
https://github.com/ividyon/EldenRingHKS/blob/main/c9997.hks
But it works for them, and that's what creates their flavored games, i hope they'll never change a bit
What you're describing is a behavior tree: predefined logic, predefined responses, no learning, no inference, no model.
Stop calling everything AI, guys.
Deep Blue, the first chess engine to defeat a world champion, was a GOFAI system
There was an article recently about a system used in production at a pasty chain in Japan to classify pastries at checkout that didn't use DL for most of its existence. Now it seems to be a hybrid system that uses symbolics and DL for certain functions
https://www.newyorker.com/tech/annals-of-technology/the-past...
This has been the case since at least the 90s, it is not a new thing.
https://www.amazon.com/Programming-Example-Wordware-Develope...
And I suspect that one day we might even think of LLMs as "low tech AI", assuming we move on to more advanced forms of AI (here's hoping).
Stop calling everything AI, guys.
Depends on how pedantic you want to get, one could argue that regular expressions are AI too.
https://www.rand.org/content/dam/rand/pubs/research_memorand...
Regexes were invented for much higher order tasks (modeling neural networks) than just making find-and-replace easier.
https://en.wikipedia.org/wiki/Dune_(franchise)#Butlerian_Jih...
LLMs are a tiny blip in it.
I know that we're all experiencing AI fatigue, but this comment is an example of the "once an AI technology finds a niche and becomes accepted technique within that niche, it ceases to be AI" meme.
The thing about artificial intelligence is that it doesn't necessarily have to look or behave like biological intelligence. It could very well be a very alien and foreign form of intelligence.
This is literally AI. A behavior tree is AI, all of those things are AI. It's just symbolic rather than neural network based.