Archived

This topic is now archived and is closed to further replies.

techpage

"honest" AI and "cheating" AI?

Recommended Posts

techpage    122
I''ve read an article that wrote, "Game developers tend to cheat their way through making AI". Actually, what are "honest" AI and "cheating" AI? What kind of cheating that can be done in Game AI, perhaps in a strategy game like C&C?

Share this post


Link to post
Share on other sites
liquiddark    350
If the reference is to literal cheating, then C&C and its heirs are famous for giving the computer advantages in initial cash, building speed, unit strength, and so on in order to make the game tougher This can be set in opposition to, for example, generating a computer general capable of marshaling its forces in flanking maneuvers. Or, in the case of RA2, one capable of using its engineers to repair bridges - not that I''m bitter or anything.

Otherwise, I would imagine that game developers are guilty of "cheating" in the form of parameter tweaking, but no moreso than with most other AI implementations.

ld

Share this post


Link to post
Share on other sites
mjacobsca    122
A common method of "cheating AI" in RTS games like Command and Conquer is letting the computer know your position at all times, or having a much smaller fog of war limitation. Sometimes they also get faster building times. Another common technique is to let the computer see the whole map so it knows where all resources are.

Most of the time, such techniques are done to level up the playing field since most AI''s are not up to human caliber when it comes to shifting strategies or responding to unexpected events.

I don''t generally mind computer AI''s cheating since I am usually better than they are, and I''d be afraid to see how weak the AI was without cheating at all. However, I feel that honest AI''s are more fun to play against because they often times make the same types of mistakes you do, and every once in a while you can really catch them offguard and see your strategies working. For instance, you can build all catapaults and they are unprepared. With a cheating AI, the computer migiht see you doing this an automatically compensate with fast units that can get to your catapults quickly. Cheating AI typically causes you to play with more balanced forces because they are always adjusting to your strategies.

Michael

Share this post


Link to post
Share on other sites
Gaiiden    5710
Heh, you guys have misinterpreted the statement just a bit
quote:

Game developers tend to cheat their way through making AI


What this means is that a developer designs an AI that "looks" intelligent. You see, most of the AI's used in todays games are just basic FSMs or FuSMs, nothing more complex than that. But the actions that the AI's carry out in the game make them seem to be more intelligent than they really are. In this way the developers have "cheated" in making the AI because it really isn't all that complex or smart of a beast when you really break it down.

However you guys have a nice discussion going anyways - I just wanted to set it straight that you were a little off topic In fact I'm surprised it wasn't explained further as such in the article. Oh well. That's what happens when you make assumptions. You should never make assumptions when writing an article. Anyways carry on...


_________________________________________________________________

Drew Sikora
A.K.A. Gaiiden

ICQ #: 70449988
AOLIM: DarkPylat

Blade Edge Software
Staff Member, GDNet
Public Relations, Game Institute

3-time Contributing author, Game Design Methods , Charles River Media (coming GDC 2002)
Online column - Design Corner at Pixelate

NJ IGDA Chapter - NJ developers unite!! [Chapter Home | Chapter Forum]

Share this post


Link to post
Share on other sites
Often, there''s no choice when it comes to designing AI for a game. AI take only a small percentage of the computer''s resources in a game, because all the rest are, unfortunatly, going to graphics, sound, and world computations. This leaves very little space for the AI to play with, thus they have to practically script events to make the AI seem like it''s smarter than it really is. Really, a pity in modern games.
If they were to make the AI with neural networks and complex reactions, it would make for a very poor game, as any AI further than FSM takes massive amounts of computing. Until we''re out of the binary computer bit, I think we''re stuck with either having a poor AI or a poor world when it comes to games.

Share this post


Link to post
Share on other sites
edotorpedo    198

Well, you''re partially wrong here. The fun thing about NN''s, in contrast to GA''s and Hopfield Network, is that it''s completely precalculated, if you know what I mean. The time it takes to calculate an output vector based on a new input vector with a NN doesn''t take long at all. The Quake Neuralbot seemed pretty quick...

Edo

Share this post


Link to post
Share on other sites
Argus    118
Is there really a practical difference between AI that *looks* intelligent and AI that *is* intelligent? If AI looks intelligent *all the time*, then you''d want to class that as intelligent, regardless of the underlying mechanisms.

The real problem with game AI is that most of them don''t even look intelligent. But when you''ve got 20 artists on a game and only 1-2 AI programmers it''s hardly surprising that it looks better than it plays.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster   
Guest Anonymous Poster
I''m sorry, but when the hell did they actually start having
dedicated ai programmers on projects, much less two of them.

Oh, and depending on how you look it, they''re all state
machines, some of them are more complex and can change how
they''re structured is all.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster   
Guest Anonymous Poster
Ah, that''s just it, you accidentally asked two questions.
However, both are found within the thread but I shall explain
anyway.
The quote means that developers cheat when making ai.
Putting honest and cheating into double quotes makes a
reference to the ai itself.

The quote from the article alludes to what Gaiiden was pointing
out. Gaiiden is right about current ai not bein complex but
he is wrong about the intelligence or smartness of it. Again,
smartness really isn''t needed since MOST ENEMIES ARE JUST
SPRITES ANYWAYS AND CAN''T DO MUCH OF ANYTHING, EVEN PLAYERS
HAVE A LIMITED AMOUNT ACTIONS. You would expect an enemy to
shoot at you if it get''s close enough and very simple FSM work
wonders on doing that.
It would be like putting the mind of a genius into a coma
patient.

Honest and cheating ai are exactly that. You must remember
that the ai is another player.
Of course you could say that it''s impossible for the ai to
cheat because the advantages given to the computer are a part
of the rules of the game universe.

If you have an iq above that of a rock, then you should be able
to figure out the definitions.
If you''re worried about advertising, then celebrate whatever
technique you use to make the ai so smart it doesn''t need to
cheat.
Happy New Year!

Share this post


Link to post
Share on other sites
Geta    136
quote:
Original post by Anonymous Poster
I''m sorry, but when the hell did they actually start having
dedicated ai programmers on projects, much less two of them.



I don''t know who the "they" are that you are refering to, but I''ve
been working as a "dedicated ai programmer" on projects with computer
game developers since early 1995. I also know of a number of other
"dedicated ai programmers" who are working on other game projects,
and in some cases there are more than one "ai programmer" on the
project. On my current project, there are 2.

Eric

Share this post


Link to post
Share on other sites
Guest Anonymous Poster   
Guest Anonymous Poster
Well Geta, as much as everyone complains about the state of ai
in games then obviously

1)you''re not as dedicated as you think

or

2)you guys suck.

Take your pick and since you''re taking your pick if you''re
offended, pick the other one and don''t bother flaming back.
Also, don''t flame, this was a conditional statement that
depends on the the first two lines, attack those first two
lines and the whole argument falls apart without so much as
a match. That''s what arguing is supposed to be like. I say
we bring back civility to the forums.
(dead silence)
A voice from the throng, "That''s fine, just let me flame
this guy one more time.."

Share this post


Link to post
Share on other sites
Brobanx    136
I''ve always looked at "honest AI", and "cheating AI" this way.

Take Starcraft for example, it has a "cheating AI" when you play the computer. A regular player is limited by fog of war, and usually doesn''t know where all the minerals are, and is forced to scout the map and guess his opponents actions. The computer AI, on the hand, is omniscient to eveything in the game world. The AI knows exactly where you are and what you have built even though they haven''t scouted / seen you yet. The computer can''t build anything / get more resources than you though.

An "honest AI" would be forcing the computer to scout the map before they know where things are, and having to guess about your location and actions etc, just like an opposing human player would have to do. This approach is a lot harder to program than the first, which is why it''s usually not done. It would be very interesting to have starcraft programmed this way though, although it would be hard to regulate the difficulty.

Share this post


Link to post
Share on other sites
Gaiiden    5710
quote:
Original post by Anonymous Poster
Gaiiden is right about current ai not bein complex but
he is wrong about the intelligence or smartness of it. Again,
smartness really isn't needed since MOST ENEMIES ARE JUST
SPRITES ANYWAYS AND CAN'T DO MUCH OF ANYTHING, EVEN PLAYERS
HAVE A LIMITED AMOUNT ACTIONS. You would expect an enemy to
shoot at you if it get's close enough and very simple FSM work
wonders on doing that.


I am not wrong. The fact that a computer opponent is able to shoot at you and react to being attacked (amongst other things) conveys a level of intelligence. AI in games is designer to look smart while the underlying mechanics are very simple. There have been companies who have held sessions with their testers and asked them to determine if they were playing a bot or a real player. Many times they think it's a human when it's a computer-controlled bot. These bots are usually nothing more than some sort of state-machine, but they "appear" to be intelligent in their actions.
quote:
Original post by Anonymous Poster
Well Geta, as much as everyone complains about the state of ai
in games then obviously

1)you're not as dedicated as you think

or

2)you guys suck.


I don't know where this is coming from, because geta is correct, there is such a thing as a dedicated AI programmer on game projects in the industry today. Ever since the GPU came out and freed up extra clock cycles that had until then been used for graphics, developers have started allocating those cycles to AI. The focus on AI is definetly picking up and plenty of companies are currently employing or looking to employ dedicated AI programmers.

And I really hope everyone understands that the topic originally cast is not the one being discussed, just to make sure there are no misconceptions.

_________________________________________________________________

Drew Sikora
A.K.A. Gaiiden

ICQ #: 70449988
AOLIM: DarkPylat

Blade Edge Software
Staff Member, GDNet
Public Relations, Game Institute

3-time Contributing author, Game Design Methods , Charles River Media (coming GDC 2002)
Online column - Design Corner at Pixelate

NJ IGDA Chapter - NJ developers unite!! [Chapter Home | Chapter Forum]

Share this post


Link to post
Share on other sites
Argus    118
quote:
And I really hope everyone understands that the topic originally cast is not the one being discussed, just to make sure there are no misconceptions.
Let me rephrase my original post. There appears to be no well-defined difference between a "cheating" AI and an "honest" AI. Why can''t a state-machine be ''intelligent''? How complex does something have to be before one calls it ''honestly'' intelligent?



Share this post


Link to post
Share on other sites
Geta    136
quote:
Original post by Anonymous Poster
Well Geta, as much as everyone complains about the state of ai
in games then obviously

1)you''re not as dedicated as you think




Obviously, the use of the word "dedicated" carries additional meanings
than that of "being solely assigned".


quote:


2)you guys suck.

Take your pick and since you''re taking your pick if you''re
offended, pick the other one and don''t bother flaming back.
Also, don''t flame, this was a conditional statement that
depends on the the first two lines, attack those first two
lines and the whole argument falls apart without so much as
a match. That''s what arguing is supposed to be like. I say
we bring back civility to the forums.
(dead silence)
A voice from the throng, "That''s fine, just let me flame
this guy one more time.."


And telling people "you guys suck" is your way of bringing civility
to the forums? Hiding in anonymity and insulting people certainly
don''t make a case for you.

Please go away troll. We don''t need your type of posting here.

Share this post


Link to post
Share on other sites
techpage    122
So, if I summarise from you guys'' postings, the definition of Cheating AI and Honest AI will be:

Cheating AI -- An approach to Game AI that uses and takes benefits from confidential world information in order to create the illusion of intelligence.

Honest AI -- An approach to Game AI that uses only pure and legal information, which is also valid to the human player.

But again, back to the meaning of "cheating", which argument should I base on?

"literal cheating": stronger units, smaller fog of war, etc.

or

"design cheating": use simple AI to simulate complex actions (FSM, FuSM, etc.)

Share this post


Link to post
Share on other sites
Impossible    134
How is using an FSM cheating? When developers (and people in general) refer to cheating AI they''re usually talking about AI that breaks game rules inorder to play the game better, not the way the AI was coded.

Share this post


Link to post
Share on other sites
Argus    118
techpage - If Gaiiden is correct (and I am assuming he is), then according to the article you read :

"cheating" AI - is AI that *appears* as though it might be intelligent, although the underlying code is not complex enough to really be ''intelligence''.

"honest" AI - is AI that does really have some underlying code which we can say is ''intelligent''.

The terminology is less than desirable because of the confusing between that definition of "cheating" and the natural definition of "cheating" in the way that rules of the game can be altered in favour of the computer.
And there doesn''t seem to be any real way to differentiate the two classes. The only thing I can think of is that honest AI is AI that learns while cheating AI does not. But I''m not sure if that is the intended definition. If so then they could have better names, otherwise I don''t think the two terms are useful.

Share this post


Link to post
Share on other sites
Gaiiden    5710
Yes Argus, that''s what I meant. However I''ve also finally realized the other definition that''s been kicked around:
quote:
Original post by techpage
Cheating AI -- An approach to Game AI that uses and takes benefits from confidential world information in order to create the illusion of intelligence.

Honest AI -- An approach to Game AI that uses only pure and legal information, which is also valid to the human player.


That''s certainly another way of looking at it, Techpage. You could call that cheating and honest AI as well. On one hand we''re looking and the mechanics of the AI ("cheating" == simple state machines) whereas on the other hand we could look at the way the AI uses information ("cheating" == using confidential world info instead of reasoning on its own). Both definitions are different tho, and shouldn''t be used together.

_________________________________________________________________

Drew Sikora
A.K.A. Gaiiden

ICQ #: 70449988
AOLIM: DarkPylat

Blade Edge Software
Staff Member, GDNet
Public Relations, Game Institute

3-time Contributing author, Game Design Methods , Charles River Media (coming GDC 2002)
Online column - Design Corner at Pixelate

NJ IGDA Chapter - NJ developers unite!! [Chapter Home | Chapter Forum]

Share this post


Link to post
Share on other sites
jermz    122
I''d have to disagree with Argus''s definitions of cheating AI and honest AI. Now fundamentally it does come down to the definitions of AI. Is AI something that behaves intelligently or thinks intelligently? This is a LARGE debate in the AI community but I think that as far as games go, it is decidedly in the realm of action, not thought.

As to cheating vs honest...techpage has the right idea.

Cheating AI is AI that has access to information and methods that are not available and would not be available to the players. This includes things like knowing resouce locations w/o scouting, knowing health of enemies, being able to build things faster, etc...

Honest AI is AI that plays by the "rules" of the game. These rules are the same that bind the human players. Basically if its cheating in multiplayer then its cheating for AI too.

Share this post


Link to post
Share on other sites