I’m sure if you’ve clicked on this post then you know what the title means. But for those that don’t. NPC’s are Non Playable Characters in a game. The people you interact with or simply those that roam about. AI is obviously Artificial Intelligence and together they create the immersive world that makes some games fantastic and some not so much.
After recently finishing the fantastic Red Dead Redemption 2 and having a talk with an old school friend who develops indie games, it got me thinking of the limitations and frustrations with game NPC AI.
Characters randomly attacking you that shouldn’t. Some getting stuck in the scenery. Others that should respond to actions that simply run off randomly or just don’t respond. The bugs and flaws are endless.
Games use various ways or techniques to try to make this better with actual coding engines purely for NPC AI. Pathfinding algorithms and such techniques to try to give the sense of realistic and random life like interactions. Decision trees and control theory give a feeling of choice but essentially still controlled and within a logical map. These FSM’s or finite state machines react to the player giving the impression of AI but follows a simple predetermined plan.
It’s true NPC AI is getting far better but as my friend said to me that he has tried developing with numerous bought AI platforms and he decided to build his own after many years of frustration.
I very much doubt we will ever get completely true AI when it comes to NPC’s simply because you still want to direct the gameplay. True AI would then throw out the gameplay in such a way that it just wouldn’t work. Certain preprogrammed routes still need to be completed so the appearance of free will can only be masked in the choices we want the players to take. Making enough differing paths for them to take, then making the illusion of chaos.
So do we really want it to get better? Or simply want it to feel that way?
There is a weird part of me that likes the bugs and problems. It makes it more game-like and less real. I think there is something in that!