Is This Why the AI is Bugged?

+
CDPR is using FSM (Finite State Machine) for the crowd & enemies. Why use this outdated method in an Open World game? I can get behind it if it was limited to enemies, having some control over their actions in some segments & combat encounters or boss fights, but the crowd? Behavior Trees are the standard in gaming now. The issue in AI goes deeper then.

More infor on FSM and its uses.


CPAIFSM.PNG
 
Yikes! So no way to make enemies better react to stealth/hacking (and pursue the player in vehicles or on foot across a large segment of the map)?

Unless you want to add more fuel to the fire with the tools they have, sure. Add more conditions and tasks and other varaibles, but FSM is not scalable. Indie devs or linare games use them for a reason: small scale with defined control.
 
Hopefully, this was just a slapped together place holder(I mean there is no way it could be considered a complete AI right?) and they were already working on something months ago. If not maybe they should start watching this guys videos.
 
Last edited:
CDPR is using FSM (Finite State Machine) for the crowd & enemies. Why use this outdated method in an Open World game? I can get behind it if it was limited to enemies, having some control over their actions in some segments & combat encounters or boss fights, but the crowd? Behavior Trees are the standard in gaming now. The issue in AI goes deeper then.

More infor on FSM and its uses.


View attachment 11154968
According to Jason Shreier's report, stuff like police AI was last minute addition. Maybe it's fair for crowds and many other technical aspects of the game.
 
This thread seems extremely speculative to me. Just because some of the AI code is defined as a finite state machine it does not necessarily mean that all the AI is limited to it. Each state in a overall FSM could have its own behavior tree attached or the FSM could be used only in specific scripted AI encounters.
To simply state on the basis of a few class names dug up from who knows where, that the AI is confirmed buggy because of a FSM somewhere is a giant reach..
To give a clear answer if CDPR's usage of a finite state machine is outdated or a wrong/bad choice you would need to a have a very deep insight of their engine and codebase or how exactly and for what they are utilizing a finite state machine for.
 
According to Jason Shreier's report, stuff like police AI was last minute addition. Maybe it's fair for crowds and many other technical aspects of the game.
Jason Schreier is as much of a journalist as "Fox News" is actual news.
 
According to Jason Shreier's report, stuff like police AI was last minute addition. Maybe it's fair for crowds and many other technical aspects of the game.
We've seen from videos that pedestrians are just walking a loop, and not actually going anywhere, unlike the fanciful story told to us previously that each pedestrian has a daily schedule and a home they'll return to, etc.
 
This thread seems extremely speculative to me. Just because some of the AI code is defined as a finite state machine it does not necessarily mean that all the AI is limited to it. Each state in a overall FSM could have its own behavior tree attached or the FSM could be used only in specific scripted AI encounters.
To simply state on the basis of a few class names dug up from who knows where, that the AI is confirmed buggy because of a FSM somewhere is a giant reach..
To give a clear answer if CDPR's usage of a finite state machine is outdated or a wrong/bad choice you would need to a have a very deep insight of their engine and codebase or how exactly and for what they are utilizing a finite state machine for.

True, the post is speculative with little evidence from extracted files from the game. But what I am trying to find is how the AI implemented & maybe guess how it works. With FSM, programmers do the work while designers are asking for additions to the system. It appears that CDPR has a visual tool, a scripting one and a Blackboard tool(it is used to save the sate of AI and check it when conditions change) in place. What made me scratch my head is the conditions and tasks are there but it looks like the crowd got the bad end of the FSM while the enemy AI got the good one. What's wrong with this system? that's the milion dollar question. Let's dig in and see.
 
True, the post is speculative with little evidence from extracted files from the game. But what I am trying to find is how the AI implemented & maybe guess how it works. With FSM, programmers do the work while designers are asking for additions to the system. It appears that CDPR has a visual tool, a scripting one and a Blackboard tool(it is used to save the sate of AI and check it when conditions change) in place. What made me scratch my head is the conditions and tasks are there but it looks like the crowd got the bad end of the FSM while the enemy AI got the good one. What's wrong with this system? that's the milion dollar question. Let's dig in and see.

There is absolutely nothing wrong with using a state machine for the crowd control. It is the transition between the states that matters and how is currently implemented.
 
True, the post is speculative with little evidence from extracted files from the game. [......] What's wrong with this system? that's the milion dollar question. Let's dig in and see.

The point I was trying to make is that I don't think you will be able to make a reasonable conclusion on why it is broken as it is technically, without getting a gamedesign or programming job at CDPR to be able to get a real look at the actual systems, or by reverse engineering the whole thing and sifting through the code which doesn't seems feasible unless you are really really gifted and have a lot of time :)
 
Last edited:
True, the post is speculative with little evidence from extracted files from the game. But what I am trying to find is how the AI implemented & maybe guess how it works. With FSM, programmers do the work while designers are asking for additions to the system. It appears that CDPR has a visual tool, a scripting one and a Blackboard tool(it is used to save the sate of AI and check it when conditions change) in place. What made me scratch my head is the conditions and tasks are there but it looks like the crowd got the bad end of the FSM while the enemy AI got the good one. What's wrong with this system? that's the milion dollar question. Let's dig in and see.
you got me curious don't have time myself nor would I be much help I haven't messed with that kind of programming in a long time like back when SC1 was new and even then I was just poking around as a teen. I did have a functioning companion ai though basically it was like a diablo 2 rip-off in the sc1 editor never got popular. You could pick a ghost and an ai zergling would follow you around and attack anything you attack and tank for you and when out of combat it could try to anticipate your movement so it would look like it was leading the way like a pet dog I was pretty proud of myself pulling all that off with a few triggers. I remember getting some bros together to playtest it in multiplayer and realizing that I had not anticipated that more than one person could play as a ghost. Therefore all the ghosts would end up playing tug o war with their zergling doggos. Oh memories, I did later fix that so all ghosts had unique doggos and the doggos leveled up with their ghosts it was a pretty simple ai but it could do just about everything this companion ai does granted blizzard did most of the work for me as far as pathing the UI, the art, the engine, basically but very simple set of trigger that made the doggo look at what it's Ghost/Player is doing and choose to attack if it ghost is attacking or being attacked or move in front of the Ghost if the player is moving, or move/idle in a radius around its Ghost if the Player is standing still all by myself through experimentation trial and error I didn't even take any computer science my high school did not offer it.
 
Last edited:
This thread seems extremely speculative to me. Just because some of the AI code is defined as a finite state machine it does not necessarily mean that all the AI is limited to it. Each state in a overall FSM could have its own behavior tree attached or the FSM could be used only in specific scripted AI encounters.
To simply state on the basis of a few class names dug up from who knows where, that the AI is confirmed buggy because of a FSM somewhere is a giant reach..
To give a clear answer if CDPR's usage of a finite state machine is outdated or a wrong/bad choice you would need to a have a very deep insight of their engine and codebase or how exactly and for what they are utilizing a finite state machine for.

Yeah just decompiling the assembly, won't do much in terms of offering you any insights on how the code is structured. So it is more assumptions than anything.
 
Top Bottom