What are the "issues" in Game AI [moderated thread]
Hi folks,
Well, I have an important question that I want to put to the online populace. I am looking for opinions as to what the "issues" are in Game AI, from a players perspective, from a developers perspective and if I''m lucky enough, from a management/production perspective.
By "issues", I mean what are the things that concern you either as a player, developer or manager, when it comes to Game AI. A few thoughts to get your brain going...
From the player perspective: unrealistic behaviours, uncoordinated groups of NPCs, too hard, too easy, cheats are too obvious, no/little replayability, etc.
From the developer perspective: too hard to make realistic, not enouch cycles to implement what I want, don''t understand a technique I need, cannot convince management of the benefit of a technique, too much time doing grunt coding rather than developing AI, etc.
From a management perspective: difficult to coordinate development of AI and game design, AI slows development down as we have to wait until it works, cannot find decent AI programmers, cannot find people with AI theory/expertise, looking for the ''next big thing'' in AI but dont know where to start, etc.
Please just use these ideas to get your brain going, rather than feel that this is all I want you to discuss. Feel free to give examples from specific games or to discuss specific projects you have worked on.
I''m going to actively moderate this thread as I don''t want it hijacked. It''s important to me to get many different opinions and to hear from as many people as possible, even those that have never coded AI before (so long as you''ve played against Game AI)!
So, nothing off-topic please... no hijacking... no abusing people for their opinions... just open, honest and mature discussion please.
If you have contacts in the industry, please get them to join in the discussion!
Thanks,
Timkin
From a developer perspective:
My most dominant concern? Resources required for algorithm/process X. If I can do a 10 ply alpha beta search on a chess board, and have it search the tree in a reasonable amount of time, that''s what I need. If I have to cut back to 8 ply to shorten the time it takes to search the tree, it''s better then having a move 20 minutes later then the player wants it...
It really doesn’t matter if I can make realistic AI, challenging AI, fun AI, if it can''t run within the game with the resources it''s meant to work with.
I find myself spending more time trying to increase performance, rather then doing research and making BETTER AI.
Really, game AI, like graphics, is not usually a matter of "what is the new cool technique", but rather "what technique will work with X resources".
If all that matters is what you get in the end, why go through life?
~Michael Sikora
My most dominant concern? Resources required for algorithm/process X. If I can do a 10 ply alpha beta search on a chess board, and have it search the tree in a reasonable amount of time, that''s what I need. If I have to cut back to 8 ply to shorten the time it takes to search the tree, it''s better then having a move 20 minutes later then the player wants it...
It really doesn’t matter if I can make realistic AI, challenging AI, fun AI, if it can''t run within the game with the resources it''s meant to work with.
I find myself spending more time trying to increase performance, rather then doing research and making BETTER AI.
Really, game AI, like graphics, is not usually a matter of "what is the new cool technique", but rather "what technique will work with X resources".
If all that matters is what you get in the end, why go through life?
~Michael Sikora
From a player perspective:
The use of AI can depend greatly on the type of game that is produced. In general terms the target audience and genre figure greatly in the AI needs.
Personally it depends on what kind of mood I’m in as to what type of game I go for and thus what the AI is like.
For example if I just want some relaxing fun, running around blowing things up in a FPS, then the AI is less important than just bring on the bad guys for me to waste. However I still feel that they should have enough of an AI not to ‘toast’ each other needlessly, get around objects and to some extent gang-up and ambush me.
If I want a challenge however I’d go for a more strategy based game, either RTS or Turn Based Strategy. These I would expect to have a robust and complex AI, something that will prove a sufficient challenge. I also expect that in games where there are more than one opponent to face, that they aren’t allowed to just gang up on the human player in the old ‘All the AI’s together’. The other thing that you get a lot of in these types of games is the opponent getting free hand outs from the program, this I have a real problem with. Similarly with map / environmental knowledge. If I have to explore and conduct a hard slog to secure vital resources, I don’t see why my opponent shouldn’t have to.
Personal rant over.
I think, as I have said before, that it all boils down to time and money. Time pressure in releasing a product and tight budgets.
"Making it up! Why should I be making it up. Lifes bad enough as it is without wanting to invent more of it."
The use of AI can depend greatly on the type of game that is produced. In general terms the target audience and genre figure greatly in the AI needs.
Personally it depends on what kind of mood I’m in as to what type of game I go for and thus what the AI is like.
For example if I just want some relaxing fun, running around blowing things up in a FPS, then the AI is less important than just bring on the bad guys for me to waste. However I still feel that they should have enough of an AI not to ‘toast’ each other needlessly, get around objects and to some extent gang-up and ambush me.
If I want a challenge however I’d go for a more strategy based game, either RTS or Turn Based Strategy. These I would expect to have a robust and complex AI, something that will prove a sufficient challenge. I also expect that in games where there are more than one opponent to face, that they aren’t allowed to just gang up on the human player in the old ‘All the AI’s together’. The other thing that you get a lot of in these types of games is the opponent getting free hand outs from the program, this I have a real problem with. Similarly with map / environmental knowledge. If I have to explore and conduct a hard slog to secure vital resources, I don’t see why my opponent shouldn’t have to.
Personal rant over.
I think, as I have said before, that it all boils down to time and money. Time pressure in releasing a product and tight budgets.
"Making it up! Why should I be making it up. Lifes bad enough as it is without wanting to invent more of it."
"Making it up! Why should I be making it up. Lifes bad enough as it is without wanting to invent more of it."
"developer" POV :
The unnerving dependency between AI and more elements of gameplay than one would like to imagine.
I have been "researching" for my MSc for a good year now, and the constant problem I run into is the fact that AI is not just a case of figuring out a few good algorithms to make your agents run around.
As soon as you start interacting with the environment and its agents, you need good interface design. which means, you need to know a bit about Human Computer Interaction.
It''s far from being a trivial problem to solve. From the "click to use" policy of HalfLife, to the simple generic orders of Unreal, to squad commanding in Operation Flashpoint. And let''s not get started about dialogue systems...
Another thing. If you think agent, you think "moving around", because let''s face it, movement is one of the first thing that let an agent look "intelligent". The problem is that movement, is highly dependent on the environment. That is, without the proper structures to describe an environment, how do you expect to move around ? You''d tell me, "hey, that''s not AI, that''s someone else''s job". Yeah, precisely, that''s the problem. Someone else, who has different goals than you when coding.
Think of the conflict between the artist who wants thousands of polys, and the coder who want to fit them in memory.
Well, the AI guy wants (OK, *I* would want) as many details about the environment as possible, while the coders don''t really care, they design the structure to hold polygons and textures.
If you dont understand what I am on about, think about it that way : the graphic coder will reduce a level to a set of polygons, organised as a nice BSP, with textures info. As an AI coder, I would rather have all those polygons organised as more "user friendly" sets of polygons, say rooms, corridors, walls, etc.
This is what a system like AAS (the system used by the Quake 3 bots) does, it recreates the level from the mass of polygons, and organise it in volumes where bots can move. It''s a step in the right direction, but I still think there could be more.
Another point that goes with this one is that with more animations, you can visually depict more behaviour. That is, if all my agent can do is walk around, it''s OK. But if my agent can crouch, go prone, walk, run, jump, etc... it starts getting pretty interesting. Imagine how cool it would be to look at a group of agents communicating with hand gestures. The gestures would of course only be there for the possible human player watching, but it would definitely be an expression of the intelligence of the agents.
Do I make any sense ?
Anyway, I am biased since those two points will probably end up as the main points of my report.
To summarize my ranting, AI is not the only thing an AI coder should be aware of. The structure describing the environment in which agents evolve has an enormous impact on the scope of behaviours that can be exhibited, and on the amount of information the agents can use to base their behaviours on.
Think of the step we made when we switched from grid based systems to polygon based systems (Eye of the Beholder vs. Morrowind, anyone ?)
Equally important is the interface that let us interact with those agents. Think of the difference between clicking on bottomless menus, and a speech recognition based interface.
I hope this contribute to the discussion. Any comment is welcome (if that''s OK with you timkin, and if you think I am on topic).
Sancte Isidore ora pro nobis !
The unnerving dependency between AI and more elements of gameplay than one would like to imagine.
I have been "researching" for my MSc for a good year now, and the constant problem I run into is the fact that AI is not just a case of figuring out a few good algorithms to make your agents run around.
As soon as you start interacting with the environment and its agents, you need good interface design. which means, you need to know a bit about Human Computer Interaction.
It''s far from being a trivial problem to solve. From the "click to use" policy of HalfLife, to the simple generic orders of Unreal, to squad commanding in Operation Flashpoint. And let''s not get started about dialogue systems...
Another thing. If you think agent, you think "moving around", because let''s face it, movement is one of the first thing that let an agent look "intelligent". The problem is that movement, is highly dependent on the environment. That is, without the proper structures to describe an environment, how do you expect to move around ? You''d tell me, "hey, that''s not AI, that''s someone else''s job". Yeah, precisely, that''s the problem. Someone else, who has different goals than you when coding.
Think of the conflict between the artist who wants thousands of polys, and the coder who want to fit them in memory.
Well, the AI guy wants (OK, *I* would want) as many details about the environment as possible, while the coders don''t really care, they design the structure to hold polygons and textures.
If you dont understand what I am on about, think about it that way : the graphic coder will reduce a level to a set of polygons, organised as a nice BSP, with textures info. As an AI coder, I would rather have all those polygons organised as more "user friendly" sets of polygons, say rooms, corridors, walls, etc.
This is what a system like AAS (the system used by the Quake 3 bots) does, it recreates the level from the mass of polygons, and organise it in volumes where bots can move. It''s a step in the right direction, but I still think there could be more.
Another point that goes with this one is that with more animations, you can visually depict more behaviour. That is, if all my agent can do is walk around, it''s OK. But if my agent can crouch, go prone, walk, run, jump, etc... it starts getting pretty interesting. Imagine how cool it would be to look at a group of agents communicating with hand gestures. The gestures would of course only be there for the possible human player watching, but it would definitely be an expression of the intelligence of the agents.
Do I make any sense ?
Anyway, I am biased since those two points will probably end up as the main points of my report.
To summarize my ranting, AI is not the only thing an AI coder should be aware of. The structure describing the environment in which agents evolve has an enormous impact on the scope of behaviours that can be exhibited, and on the amount of information the agents can use to base their behaviours on.
Think of the step we made when we switched from grid based systems to polygon based systems (Eye of the Beholder vs. Morrowind, anyone ?)
Equally important is the interface that let us interact with those agents. Think of the difference between clicking on bottomless menus, and a speech recognition based interface.
I hope this contribute to the discussion. Any comment is welcome (if that''s OK with you timkin, and if you think I am on topic).
Sancte Isidore ora pro nobis !
-----------------------------Sancte Isidore ora pro nobis !
developer:
AI is only as advanced or intelligent as it can be in a given environment -that is, it is limited by its ability to gain input and produce output. I like to write sims to study AI, and i find myself spending all of my time writting environments and their laws. once an environment is set up, there is the issue of input: how does the agent get input? alot of time it has sensors, which raises the the issue of what the sensor does, does it detect pixels or vectors, or does it detect entire objects? Next is output: what can be done, changed, or thought up?
After all of that is set up, you can begin to tinker with AI, and the ai is tailored to those things. the end result is a specific context, like the context of a game, and the "AI" can only function intelligently in that context. we are ultimatly trying to acheive ai that can function in the human context, and all ai does do that to a limited extent.
the player should be an important component of AI. too many games have static ai, that doesnt learn between games. AI needs to be able to learn from the player. players introduce elements that may be seemingly random, and elements that simply are beyond the AIs understanding. this is especially true in real time strategy AI. its not uncommon for players to exploit bugs in the ai to gain an advantage, in such areas, the only solution is to take a biological approach - and evolve, using genetics (or trial-and-error ).
evolution allows you to introduce random elements and see how they pan out -if the result is good, then the AI has learnt something new, perhaps previously beyond its grasp (and perhaps still). The implimentation of (practical) evolution can be tricky, but i would like to see the AI try some stuff for no apparent reason, and see how it works.
that in my opinion is the problem with most AI -the ai does not take risks. why cant it take risks? -it is a game after all, not a life and death struggle on the discovery channel. the game will get played again, perhaps the ai can request a rematch?
-evilcrap
AI is only as advanced or intelligent as it can be in a given environment -that is, it is limited by its ability to gain input and produce output. I like to write sims to study AI, and i find myself spending all of my time writting environments and their laws. once an environment is set up, there is the issue of input: how does the agent get input? alot of time it has sensors, which raises the the issue of what the sensor does, does it detect pixels or vectors, or does it detect entire objects? Next is output: what can be done, changed, or thought up?
After all of that is set up, you can begin to tinker with AI, and the ai is tailored to those things. the end result is a specific context, like the context of a game, and the "AI" can only function intelligently in that context. we are ultimatly trying to acheive ai that can function in the human context, and all ai does do that to a limited extent.
the player should be an important component of AI. too many games have static ai, that doesnt learn between games. AI needs to be able to learn from the player. players introduce elements that may be seemingly random, and elements that simply are beyond the AIs understanding. this is especially true in real time strategy AI. its not uncommon for players to exploit bugs in the ai to gain an advantage, in such areas, the only solution is to take a biological approach - and evolve, using genetics (or trial-and-error ).
evolution allows you to introduce random elements and see how they pan out -if the result is good, then the AI has learnt something new, perhaps previously beyond its grasp (and perhaps still). The implimentation of (practical) evolution can be tricky, but i would like to see the AI try some stuff for no apparent reason, and see how it works.
that in my opinion is the problem with most AI -the ai does not take risks. why cant it take risks? -it is a game after all, not a life and death struggle on the discovery channel. the game will get played again, perhaps the ai can request a rematch?
-evilcrap
Player perspective :
- EvilCrap brought this up above, but I''d like to reiterate. For almost any game, one you have beaten the AI you can beat it again continuously. The AI is no longer challenging to play against, and since you can''t tell it how badly it sux0rs it''s no longer fun (that last only partly in jest).
- I really dislike influence mapping in games (I think that''s what it is at least). From what I can tell this makes for very boring, very annoying AIs. Firstly it''s predictable and hence easily beaten as soon as one figures out where its valuation is imperfect. Secondly it seems to go hand-in-hand with total map knowledge which is aggravating (ie. you leave one spot and the computer will be there the next turn). Which brings me to my next point.
- Cheating. Almost every AI cheats in some way. The AI is usually playing under different (relaxed) rules which usually means the player has to exploit its stupidity in order to offset its artificial advantages. Discovering the stupidity of an AI makes it much less fun to play against.
Developer perspective :
- It''s hard to make an AI and not result in one of the above.
- EvilCrap brought this up above, but I''d like to reiterate. For almost any game, one you have beaten the AI you can beat it again continuously. The AI is no longer challenging to play against, and since you can''t tell it how badly it sux0rs it''s no longer fun (that last only partly in jest).
- I really dislike influence mapping in games (I think that''s what it is at least). From what I can tell this makes for very boring, very annoying AIs. Firstly it''s predictable and hence easily beaten as soon as one figures out where its valuation is imperfect. Secondly it seems to go hand-in-hand with total map knowledge which is aggravating (ie. you leave one spot and the computer will be there the next turn). Which brings me to my next point.
- Cheating. Almost every AI cheats in some way. The AI is usually playing under different (relaxed) rules which usually means the player has to exploit its stupidity in order to offset its artificial advantages. Discovering the stupidity of an AI makes it much less fun to play against.
Developer perspective :
- It''s hard to make an AI and not result in one of the above.
Nice thread. Though it would be of even more help if someone would summarise and regroup all the points in one line each (Timkin
player:
developer:
design:
Yes, interesting issues! Now what?
Artificial Intelligence Depot - Maybe it''s not all about graphics...
player:
- Can I mess up the AI character by pushing it out of its sand-box, i.e. the domain for which it was designed?
- Does my interaction with the AI cast have any affect on it? Is it worth me spending time on/with/around it?
developer:
- How long would it take to explore and experiment with a particular interesting option, before it even makes the game?
- Is middleware viable?
- How to integrate all the academic research in practice?
- What are the options for making HUMAN-LIKE AI, and which is most applicable to my problem?
design:
- Can AI drive the design?
- Does the design get in the way of the AI?
- How can both be made to fit and match together?
Yes, interesting issues! Now what?
Artificial Intelligence Depot - Maybe it''s not all about graphics...
Join us in Vienna for the nucl.ai Conference 2015, on July 20-22... Don't miss it!
My brain puke for the hour:
As a designer, for fun factor:
* Is predictable AI part of the challenge of the game? (Run the monster into a corner to escape it)
* Will intelligent AI make the game too unpredictable for the player (consistent strategies don''t work). The idea is to help the player master the game, which is part of its draw.
* How much should the AI be dumbed up to make it seem more realistic? All shots shouldn''t be so accurate, etc.
* Settings for how AI reacts (easy, medium, hard), and have it actually BE easy, medium and hard!
* Should higher skill levels challenge the player to try new tactics or polish their existing ones?
* Don''t railroad only one possible way to effectively confront an AI opponent, if possible
* Does the AI remember or just work off from the existing state?
Player:
* Does the AI challenge me to try out a few tactics and stick with one that works? Do small variations of that help me confront other AI objects as well, given the interface constraints? Do variations in the environment challenge me to tweak my strategies given each situation?
* How much do I have to micromanage my AI units?
* Do my AI units do too much and take away from the amount of control I''d like to have?
Management:
* How modifiable is our AI system? If we want to add more or change it, will it take a lot of reorganization?
* Which AI algorithm is appropriate for what we want to do? (Fuzzy logic, neural networks, multi-level finite state machine, etc.)
As a designer, for fun factor:
* Is predictable AI part of the challenge of the game? (Run the monster into a corner to escape it)
* Will intelligent AI make the game too unpredictable for the player (consistent strategies don''t work). The idea is to help the player master the game, which is part of its draw.
* How much should the AI be dumbed up to make it seem more realistic? All shots shouldn''t be so accurate, etc.
* Settings for how AI reacts (easy, medium, hard), and have it actually BE easy, medium and hard!
* Should higher skill levels challenge the player to try new tactics or polish their existing ones?
* Don''t railroad only one possible way to effectively confront an AI opponent, if possible
* Does the AI remember or just work off from the existing state?
Player:
* Does the AI challenge me to try out a few tactics and stick with one that works? Do small variations of that help me confront other AI objects as well, given the interface constraints? Do variations in the environment challenge me to tweak my strategies given each situation?
* How much do I have to micromanage my AI units?
* Do my AI units do too much and take away from the amount of control I''d like to have?
Management:
* How modifiable is our AI system? If we want to add more or change it, will it take a lot of reorganization?
* Which AI algorithm is appropriate for what we want to do? (Fuzzy logic, neural networks, multi-level finite state machine, etc.)
It's not what you're taught, it's what you learn.
quote: Original post by alexjc
Though it would be of even more help if someone would summarise and regroup all the points in one line each (Timkin
That will be done, but for the moment I don''t want to unintentionally steer peoples thoughts by highlighting what has been said before. I''d rather people read it themselves and offer their own ideas.
So far, everything that has been written is great! There are certainly many points raised that I doubt I would have considered myself (which is why I am asking you folks.
Please keep the ideas coming, but also feel free to discuss what other people have said. Expand on their thoughts from your own perspective.
As to what it''s all for... I''ll let you know when it''s all said and done!
Thanks,
Timkin
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement