Jump to content
  • Advertisement

Archived

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

Wavinator

"Legalized cheating:" Rules vs. AI

This topic is 6280 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

We''d all probably like to be able to pull together an AI opponent that can intelligently play against the player. Problem is, the more complex the game is, the harder it is to code a decent AI. What about using the game''s rules to simulate intelligence? Enemies don''t get smarter, but the rules change to make them more challenging to deal with. Take Red Alert 2, for example: Enemies seem to use the same unit AI, but as they survive battles they become more lethal or acquire new attacks. In any game where the AI has to act strategically (RPGs, action, RTS, etc) it seems like you can assist AI by changing the rules to show that they''re "better." For instance, losing units might have a 25% chance to rally, making them temorarily faster and stronger. Or forces commanded by a brilliant general might get many more hitpoints. It''s not perfect, but it might assist otherwise nominal AI. And you wouldn''t be able to call it cheating so long as all sides were governed by the same rules, right? If the rules were built in well enough, it seems (from the outside anyway) we could make some pretty lethal opponents. -------------------- Just waiting for the mothership...

Share this post


Link to post
Share on other sites
Advertisement
Yes, sounds pretty reasonable to me. We have to cheat sometimes when making a real-time game w/ limited RAM, CPU time...

Besides we''re trying to capture the sense of this abstract, fantasy world by using binary digits...not everything we do can be 100% authentic




http://www15.brinkster.com/nazrix/main.html

"All you touch and all you see is all your life will ever be --Pink Floyd
Need help? Well, go FAQ yourself.

What a plight we who try to make a story-based game have...writers of conventional media have words, we have but binary numbers

Share this post


Link to post
Share on other sites
Instead of changing the rules, why not just restrict the amount of rules available?

So the higher the enemy''s level is, the greater the amount of rules he can choose from. And if he is the Gittard-Black-Mofo-Baddy, he can utilise all the tricks in the book ...

Seems easier to me



"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

Share this post


Link to post
Share on other sites
quote:
Original post by morfe

Instead of changing the rules, why not just restrict the amount of rules available?

So the higher the enemy''s level is, the greater the amount of rules he can choose from. And if he is the Gittard-Black-Mofo-Baddy, he can utilise all the tricks in the book ...

Seems easier to me



?? Wha? Can you please ''splain zactly what you mean?

I was actually trying to remove "choice" from the equation. Choice is the problem, really. The overwhelming number of choices makes it difficult for the AI to figure out what''s best to do. Compare something like Chess to Starcraft. Though the choices in Chess are huge, they pale in comparison most RTS games.

What I''m talking about really is designing a ruleset with managable boundaries (like Chess?), and then changing things like unit capability or resilience. Chess this way might give you the ability to replace a bishop with a knight, or make it so that a pawn could occassionally survive an attack by a queen.

The hope is that by designing "intelligence" into the ruleset, you cut down on the work AI needs to actually do.

--------------------
Just waiting for the mothership...

Share this post


Link to post
Share on other sites
Why didn''t you say that in the first place?

Alright then, try this:

Have a finite set of rules. As the enemy gets tougher, allow them to search further down the tree to compute their next possible moves Just like chess ...

Otherwise I''d go for something like:

If (player has strong forward attack) then Flank;
If (player values ranged weapons over melee) then Ambush;
If (player has superior numbers) then Harrass_Flanks;
If (player is weak) then Frontal_Attack;

etc.



"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

Share this post


Link to post
Share on other sites
Wave, i personally detest the idea of a cheating AI. it means the programmer didn''t take the time to make realistic AI. If you look at the level of difficulty of a game, and survey people now vs people who were around in the old skool atari times.. you''d find out that the "Normal" difficulty is about 10 times harder nowadays.
For some reason, the normal has gone up. Or have game designers had to make up for a lack of intelligent games by making them SO hard you can''t beat them without the cheat guide? This makes them more money, certainly.. but why is this happening?
Heck, i can''t hardly beat anything on the easy level now. People make games with enemies with dead on line of sight, that always know how to find you, and when you get within 500 feet, start running to kill you.

J

Share this post


Link to post
Share on other sites
You dislike the idea of cheating ?

I hope you don''t play tabletop RPGs cause GM spend all their time cheating.
Yes I do, and I''ll even told you that it''s good !

Think about it, what creates an interesting and makes your character a hero if it''s not to attack his weaknesses and show hiw strength from time to time ?

Of course you want the AI to cheat, just not too much that''s all.

Imagine a half god, he might know what you want to do before you proceed, and in fact you''ll simply make it''s AI to react to the players actions AFTER the player choosed them.

Cheating is good for RPG, but I agree that it''s bad for RTS and some other game genres.

Share this post


Link to post
Share on other sites
so you dont like npcs that cheat? right then. i would like to see you code up an AI simulator that takes into account sound levels (remember sound can be blocked by objects, and that it''s volume decreases over distance), visability of both the actual character, objects the character is hiding behind, shadows, etc. then make it work

i think i prefer the cheating idea

MENTAL

Share this post


Link to post
Share on other sites
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).

Give the AI some general behaviour (build base defenses, go "hunting", etc) and more specific (if x do y) and let it split its resources between the behaviours.

The player starts building a lot of fighter planes, the AI starts building A-A guns, in addition to some other more general strategies... Forces wouldn''t be "stronger", they would be more "appropriate".

The challenge really comes in restricting the AIs information appropriately and not making it too brutal. Too much restriction = dumb AI, too little restriction = frustrating AI.

Hope that made sense.

-pwd

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!