Article

What’s Most Difficult about Game AI?

Alex J. Champandard on June 24, 2007

Creating smart actors in general is quite a challenge. Handling the latest generation of hardware and the increased expectations is particularly tough.

But what’s the most difficult from your perspective? Let everyone know what you think is the hardest part about making game AI. Post a comment below!

Discussion 10 Comments

Andrew on June 25th, 2007

I presume that you meant more about game AI engines? programming it all for a game from scratch? My experience modding AI in a few RTS games, and NWN, a big limitation is the developers limits on what AI actors can perform, which is slightly odd all things considering. This means the AI can never be as proficient at combat, or decisions, since it can't do all the things a player can! This, no doubt, happens in all game development - that the AI is not updated whenever the PC can do something additional, so it plays catch up. Knowledge is second in my limited experience, usually a total blindness to context for actions. Admittedly some games would be hard pressed to provide relevant information, but it would be trivial to provide at least information for choke-points, or other things on an RTS map for instance, yet I have not seen that implemented. First person shooters are similar with simple pathing maps and not much else. That is all relatively "simple" combat AI too. There must be a lot of difficulties of producing "human-like" AI's - one thing I fully expect is that getting the right inputs would be difficult, relevant data and the like, and having the knowledge to respond is always an exponential problem. I don't think any game AI I've seen is anywhere near perfection in any area, thus all areas must be difficult for various reasons. The only real thing AI's can do perfectly is mathematical things - targeting an enemy with perfect accuracy, or being able to find the shortest route around a race track, and these are things the AI should never really need to do! It might be worth you posting your own difficulties Alex, I am interested at least :)

Andrew on June 25th, 2007

I presume that you meant more about game AI engines? programming it all for a game from scratch? My experience modding AI in a few RTS games, and NWN, a big limitation is the developers limits on what AI actors can perform, which is slightly odd all things considering. This means the AI can never be as proficient at combat, or decisions, since it can't do all the things a player can! This, no doubt, happens in all game development - that the AI is not updated whenever the PC can do something additional, so it plays catch up. Knowledge is second in my limited experience, usually a total blindness to context for actions. Admittedly some games would be hard pressed to provide relevant information, but it would be trivial to provide at least information for choke-points, or other things on an RTS map for instance, yet I have not seen that implemented. First person shooters are similar with simple pathing maps and not much else. That is all relatively "simple" combat AI too. There must be a lot of difficulties of producing "human-like" AI's - one thing I fully expect is that getting the right inputs would be difficult, relevant data and the like, and having the knowledge to respond is always an exponential problem. I don't think any game AI I've seen is anywhere near perfection in any area, thus all areas must be difficult for various reasons. The only real thing AI's can do perfectly is mathematical things - targeting an enemy with perfect accuracy, or being able to find the shortest route around a race track, and these are things the AI should never really need to do! It might be worth you posting your own difficulties Alex, I am interested at least :)

alexjc on June 25th, 2007

Thanks for your comments Andrew! Great insights. I can certainly empathize with the lack of information, that's a big problem not only for modders but for developers. Information is often expensive to acquire, so you just have to deal with what you have! As for limiting the AI to less than what the player can do, I'm predicting that will change increasingly as player logic becomes more complex. Pretty soon, developers will use game AI techniques for player control too, and just use buttons and directional pads as inputs to a more complex AI system. Once that's in place, you guarantee that your AI has access to much richer panoply of behaviors... My own take on the difficulty of game AI is that we have very poor tools for building it. I mean, most game developers struggle with C++ to build even reliable game engines (which do almost nothing intelligent). So what chances do we have to build smarter systems? So for me, the most difficult is building and maintaining specific decision making and control systems, e.g. like those used to acquire information, to manage knowledge, to plan a course of action, etc. It's quite a generic problem I guess, but I also think it can be solved with a generic solution too. More about that after my conference in London!

alexjc on June 25th, 2007

Thanks for your comments Andrew! Great insights. I can certainly empathize with the lack of information, that's a big problem not only for modders but for developers. Information is often expensive to acquire, so you just have to deal with what you have! As for limiting the AI to less than what the player can do, I'm predicting that will change increasingly as player logic becomes more complex. Pretty soon, developers will use game AI techniques for player control too, and just use buttons and directional pads as inputs to a more complex AI system. Once that's in place, you guarantee that your AI has access to much richer panoply of behaviors... My own take on the difficulty of game AI is that we have very poor tools for building it. I mean, most game developers struggle with C++ to build even reliable game engines (which do almost nothing intelligent). So what chances do we have to build smarter systems? So for me, the most difficult is building and maintaining specific decision making and control systems, e.g. like those used to acquire information, to manage knowledge, to plan a course of action, etc. It's quite a generic problem I guess, but I also think it can be solved with a generic solution too. More about that after my conference in London!

gware on June 26th, 2007

From my point of view, I'd say having a correct pipeline for AI. We all know that having a full feature AI engine is very difficult. Having top noch implementations on each platforms is even more difficult. But without a really effective pipe, no one can "tune" the game. and without this, no "fun". Making great tools and simple access to the heart of the engine is what's really difficult. We have more and more computing power, more and more technical background and litterature. But we still hear "it was a pain to {maintain all the scripts|batch the data|keep up with the designers}". Getting a correct pipeline, something everyone can work with _at their full potential and for long_, is something very difficult to get.

gware on June 26th, 2007

From my point of view, I'd say having a correct pipeline for AI. We all know that having a full feature AI engine is very difficult. Having top noch implementations on each platforms is even more difficult. But without a really effective pipe, no one can "tune" the game. and without this, no "fun". Making great tools and simple access to the heart of the engine is what's really difficult. We have more and more computing power, more and more technical background and litterature. But we still hear "it was a pain to {maintain all the scripts|batch the data|keep up with the designers}". Getting a correct pipeline, something everyone can work with _at their full potential and for long_, is something very difficult to get.

Andrew on June 26th, 2007

Wow, good point on AI behaviours taking over what players do! I believe this is happening more and more for some things (Company of Heroes mini-AI controlling the troops cover usage for instance). Its bad to hear that the pipeline for developing AI isn't there though Gabriel. I hope that'll change in the future, although quite a few engines developed over time have their own AI script stuff (LUA, Unrealscript, whatever), building that in from scratch I bet isn't easy, and scripting isn't much easier to streamline then the game engine itself anyway. I was looking at the kynogon videos at their site ( http://www.kynogon.com/ ) which seemed to sell itself as a AI engine addon. I wonder if those kind of solutions will be come more widespread to tackle difficulties, although what they provide is geared towards F/TPS's.

Andrew on June 26th, 2007

Wow, good point on AI behaviours taking over what players do! I believe this is happening more and more for some things (Company of Heroes mini-AI controlling the troops cover usage for instance). Its bad to hear that the pipeline for developing AI isn't there though Gabriel. I hope that'll change in the future, although quite a few engines developed over time have their own AI script stuff (LUA, Unrealscript, whatever), building that in from scratch I bet isn't easy, and scripting isn't much easier to streamline then the game engine itself anyway. I was looking at the kynogon videos at their site ( http://www.kynogon.com/ ) which seemed to sell itself as a AI engine addon. I wonder if those kind of solutions will be come more widespread to tackle difficulties, although what they provide is geared towards F/TPS's.

gorogoro on June 27th, 2007

one word: Debugging!

gorogoro on June 27th, 2007

one word: Debugging!

If you'd like to add a comment or question on this page, simply log-in to the site. You can create an account from the sign-up page if necessary... It takes less than a minute!