Advertisement

What are the "issues" in Game AI [moderated thread]

Started by June 19, 2002 02:48 AM
45 comments, last by Timkin 22 years, 4 months ago
Maintain a list on the site and let people add items to it? I''m sure it would be useful.

Exactly, Argus is right. Reading through all those long posts to get some key points is very tedious, and I''m sure most get bored before the end. I posted 8th, and I confess not reading fully past the 4th message, and just scanning for keywords.

The time has come for the summarisation. Maintain a list right at the top of the thread (format it nicely in HTML), mention and emphasize the purpose of it, and tell people to add their comments as a new post. Also explain that a moderated thread is just as open as others... this might have scared people off a bit. Keep it concise! Short attention spans, rememb...

What was i doing again?

Alex


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!

Advertisement
In Games:

Nowadays I think that developers put care in their AIs. I''m happy because it makes completely different games...

Starting from the beggining, and forgetting all the games that don''t have AI, I think that soccer games were the firsts trying to implement good AIs. However, Kick Off (well known thanks to its great playability) is very simple today. Sensible Soccer was a better game (with simple graphics) because it had a good AI and, due to that, a great playability. Fifa Series are not liked by soccer-videogame players because it is too easy and AI is very stupid. Look at ISS Pro and, though its graphics are not so outstanding, the playability is great.

So, what do I mean? In EVERY game that requires AI (at your side or as an opponent) the people is expecting better bots.

The same happened with the first bots for Quake, and what people did later (I think it was Mr. Elusive who introduced fuzzy logic in Quake bots, but I''m not sure). Now, Quake bots play far better than in Quake I.

Another good example of well invested funds in AI is GTA3. The drivers are really good, they act as real humans and take real good decisions when driving (escaping over all). Another one: black&white, the people acted REALLY well, but if you played the game you should have noticed that the opponents (AI gods) where GREAT.

Design: how to get this, how to get a GOOD AI?

This is the real problem. As designers I think that our goal is:

- Get the AI difficult to beat
- The AI can''t play always the same way (so the AI must learn or use random factors)
- The AI must not have cheats that can lead the player to exloit them (and lose fun and interest)
- The AI must adapt to any way of playing allowed in the game
- The AI shouldn''t have to cheat to get these goals

So, we can see many circumstances where this is not aquired: urban terror bots, cooperative games, heroes of might and magic 3 (I do think that homm3 AI cheats all the time)...

For me, the problem is "how to model" the AI. In many cases a combination of techniques is used, and balancing and selecting them is a difficult task. For example, programmers have been studying chess for years and modern approach is far different for that used in the beggining. Maybe chess is not a good example but for me it shows how an unique problem can be extended for years of investigation.

For this reason, getting a good AI system the first time you model and code it should be difficult...

I think that, once you master AI techniques, you can start aquiring some "intuition" that lets you think about a problem and a suitable way to perhaps solve it... and it can not be the best way...

Even if you master many techniques you still have to code some algorithms (asigning weighs, heuristics, estimating states importance, designing a neural network, modeling your genetic algorithm...). Where do you get all this? In most cases you model them because you suppose which are the important things and which ones are not important but, still, you should do many tests and demos and check how the AI works in every case.

So, I think that AIs are like big art pieces (little in my case), you work on them, at one point you are satisfied or don''t have more time and you end with a little system that can play as a human would. Some are really good, some are impressive, some are fun and surprise you with well made responses to things that you think that wouldn''t be noticed by the AI...

And all of them are different...

Of course, from a scientific point of view you can think that a problem can be studied and reduced... well, in some way it can but in that case maybe you are forgetting to compare some technique... and it takes too long. I don''t know but I think that designing (modelling) AIs is an inexact science. And maybe that is what makes it fun, you always end up looking at it for hours and wondering why your AI does or doesn''t do that thing...

In the other hand, some techniques areuseful for pathfinding and so, but, though they are "AI techniques", doesn''t make an issue since they are already studied and work well. For example, you may use AI techniques to move people in a graphic adventure, but this is not what I am refering in the post and I think that everybody here is talking about AIs acting as human players, or as intelligent beings inside a game.

Anybody here plays bot fights? Someone can give me links or something? We could make an arena and a scripting language anyway (if anyone is interested I''ll post this in another forum).


JJpRiVaTe
Web: Private Zone
-=[ J ]=-I always forget to change the tagline.
As a player:
The All-I-ever-though-about-was-killing-you-and-everything-that-looks-like-you behaviour from, say a bot is the worst thing I know (by that I mean bots that rush forwards and shoot and shoot and then repeats from rushing forwards)
Seeing monsters or NPC''s or whatever cooperate to achive a shared goal impresses me alot.
Seeing monsters or whatever hiding or doing other things that seems to need a little bit of intelligence impresses me.
Being able to hide from a monster by standing still in the shadows would make me cry of joy.

I guess that''s it.

as a player:

i dont like how most AI is fearless and will just charge you and wont run away even when you are wasting it. it will just shoot and shoot and shoot and maybe it will kill you and maybe you will kill it.

i think some life preservation techniques would be fun to see in the AI. i would like to run up to a bot in UT with a rocket launcher and see it run away hehehe.

for racing games AI, i like to see AI cars try and take out other cars or your car. or at least have it try to scare you by driving up really close to you to try and get you to move over, or bumping your bumper etc. that way, imo, i think the AI would be a lot more replayable and fun and more lifelike. And like what evilcrap said, the AI doesnt take risks, i would like to see cars in car racing games take risks. the AI in race games never seems to take shortcuts etc. probably because of the follow the spline method of telling the AI cars were to go. I thikn if the AI would do its own pathfinding we could get some better results.

those are all my AI thoughts
Biggest problem for me is creating an AI that is all things to all players. As we''ve seen from some of the posts, players all expect different things from their AI. In addition, different players have different skill levels. Trying to cater to all at the same time is a nightmare.

Bob
Bob ScottAI Designer/ProgrammerStainless Steel Studios
Advertisement
My main concern and area of interest is in creating non-player characters with believable behaviour (specifically for RPG-like games). It surprises me how little advancement has been made in this area, given that a hybrid script and reactive system should be able to create something very authentic.

[ MSVC Fixes | STL | SDL | Game AI | Sockets | C++ Faq Lite | Boost | Asking Questions | Organising code files ]
I have never written any AI for real time games other than for pong. The AI that I have quite a bit of experience with are things like chess, checkers, etc. That area of AI makes use of mostly brute force methods. Basically the AI is the program, so it''s different than a real time 3D shooting game.

As a user, the thing that I find to be the biggest drawback is that there is not a realistic feel to the game play against artificial opponents. I''ll give some examples. In Quake 3 Arena I play against the bots on the hardest setting and I am able to run straight to the flag, grab it, and capture it most of the time. Not always though. The times that I don''t make it are usually because I get shot while flying through the air from across the map, which is also a little unrealistic. In Counter-strike (Half-life mod) I play against bots, and it''s very easy to dominate them even when they''re on the hardest setting. I can play 1 on 10, and because they are so predictable I can usually take them all out. Here again, when I fail it''s usually because one bot glocked me from across the map (glock is the biggest POS gun in CS). This is fine if I want to practice my sniping or something, but for "fun" it gets very old very fast.

As a developer, I (like most I would guess) don''t really have a solution. I want my AI to be more realistic and perform like a human and make mistakes sometimes. But then you get this fake "mistake" crap where the bots are running the wrong way into a wall while they should be going for the flag or defusing the bomb. I think that current AI seems very "hacked together", where they first develop a bot that plays almost perfect and never misses, so they dumb it up a little, and then it has this unnatural feel where it plays incredible but all of the sudden goes nuts and does something stupid, or it wanders aimlessly then kills you in one shot from across the map.

Even in chess the computer doesn''t play like a human. The computer sees quite a few moves ahead so it can thrash 99% of us humans, but it has a limit and can''t see THAT far ahead and see the long term effects of it''s decisions. That is how top chess players are able to beat chess programs. The computer can see maybe 14 moves ahead, but the chess grandmaster knows that a particular feature of his computer opponent''s position will come back to haunt him 30 moves down the road. On top if this, the computer plays moves that don''t make sense a lot of times. The computer will make what we call "shuffling moves" where it kind of "does nothing". This approach works well against weaker players, since it''s only a matter of time before a weak player makes a weak move. Against a computer it only takes one slightly weak move for the computer to hammer you. The computer chess program has no concept of a plan. It makes move A instead of move B because there is an array of square values that says that the center squares are "worth" more than the border squares.

Having said all of that about computer chess, here is what I think. The large portion of the time in a real time game is spent on non-AI things. In computer chess, 99.9% of the time is spent on the AI, and maybe a very small fraction of the time is spent on generating output or something. Computer chess still has many holes and is still very unnatural when compared with playing a human opponent. The fact that computers beat humans most of the time doesn''t mean the AI is good. IMO it''s quire poor actually. It''s nothing more than a pretty basic evaluation function and some standard search techniques. There are a few interesting pruning techniques such as null-move pruning where the program decides not to search an entire branch of the tree without even searching it, but even still that''s not very advanced. They aren''t really smart, they''re just very fast. In other words, it still hasn''t been done in computer chess where a program plays like a human. A program cannot give you a very in depth analysis of a position. It can give you a score and some moves, but it can''t output, "The reason that Nxf6 is a bad move is because it allows black to develop a strong attack on the queenside." About the best "analysis" I''ve seen comes in the form of general statments such as, "After exd4 white''s pawn structure is slightly weakened." The program doesn''t "know" that, it just got a worse numerical score because it considers an isolated pawn to be bad always. This isn''t always the case. Sometimes it can be used as an advantage. The computer cannot decide whether it''s good in this case or not. It just assumes it''s bad because it''s bad *most* of the time. It uses a lot of these general rules, and sometimes these rules make it look very dumb.

Since in a chess program (which is 99.9% AI) the computer can''t achieve a good understanding of a chess position, I certainly don''t think that in a real time game where a small fraction of the time is devoted to AI that the AI has much chance of being realistic. The first thing obviosly is that the program has only a small fraction of the time to do AI stuff when compared with chess. Secondly, in a real time game the environment is constantly changing. By the time the computer has had time to analyze anything, the environment isn''t the same, so the computer''s decision to "go left" might not be a good decision anymore.

I think real time AI is a very difficult subject. My personal opinion is that it''s quite a ways off too. I don''t think we''re just waiting for the "next big thing" before we have realistic AI. I think we''re going to be waiting for "the next big thing" after maybe half a dozen or so "next big thing"''s have been discovered.

Russell
Again I want to thank everyone that has taken the time to respond to this thread. Your responses show that you have given thought to my question and spent some time considering your responses. I appreciate that.

I'd like to raise a couple of further questions, in response to some of the points made. Feel free to discuss them further.

Guardian_Light mentioned the problem of 'efficiency' and 'performance' of AI in terms of the resources available. Clearly one of the problems in developing AI for specific game platforms (XBox, PS2, etc) is the limited resources.

Do people feel that a well designed and developed AI middleware package would solve this problem by:

a) providing a clear understanding of the resources required to implement any given technique;
b) encouraging the development of AI dedicated hardware; and,
c) give more people access to the AI techniques that they don't have time to develop properly themselves?

Several people raised the issue of 'reality' in AI. Whether an AI 'looks' and 'feels' real to play against. Let's face it, most if not all AI's just don't feel real (IMHO).

Would you, as a player, believe an AI to be more real if the mistakes it made appeared to be flaws in its strategy or tactics, rather than ad hoc dumbness (like poor aim) or sending exceptionally weak squads against you one after the other.

What do you, as a player, believe 'acting like a human opponent' means?

Another very interesting point raised was the issue of adaptability of the AI. Does the AI encourage adaptability in the player and does the AI itself adapt to the players altered tactics and strategies. For the most part, the player is given different levels to complete, usually of increasing difficulty, that encourage adaptation or refinement of strategies and tactics.

Do you believe that imbuing an AI with the ability to adapt to the straetegies and tactics of its particular opponents - with the aim of defeating those strategies and tactics - would make for an interesting and challenging AI, or do you believe that it would be too hard for most players to overcome the AI and hence not enjoyable?

Given that the AI could be made to adapt to the player - through modelling of player behaviours and planning of effective responses - how would you go about weakening the AI without making it seem like an obvious hack?

Finally, Russell and several others raised a very good point about whether the design of the game was driven by the type or needs of the AI, or whether the AI was developed after the gameplay was designed (i.e., to meet the needs and vision of the design team).

Do you feel that games would be better served by taking a more AI-centric approach to design and gameplay, just as games like Doom and Quake once to a very graphics-centric approach to attract players?

Again, thanks for all of the responses... and feel free to raise new issues and to discuss them.

Thanks,

Timkin

[edited by - Timkin on June 30, 2002 10:51:28 PM]
i think ppl must set AI above graphics now. After Doom & Heretic, there has been a tremendous battle about the graphics. Now this should be started for AI too. Then we get the best AI :D
REALITY.SYS corrupted, reboot UNIVERSE? [y/n]

This topic is closed to new replies.

Advertisement