Advertisement

"Legalized cheating:" Rules vs. AI

Started by February 13, 2001 08:26 PM
15 comments, last by Wavinator 23 years, 9 months ago
I''ll concede that any AI needs to cheat a bit, but I think it should be avoided as much as possible. I think it would be far better to develop scalable AI algorithms (even just increasing/decreasing the update rate) than to change unit stats to make them tougher.
The ideal is an AI opponent that seems like a human opponent. Changing rules to suit the AI seems like a step in the wrong direction.
Think about it this:

In a many turn-based Civilization-alikes we give units attack, move and defense ratings. When two units fight each other, we compare terrain and unit factors.

Some units get, for example, a %50 defense because of hilly terrain. Others get 200% attack bonus because they''re cavalry on open ground. Sometimes experience is factored in.

This abstracts the minutia of battle. It doesn''t take into account feints, counter attacks, ambushes, etc. Units and their commanders are simply smart enough to have done all that.

Right. So if an individual turn-based battle is on one end of the scale, and an RTS battle itself is on the opposite end, then I''m looking for something in between.

Again, the idea is to redesign the AI so that the burden of making good decisions is somehow lightened. The turn-based battle does this perfectly, via the game''s rules, but it''s not detailed enough.


I was thinking that one way to do this might be to create AI generals that have specialties which then change the rules. For instance, General Chang has perfected the tank blitz, and this means that when he employs it his tanks move faster and hit harder. The player would know about General Chang''s specialty

The idea is to tie strategies with rules in order to help the AI out.

--------------------
Just waiting for the mothership...
--------------------Just waiting for the mothership...
Advertisement
quote: Original post by Niphty

Wave, i personally detest the idea of a cheating AI. it means the programmer didn''t take the time to make realistic AI.


quote: Original post by Andrew Russell

Well actualy accounting for sight and sound wouldn''t be as hard as you are making it out to be.. especialy in a 2D game (RTS, most RPG, etc.)


quote: Original post by Sandman

I''ll concede that any AI needs to cheat a bit, but I think it should be avoided as much as possible. I think it would be far better to develop scalable AI algorithms (even just increasing/decreasing the update rate) than to change unit stats to make them tougher.
The ideal is an AI opponent that seems like a human opponent. Changing rules to suit the AI seems like a step in the wrong direction.


Guys, no offense, but I really, really think you should look at the magnitude of the problem. Especially that of strategic AI for complex real-time games. It is a lot harder than you imagine.

Check out the design diaries or read the AI stuff from Woodcock or Keating or (Warlords 3 creator, what''s-his-name?) or talk to anyone who''s actually coded AI. These are not lazy people.

AI is the way it is today because the problem is hard to solve!!!!!!



quote: Original post by pwd

I disagree... I don''t think that AI needs to "cheat through mechanics". It already can have access to privileged information (the location of the player''s base, what they''re building, every units current location and orders, etc). To simulate a better general, all that should need to be done is to "lift the veil" a little bit (call it intuition, a strong strategic mind, or whatever).


Well, this is actually what I wanted to avoid. This is true cheating, and strategy gamers don''t find it enjoyable. It''s not interesting simply because anything you do is automatically neutralized. Sneaky strategies don''t work, you''re automatically blunted, and worse yet: The AI still can''t win in an even 1 on 1 contest!!!!

What I''m looking for is the sense of playing against a great or poor general without actually having to do all of the AI processing that that typically entails. If you can''t actually outthink the player (ESPECIALLY IN REALTIME ), then the only other option is to build the strategy into the rules.


--------------------
Just waiting for the mothership...
--------------------Just waiting for the mothership...
Hehe, your right, I know **** all about AI (I am a graphics programmer )

The problem is that players will know when they are being cheated. I think if you are going to employ this method, you have to do it in a more subtle manner than simply changing unit stats, or it will be noticeable.

How about conditional variable rate AI updates? Maybe general chang''s ability at commanding tank rushes means that he, and everyone under his command, gets extra AI updates, but only when commanding tanks? Hence the pathing, the reaction, response to threats etc. of all the tanks would be better than under general chong, who is rubbish at controlling tanks and only gets updates at half the rate. The tanks still move at the same speed, but they perform subtly better.
quote: Original post by Wavinator

Guys, no offense, but I really, really think you should look at the magnitude of the problem. Especially that of strategic AI for complex real-time games. It is a lot harder than you imagine.

Amen. RT games cannot afford complex AI due to the massive number of units on screen/existing at any one time. FPSs and RPGs (NOT Diablo) on the other hand, have more of a chance to exploit it.
quote:
Check out the design diaries or read the AI stuff from Woodcock or Keating or (Warlords 3 creator, what''s-his-name?) or talk to anyone who''s actually coded AI. These are not lazy people.

No, they''re very smart, very well paid people. Just look at Toby Simpson of Creatures fame.
quote:
AI is the way it is today because the problem is hard to solve!!!!!!

True, although we are getting better at it.

quote: Well, this is actually what I wanted to avoid. This is true cheating, and strategy gamers don''t find it enjoyable. It''s not interesting simply because anything you do is automatically neutralized. Sneaky strategies don''t work, you''re automatically blunted, and worse yet: The AI still can''t win in an even 1 on 1 contest!!!!
This is only because the AI doesn''t have enough CPU time to develop a suitable offensive/defensive. It has to rely on rules developed by a programmer who often just wants to get it over with.
quote: What I''m looking for is the sense of playing against a great or poor general without actually having to do all of the AI processing that that typically entails. If you can''t actually outthink the player (ESPECIALLY IN REALTIME ), then the only other option is to build the strategy into the rules.
You hit the nail on the head.
We don''t want to have hordes of AI soldiers, we want one or two AI Generals who determine what rules to use on the fly, rather than using a limited FSM or script.




"NPCs will be inherited from the basic Entity class. They will be fully independent, and carry out their own lives oblivious to the world around them ... that is, until you set them on fire ..." -- Merrick

"It is far easier for a camel to pass through the eye of a needle if it first passes through a blender" -- Damocles
"NPCs will be inherited from the basic Entity class. They will be fully independent, and carry out their own lives oblivious to the world around them ... that is, until you set them on fire ..." -- Merrick
I think 1 of the main factor stacked against the ai is the LACK of advanced unit management features in the game engine. The AI has no easy way to have queuable orders. If it could have them, it would be MUCH easier(and less time consuming) to modify the command instead of rebuilding it every frame.
The typical RTS AI has to issue one comand at a time, this severly reduces the amount of forward planning that can be done with out tricks. Also if the ai can queue orders why cant I? This is THE major complain I have about starcraft and its clones. One big step back in unit management. The queued order should modify them selves based on events that occur of the target, ie the target to attack gets killed, the ore runs out ect. This would allow the AI to become more abstract, which is hard to do if you have to baby you havester from resource to refinery or tell you con units to auto repair stuff when on patrol.
Advertisement
I think that the guy who said you should just lift the cover off some of the information was in a sense dead on, and in a sense completly wrong. The Ai should gather information on what you are doing to counter it. To use his example, you send a scout in(probably on a suicide mission just to scout, like i have done in game many many mant times) to see what the enenmy is doing, when they see that he is building losts of fighter planes then the Ai should counter by building AA guns, this is the way a human would accuquir information. However this is quite complex in any of todays RT games, however, i currently am programming an AI for a TB game, and I know it is posible to make good AI with out cheating becuase I am doing it (ok, mine isn''t that great, but that becuase I''m lazy).

This topic is closed to new replies.

Advertisement