[gameprogrammer] Re: AI in games

  • From: Matthew Weigel <unique@xxxxxxxxxxx>
  • To: gameprogrammer@xxxxxxxxxxxxx
  • Date: Wed, 12 Mar 2008 12:37:38 -0500

Chris Nystrom wrote:
On Wed, Mar 12, 2008 at 5:16 AM, Yasser Gonzalez Soto
<yassergs@xxxxxxxxxxxxxxx> wrote:

My idea for a IA in a Fighting game  or Shooting game is this:

Fighting Game

Player punches CPU. CPU Learn block or Dodge any punch move.
Player Kicks CPU. CPU lear block or Dodge any move
Player puches cpu cpu blocks
PLayer kicks CPU CPU blocks
Player try to punch CPU. CPU attack first.

So after a few punches and the computer learns how does the player win?

Funny thing about players... they can learn too. "Oh, when I try to do the punch/punch/kick combo, I get knocked down, but if I vary it up, I catch the computer unprepared because it's expecting a punch/punch/kick combo!" :-)

A good way to do this is make a good two player game that is fun, and
then program an AI to do what the players do as near as possible.

That's a simple way to *describe* it, but it's often quite hard. It's often far more feasible to build in a bunch of short cuts. As an example, it's very common for AI in real time strategy games to to 'see' the whole map. Is it unfair? Well, so is pitting an AI against a human - we as a species have only managed to make a computer play chess better than a human in the last decade or so, and computers can't touch humans in more complicated games.

As for learning behaviors, there are a lot of options like inference systems or Bayesian probability networks which - when they're small enough and specific enough - can make the AI seem intelligent. But like Chris says, AI isn't generally intended to be as good as players... just good enough to provide some challenge.

Learning systems can also suffer from a problem of unpredictability - it takes a lot more effort to be sure the behavior is always *fun* than when the behaviors are more predictable.
--
 Matthew Weigel
 hacker
 unique@xxxxxxxxxxx

---------------------
To unsubscribe go to http://gameprogrammer.com/mailinglist.html


Other related posts: