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
quote: Original post by Timkin
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?

a) IMO, the greatest advantage of a middleware is the ability to try a possible solution quickly, so it would probably provide a clearer understanding of the resource requirements. Right now, I assume a lot of developpers must choose a technique at the beginning, and don''t have time to try something else if they find out that they are wrong.

b) I don''t think so, because a general-purpose CPU will probably be favored (in games, at least). But then, I have 0 professional industry experience, so what do I know about it?

c) Definitely, especially with smaller teams or budget titles.
quote:
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?

My father used to play StarCraft all the time, only against computer opponents, because he could figure out the pattern, and play StarCraft as he played a game of Solitaire. When you''re a good player, it''s great to have a changing opponent, but when you''re not, sometimes the only way to beat a particular challenge is to go through it many, many times and figure out exactly what moves must be done at each step, to compensate for a lack of skills.

quote:
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?

There is a great way to do this in Chess: the computer has either a limited horizon, or it is forced to make a move after a short period of time. If AI was designed to assign scores to particular moves, based on its analysis of the situation, limiting its thinking time could be an option (it would also allow ''soft-core'' gamers to improve their framerate by limiting the AI''s ressources).

Not much insight here, but I had to write a response to ask you: You''re working on AI middleware, Timkin? When/what/why?

Cédric
From a users point of view I really think AI is the reason that multiplayer games have gotten so huge. With expanding broadband and not enough focus on creating a solid AI, developers would rather just create a game for online. Not that there is anything bad about playing online but it is hurting the development of AI.

http://abyssgames.cjb.net
http://www.rivetcode.com
Advertisement
I was thinking about my dream game last night, and I''ll add a point not about simulated intelligence, but worlds behaving intelligently. I pose an example with a fantasy theme. Imagine you''re at the edge of a great chasm, forests on either side. You need to get to the other side. Most games today would give you 1 or a few choices to get across. I want the game world to give me 1000''s of choices to get across. I could hire people to build a bridge, or create one with magic. I want to cast a spell on a tree that makes it grow, and eventually falls over, covering the span. I want to fly over, or build a hoist for a canoe and paddle across, then climb up the other side.

I''m not sure if you consider this on-topic or not. In my mind this problem and AI are closely related. As a side note, this world would involve having actual conversations with NPC''s that understand what you''re telling them.
quote: Original post by Timkin
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...

Timkin


Great topic, Timkin. I liked it so much, I posted a note about it over on my site to try to encourage folks to contribute!




Ferretman

ferretman@gameai.com
www.gameai.com
From the High Mountains of Colorado

Ferretman
ferretman@gameai.com
From the High Mountains of Colorado
GameAI.Com

quote: Original post by Timkin
What do you, as a player, believe ''acting like a human opponent'' means?


Well you basically just spelled it out, it means they act like a human might in a given situation. Unfortunately what this means is often specific to a certain type of game (eg ducking behind cover to avoid enemy fire, launching a feint attack to distract your opponent from your true attack), but I think you can apply some general principles to creating believable behaviour.

AI should ideally follow the same rules as a human player. Obviously this isn''t too realistic a goal in many cases so at the very least AI shouldn''t cheat obviously - it should appear to follow the same rules.

AI _must_ learn from previous mistakes. I don''t think this point can be stressed enough. To learn from mistakes is a universal human characteristic. This is how we survive and thrive.

AI should take reasonable risks, and the risks it takes should be greater the less it has to lose. This ties in somewhat with my previous point: if the AI gambles and turns out to have made a serious error it should know this in the future.

Perhaps AI should experiment with new tactics/strategies? I don''t know all that much about AI, but I think this would probably be hard as hell to get working, I guess it''s sort of verging on true AI. Rather than simply starting from scratch and learning from defeat to bring about improvement, why not try the opposite as well? Experiment with new methods and adopt them if they bring about success. This ties into the last 2 points also: if a new tactic turns out be a horrible mistake or simply not worth the losses incurred, the AI should know to drop or modify it.
Here is a new wrinkle. NPC advancement via better application of AI, so rather than going up levels (hey look your NPC archer has 25 Hit Points now!) To (I don''t know, that archer sucked a while back but now he''s really kicking butt!) It''s a pain to code. (i''m working on it now) but if i can implement it succesfully it should be virtually unique. To get on target here the issue it addresses is predictability in AI, once you''ve figured out the algo that the bots are using, it''s really easy to thwart it. (especially if you can write the algo your damn self.) Soldier of Fortune II, great game, good AI, but fire a shot, draw your enemy to you, set an ambush and you can beat them with little difficulty. The allure of online gaming is the unpredictability of a human opponent. Some are no good, some are masters, each wear the same uniform and are allowed the same opportunities. Capture the dynamic and unpredictable nature of man and you will have the perfect AI.
Advertisement
I was directed over here by Timkin from another thread.

I think that the thing that many MMOG makers are missing is the AI part. Currently all MMOGs that I've played have actually had worse AI than regular computer games.

Everyone who plays games wants to play against better opponents. What is the MMOG response? Crappy AI with player opponents, or crappy AI with rediculous levels of power. Either way you're going against crappy NPC AI.

People who make MMOGs seem to be ignoring some of their inherent benefits. The client is ONLY a pretty display. That's it. AI isn't dependent upon pulling power away from graphics or even other game logic. You should already be clustering (IMO) and that means that AI can be more powerful than it ever was before. Your AI is getting a little slow? Toss more machines at it. You want another algorithm that is a bit more processor intensive? Toss a couple more machines at your cluster to take up the slack. You can always work on optimizations at the same time, but you don't have to limit yourself to AI for 25 NPCs sharing processing time with graphics and everything else going on in that system. Need more memory? Toss in another Gig and you're golden.

Sure it can get expensive, but let's be honest, MMOGs are pure cash cows if your head isn't completely up your butt pushing a product out the door before it's ready (AO, WW2OL). UO has made more money than they will admit, EQ has probably made more than any other game in computer gaming history.

MMOGs really are the happy hunting grounds for AI programmers though, where else can you toss 50 machines (call it a shard) at entertaining 12k people who are paying you around $150k/month? Bump that up to 240k people and you're looking at around $3M and you've got around 1000 computers, probably dual headless boxes. No intense graphics that usually take up the majority of processing power. No other game do you even get to count on someone using the 'recommended' processing power, let alone know how much processing power you'll have to dedicate to AI.

BTW: Anyone who wants to have boatloads of processing power to work on AI for an MMOG (your own cluster!!), please get a hold of me (shameless pimpage).

[edited by - solinear on July 9, 2002 1:24:15 AM]
solinear: You make that sound so sweet. I wish I had the time to take you up on your offer, that''d be a great experience.

oo, the things you could do...



Stimulate
As a developer who works on tactical shooters, I would have to say that one of the biggest problems with developing a "realistic" AI is that the AI typically has a very limited understanding of the environment that it is in. Our fans expect the AI to be able to run for cover, duck down, flank the player intelligently, guard their own flank, guard doors, sneak around, use grenades, and dozens of other things. Oh, and do all this without cheating.

One of the main problems with this is that the AI just does not understand its environment. Typically, the map level only contains enough information for the AI to pathfind. The AI does not know if it is pathfinding around a boulder (which could be used as cover) or if it is pathfinding around a hole (which could not be used as cover.) Environmental awareness is the key to intelligent behavior. Sadly, this uses more of the processing budget, which then leaves less room for AI decision-making. But I feel that if the AI had enough input about the world around it, then "realistic" behaving AI would be relatively easy to program (although time-consuming.)

I also have a few comments on the attitude that the AI must learn what the player is doing and adapt to it. I contend that this is not practical for most commercial games. Let''s use a simple strategy game like Starcraft as an example and pretend that we have attached a learning algorithm to it. Let''s assume that the AI will learn by analyzing what the player did to win a certain level. Starcraft has about 30 levels. (I don''t remember exactly.) A learning algorithm is not going to learn anything significant from only 30 inputs. Although super hard-core players will play levels repeatedly, the typical player does not.

-C
quote: Original post by Anonymous Poster
I also have a few comments on the attitude that the AI must learn what the player is doing and adapt to it. I contend that this is not practical for most commercial games. Let''s use a simple strategy game like Starcraft as an example and pretend that we have attached a learning algorithm to it. Let''s assume that the AI will learn by analyzing what the player did to win a certain level. Starcraft has about 30 levels. (I don''t remember exactly.) A learning algorithm is not going to learn anything significant from only 30 inputs. Although super hard-core players will play levels repeatedly, the typical player does not.


On the flip side, many players use similar tactics from level to level... at least at the start of the level... and then alter those as the different strategic situation comes to the fore. But I do see you point... and it''s one many people understand... imbuing game agents with learning algorithms is costly (computationally speaking and budget speaking) and difficult.

Of course, there''s a whole other area of user modelling that games have never touched on... and that is context dependent input mapping, as used in Microsoft''s Lumierre project (it''s what''s behind many of MS''s help products). By studying what the player does with the mouse, keys and other input devices in different contexts, the modelling system can formulate beliefs about what the player is likely to be doing. These can then be used against the player, rather than trying to help them format their document, or fix their printer!

Of course we''re not going to see this sort of thing in the short term.

Please keep the thoughts flowing... and feel free to disagree with people and discuss things in detail.

Cheers,

Timkin

This topic is closed to new replies.

Advertisement