Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Programming Books Media Book Reviews Entertainment Games IT Technology

Artificial Intelligence for Computer Games 259

Craig Maloney writes "Artificial Intelligence (AI) is a very hot topic today in computer circles because of the interest in modeling behaviors on machines that we find in nature. Many books have been dedicated to studying and expanding the field of AI, but generally fall into two categories: those that concentrate on AI as a research topic, and those that concentrate on AI in the field of game development. Artificial Intelligence for Computer Games (AI for Computer Games) is unique in how it takes classical AI and merges that knowledge into AI for game development. It's an approach that will be fascinating to those currently studying AI, but the approach limits the usefulness of this book to a select audience of AI researchers interested in game development." Read on for the rest of Maloney's review.
Artificial Intelligence for Computer Games
author John David Funge
pages 127
publisher A K Peters, td.
rating 6
reviewer Craig Maloney
ISBN 1568812086
summary An introduction to Gaming Artifical Intelligence


AI for Computer Games begins with a brief introduction to the historic roles that AI has played in games such as Pac Man and Mario, and how these Non-Playable Characters (NPCs) achieved fame through their roles as NPCs. The NPCs play important roles in games, and their behavior can ultimately determine if the game is entertaining or frustrating. The author then describes the differences between the field of Artificial Intelligence as compared with Gaming Artificial Intelligence. Later he shows how these two fields can intertwine with each other, and how Gaming Artificial Intelligence can be useful to AI researchers via game-playing robots and other similar experiments. The author also introduces the architecture of the components of a game. They are:
  • Game State: The current state of the world
  • Simulator: Encodes the rules for how the game state changes, and the rules for the game (physics, etc.)
  • Renderer: The display of the game
  • Controllers: The player and NPC methods for interacting with the game.
The book then focuses on simulating a gaming environment for the NPCs and player to operate in. The author uses a game of Tag as the game framework for the rest of the book, with the player and the NPCs playing the classic game of chasing and hiding. The roles of the game state, simulator, renderer and controllers are explored in depth in this section.

Next, AI for Computer Games discusses NPC perception. Players in a gaming environment are hindered by what the renderer will display to them, so likewise, the NPCs should not have omniscience in the game. The author recommends a strategy for handling this for NPCs: use the render engine for determining the perception of the NPCs as well. This allows the players and NPCs to work from the same rules. The author also describes how NPCs can handle partial observability, as well as prediction.

The rest of the book deals with the NPCs' abilities to react, remember, search, and learn to the game environment. This is the heart of the book, and provides a good analysis of the various methods available to the developer to model complex behaviors. The section on learning is especially interesting, as the idea of rewarding the algorithm when it performs correctly seems both strange and obvious at the same time (although the author points out that sometimes the algorithm can do undesirable things in order to obtain that reward). There are many ideas in these sections for perfecting the AI of the game, and the author expertly describes each one and where each would best be used.

AI for Computer Games was both enlightening and frustrating at the same time. The author obviously possesses a lot of knowledge in the AI field; the frustration is in his telling of that knowledge. The book reads much like an academic paper on AI applications in games, and could put off many potential readers with its rather dense descriptions of complicated material. The book also suffers from being rather short. The book is 127 pages in total length with code snippets, diagrams, and other page artwork. The brevity makes the book easy to pick up and read for a bit, but the density ensures you'll be re-reading several chapters in order to catch what the author is trying to convey. The code snippets also suffer from brevity. The code snippets are in C++, but are primarily constructors, with precious few methods defined. The author has excellent ideas; using an environment where the player and the NPCs are equals removes much of the complexity for the example AI to handle. Unfortunately the execution in this book leaves me wanting more.


You can purchase Artificial Intelligence for Computer Games from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
This discussion has been archived. No new comments can be posted.

Artificial Intelligence for Computer Games

Comments Filter:
  • by thephotoman ( 791574 ) on Wednesday August 10, 2005 @02:38PM (#13288452) Journal
    Why do we always link to just one store? Why not link to a series of various places selling the book for those who are interested?

    Yeah, it's an obligatory complaint. Mod me down for it.
  • Spore (Score:2, Insightful)

    by FnH ( 137981 )
    I just finished reading a preview of Spore [slashdot.org], a new game from the creator of the sims, and it seems like AI in games is about to take another leap :)
    • by FnH ( 137981 ) on Wednesday August 10, 2005 @02:47PM (#13288524)
      I just finished reading a preview [gamespy.com] of Spore [ea.com], a new game from the creator of the sims, and it seems like AI in games is about to take another leap :) (messed up my previous post a bit)
      • It's not AI. The coolest part of the game sounds like the adaptive technology for animation, which is really an amazing, but logical, result of the requirement for faster development and more and richer content. The rest of the game is, the designer admits, based on pre-existing favorites such as Pac Man, Populous, and Civilization.
        • by FnH ( 137981 ) on Wednesday August 10, 2005 @04:19PM (#13289327)
          It can be argued that once we know something can be programmed we stop thinking of it AI. A few years ago many would have claimed that a computer really should have achieved something intelligent when it beats a grandmaster at chess. Now, after the fact, we only think of it as a clever search routine.

          It might just be clever programming, but figuring out how to move an as good as random combination of parts so as to make a believable imitation of locomotion has a ring of intelligence to it.

          And that's perhaps the most mundane part of the game. If you believe everything that's written about it (large parts of it are probably hype), they're trying to achieve some form of emergent behaviour in many aspects of the game.

          I bet you could fill another nice book or two, just describing all the AI algorithms they used, and I wouldn't be surprised if there would be a few clever things in there that haven't been published before.
          • It can be argued that once we know something can be programmed we stop thinking of it AI. A few years ago many would have claimed that a computer really should have achieved something intelligent when it beats a grandmaster at chess. Now, after the fact, we only think of it as a clever search routine.

            There's some truth to that, but I think people want AI to be done the "right" way, like a chess program that was an outgrowth of a general purpose intelligence rather than a specialized one-trick-wonder.

            If Deep
    • Re:Spore (Score:3, Interesting)

      by gardyloo ( 512791 )
      I read that preview, and it really does sound neat. However, there were a lot of "..and then suddenly, your village transformed into a city with roads and walls..." type phrases. This disturbs me a bit, as though the game were deciding "well, at this point I can't really make any changes, so things will transition to the 'next step'." That smacks of a lot of predestination, as these "expert systems" usually have. I'm not saying that I could figure out a better way, just that it would be nice if things were
  • Natural stupidity (Score:5, Insightful)

    by redelm ( 54142 ) on Wednesday August 10, 2005 @02:44PM (#13288498) Homepage
    I'm sorry, but I can't help thinking:

    Natural stupidity beats artificial intelligence every time

    You cannot make something idiot-proof because idiots are too ingenious (variable). Unfortunately, I see much of AI as trying to impose order on chaos which cannot be done with deterministic methods. AI _can_ help with data reduction, but not understanding.

    • Re:Natural stupidity (Score:3, Interesting)

      by CoffeeJedi ( 90936 )
      what if you have a pseudorandom sequence generator with the range of 0-20 (random number generator) attached to the AI

      after making any intelligent weighted decision, the random number is chosen, if the number is 10 (or some arbitrary number in that range) the AI will then disregard the intelligent choice and choose some other descision with a higher weight (this could be random as well) and introduce a bit more unpredictability into the AI, and make them a bit more human, just as humans do random idiotic th
  • Ummm.. (Score:2, Insightful)

    by Anonymous Coward
    AI has been a hot topic for, what, the past 40 years?
  • by Anonymous Coward on Wednesday August 10, 2005 @02:45PM (#13288510)
    So how many of the people out there who are designing game AI have a typical CS background and how many have been specifically trained in AI principles through their education? Along the same track, is someone interested in studying AI more likely to be employed by a game publisher when they graduate or by an actual organization doing AI work for some other application?
    • You don't need a degree to study AI, although all the standard software and hardware courses do help structure your code and understand about working in teams.

      AI is probably the largest area of shortages for game programmers in the UK.
    • I'm an AI Designer for a major developer / publisher...

      I have a background in CS, but I'm not a coder - I'm a designer. One of the more technical designers out there; that's a big factor in why I'm doing AI design.

      My background definately helps. I can communicate with the coders using terms they are comfortable with - they don't have to "dumb down" their thoughts to make a concept work for me. However, being a Designer means I'm not actually doing the coding: I design the systems, the desired end results. A
    • Well, if you're trained in AI, chances are good you're not going to be writing AI for games because that's a pretty small number of jobs compared to the overall market.

      Most of the AI people in the games industry I know were general CS background, and much like any task, read some books and some research before diving into the work. Same for the 3d programmers: not specialists in 3d in school, but instead something you learn when you need to/want to for a game project you're working on.

      Nearly everybody in t
  • by GillBates0 ( 664202 ) on Wednesday August 10, 2005 @02:47PM (#13288520) Homepage Journal
    AI for Computer Games was both enlightening and frustrating at the same time.

    Much like how AI is, atleast in it's current state.

    Enlightening because even the most basic attempts at simulating intelligence in machines makes us realize how vastly superior Nature's machines are. And frustrating because of how difficult it is proving for us to reach an adequately satisfactory understanding of "real" intelligence/consciousness inspite of all the research/effort we've been putting in.

    • I think one of the big hurdles is the countable number of states of a digital computer versus the uncountable number for an analog computer (like the brain). We live in the digital era, but this has the side effect that we are blinding ourselves to the limitations of digital technology.

      Screen resolution is a good example. The resolution of text on a computer screen is lousy compared to a printed page, but people spend so much time reading text off of their computers that they seem shocked that reading low
    • even the most basic attempts at simulating intelligence in machines makes us realize how vastly superior Nature's machines are.

      Depends on the task at hand. We are the only species we know of that can reliably do arithmetic, yet a computer chip that literally costs cents can do it faster and more accurately. A relatively complex (only by today's standards) computer can regularly defeat grandmasters in chess, nevermind the rest of us. Machines also don't get tired or bored, and can remember many things more

    • by Anonymous Coward
      Enlightening because even the most basic attempts at simulating intelligence in machines makes us realize how vastly superior Nature's machines are. And frustrating because of how difficult it is proving for us to reach an adequately satisfactory understanding of "real" intelligence/consciousness inspite of all the research/effort we've been putting in.

      Not really. People just keep raising the bar for what counts as "intelligence", redefining it to mean: "what people can do, and machines can't".

      People who co
    • The problem with AI as it has been developed the last 50 years is that it is based on totally wrong principles. We can't build machines that think the way nature's machines do, because of the technological limits, but most importantly, because we have 'solved' the problem of AI in the wrong way.

      There are currently two approaches for AI, both wrong.

      The first approach is to program the rules of the problem in a hierrarchical manner, through a series of 'if this then do that'. Of course that does not work, bec
      • The thing is, unless you are talking about NPCs in an RPG, AI doesn't have to model all aspects of the human brain. It just has to model enough in order to act out the limited role that that character has to play in the specific game.

        For instance, in a racing game, the AI of the other drivers only should know how to drive the car. You don't need to give the driver a fullblown consciousness.

        So you have to scale your AI approach to the game.

  • I love those strategy games where you have to gather your resources, move your armies into position, and watch the slaughter. But I wish the games has decent AI more than anything else. It doesn't take much to lose the war if you have one twit who decides to take a walk around the world and bring the enemies to your backyard when your forces are half-way to storming the enemy gates. There's nothing like leaving your arse exposed during war time.
    • I think that the AI in games is getting great. A prime example would be BF2. I went online to play it and found that even though the AI players are easier to kill while online, they are much more life like with the insults and complaints.
  • by Anonymous Coward on Wednesday August 10, 2005 @02:50PM (#13288541)
    Computer game: "You have been playing this game for over 24 hours. You need rest."

    Person: "Shut up, I'm almost to the high score!"

    Computer game: "I cannot allow you to "pull a Korean". "I am shutting you off."

  • by account_deleted ( 4530225 ) on Wednesday August 10, 2005 @02:53PM (#13288554)
    Comment removed based on user account deletion
    • Re:Pong AI (Score:5, Funny)

      by iamdrscience ( 541136 ) on Wednesday August 10, 2005 @03:11PM (#13288694) Homepage
      Here's my phenomenal AI for NES "Track and Field":
      while (1){
      controller1.pressA();
      controller1.pressB();
      }
      • On a side note, this reminds me of a programming language I use to use back in the day which had true = -1 and false = 0. The reason for this was that the last bit in a signed int was used to determine the if the number was +/-. And a boolean was an signed int of length 1. So it was -1/0 for true/false. Anyone know how common this is elsewhere?
        • The question you're asking isn't really "is -1 == true and 0 == false common," it's "is using a signed int of length 1 for booleans common?" After all, if your boolean is one bit long, "true" is 1b whether it's signed or not: (unsigned int)true == 1b && (signed int)true == 1b.
        • If you're using signed ints for booleans, true isn't -1 because of where the significant bit is; true is -1 because that's the two's complement of 0. So -1 is 1111 in binary, and !-1 is 0000, or 0, or false. If true was 1, which is 0001, then !true would be 1110, or -2.

          It's easy to shoot yourself in these languages, since you can have things like:


          int x = 4;
          if (x && !x) {
          printf("This code will get executed.");
          }
    • MY GOD MAN!!!
      are you insane!?!?

      an AI like this could conquer the Earth!!!!!
    • Your algorithm is not AI, it is CI (Computer Intelligence). What the gaming world is looking for is neither AI nor CI but SI (Simulated Intelligence). Something along the lines of:
      if (losses > wins)
          paddle.Y = ball.Y
      else
          paddle.Y = ball.Y + 1
      Making sure that the computer beats you more then half the time. This will keep you interested a lot longer.
    • In the game industry, we used to write our AIs like this. They worked beautiful. Then some whiners came along and said 'The AI is only beating me because it's cheating!'

      And that's the reason AI is a tough subject today.
  • by k4_pacific ( 736911 ) <k4_pacific@yahoo . c om> on Wednesday August 10, 2005 @02:53PM (#13288557) Homepage Journal
    "because of the interest in modeling behaviors on machines that we find in nature"

    Does that mean you are going to run it on an abandoned 486 you found in the woods?
    • I'm glad I wasn't the only one that read it that way at first. It took me a moment to re-arrange things to where I understood that the phrase "that we find in nature" described behaviors, not machines.

      Probably would have been better to say something like "...interest in modeling on machines those behaviors that we find in nature."

      But then, what do geeks know about english grammar?
  • Game 'AI'... (Score:5, Insightful)

    by sarlos ( 903082 ) on Wednesday August 10, 2005 @02:55PM (#13288579)
    I've never really liked calling a Game's 'AI' Artificial Intelligence for one reason - they don't learn. It's always seemed more of what I'd call Simulated Intelligence. There's always a stopping point, even if they train the computer to play themselves. A point where it's not learning anymore and the computer only seems to be acting intelligent.

    From the review, it seems this books touches on this a bit. Hopefully more game developers will start putting additional effort into making dynamic, learning Artificial Intelligence components to their games.

    Of course, part of the problem is also building the AI to act Human. Humans make mistakes, and so should the computer. In warfare, there's always been that element of random chance where you can capitalize on an enemy's mistakes. Take in factos like morale, confidence, etc. It's no fun to play against a perfect oponent all the time :p

    I think the first game company to get this careful balance right is going to be laughing all the way to the bank.
    • Re:Game 'AI'... (Score:3, Interesting)

      by Dachannien ( 617929 )
      Learning is only a subset of artificial intelligence [wikipedia.org].

      • Re:Game 'AI'... (Score:3, Insightful)

        by timeOday ( 582209 )
        Learning is only a subset of artificial intelligence.
        So the question is whether learning is an important element of AI for games.

        I can imagine one great benefit of learning for games: the AI should determine when a player is using a single tactic over and over, and come up with a counter-tactic. That would fix one of the biggest reasons games get boring, which is you find some silly hole that makes winning too easy.

    • by kfg ( 145172 )
      A point where it's not learning anymore and. . . only seems to be acting intelligent.

      Yeah, I think we all know a lot of people like that.

      KFG
    • Still AI (Score:3, Insightful)

      by Flamesplash ( 469287 )
      It is still AI though. A Neural Network stops learning at some point, but it's still AI right? It's just a difference between per learning and lazy learning.

      Maybe we need some modifiers for games, Active or Static AI.
    • I disagree that learning is required if you have this: Of course, part of the problem is also building the AI to act Human. Humans make mistakes, and so should the computer. In warfare, there's always been that element of random chance where you can capitalize on an enemy's mistakes. Take in factos like morale, confidence, etc. It's no fun to play against a perfect oponent all the time :p

      with *enough* human like characteristics I think the interaction would be more interesting and be "artificial inte

    • "Humans make mistakes, and so should the computer."
      IMHO there's two kinds of mistakes, coded or planned. The coded ones are like the bot who gets stuck running into a wall or messed up by a door. Not may games can allow you to purposely trick the AI. That's one of the things that I liked about Farcry. The guards were not super human. The guards could be tricked with a rock or some silence. They didn't make uber shot you in the head from the otherside of the map kills. They had to hear or see you to act.

      The
    • I can think of one very good (business) reason why game AI tends to have a static level of "reason" and doesn't learn. It is that if a game's AI dynamically adjusted to the end users actions in a someone thourough manner, the end product would have vastly different game expirences from user to user.

      I cannot imagine how much of a pain that would be to QA, or support.
    • Re:Game 'AI'... (Score:2, Insightful)

      by Shadarr ( 11622 )
      The problem with AI in games is two-fold: players want to be challenged, but players want to win. It's a lot easier to write a chess program that will beat the hell out of everyone except a grandmaster than it is to make something that will let weaker players win.

      Similarly, it's difficult to make bots in FPS games that aren't completely stupid, but also don't headshot the player 100% of the time. Computer players will not miss unless you make them.

      The problem isn't that it's hard to make computers sm
      • "The problem with AI in games is two-fold: players want to be challenged, but players want to win. It's a lot easier to write a chess program that will beat the hell out of everyone except a grandmaster than it is to make something that will let weaker players win.

        Similarly, it's difficult to make bots in FPS games that aren't completely stupid, but also don't headshot the player 100% of the time. Computer players will not miss unless you make them."


        The "never miss" problem can be dealt with by making the b
  • Genetic Algorithms (Score:5, Interesting)

    by joepeg ( 87984 ) on Wednesday August 10, 2005 @02:56PM (#13288580)
    The section on learning is especially interesting, as the idea of rewarding the algorithm when it performs correctly seems both strange and obvious at the same time (although the author points out that sometimes the algorithm can do undesirable things in order to obtain that reward).

    Genetic Algorithms [wikipedia.org] will most definitely be involved in the way the gaming experience progresses.

    To expand on the idea of rewarding, those genomes that are rewarded the most are then permitted to "mate" with other strong genomes, which will take into account inheritance, mutation, natural selection, and recombination (or crossover) resulting in the "smartest" population.

    The fitness test could also be controlled by the player, keeping the game even more interesting, for a much longer period of time.
    • Wouldn't it be more lifelike (and to ensure the game didn't become rapidly unbeatable) to allow all of the creatures to breed, and then subject to the game's environment, let those which are not strong enough die? Yes, it's the same process, but it's not as artificial, and is very doable in a gaming world.

      Simply turn loose the creatures in an environment, set an amount of time before they become able to mate, and then set loose predators to them (aka the player). As the player kills off the weaker of the
    • by Unordained ( 262962 ) <unordained_slashdotNOSPAM@csmaster.org> on Wednesday August 10, 2005 @03:41PM (#13288970)
      Err ... 'evolution' results, if all goes well, in a local-maximum. Nothing about the process of evolution, real or simulation, says you'll get "the best" anything. Only that, on average, things will tend to improve in a way that matches the particular constraints at the time, according to available variations. If the constraints change, or there were several ways around a problem ("hack",) or there wasn't sufficient diversity, or a bad trait just happened to get rewarded along with a good trait, you may wind up with a terribly bad result.

      This is why I get so annoyed when scientists (and creationists) ask "what is this organ useful for?" expecting that every animal's every organ is entirely well-suited to its environment -- because either evolution or the hand of god made it perfect. That's not what the theory(!) of evolution predicts. Narwhals wound up with a long tooth, and sure, maybe they use it to impress the females now -- but is that why they have it in the first place, do they maybe only use it because they have it? Could it be that somewhere along the line, some freak just happened to survive an accident when others didn't, and passed on the freak gene causing this tooth to be a horn?

      Weird results from genetic algorithms are even more likely in small-population scenarios like games. You can only send so many 'test' enemies at the player before he gets bored. Particularly considering that in most games, either the player surives or the computer survives, I'm not seeing at what point you can reward the AI by letting it reproduce except when the player loses (at least in an FPS setting.) In that case, the game only gets better if the player loses a lot -- and most games try to make sure the player doesn't lose too much, but is instead always on the brink of losing (to keep him hopeful but challenged.) On the other hand, if you train them in the studio, you'll have to be careful to not train them to be good only against the testers. You don't want to release a game in which the AI is really good -- so long as you don't lure it into getting stuck in a corner, just because no tester thought to do that often enough to breed it out.

      But genetic algorithms are certainly not guaranteed to produce good results. They merely might.
      • 'evolution' results, if all goes well, in a local-maximum.

        That's why mutations are introduced.

        • At least in artificial evolutionary systems, yes. ("Why" is an odd question from a purely naturalistic point of view. Did nature -decide- to inject mutations?) However, mutations only get you so far. From somewhere near a local maximum, you're basically reaching out trying to hit another local maximum. If you hit something less-than-as-good-as-you-already-have, even if it's on the side of a better curve, you'll probably not get selected. Or at least, probabilistically not. If the same mutation keeps happeni
      • Consider a multiplayer game.

        What you reward can be 'time-spent-alive-after-attack' or 'hps-of-opponent-dropped'

        What you are optimizing for is the actions the NPC does in combat.

        With the sheer amount of NPCs slaughtered, you have a large amount of test cases. (You could also do simulated NPC vs PC battles, by duplicating PCs and running AIs for both the dupped PC and the NPCs and letting the most successful reproduce).

        Remember, computer worlds aren't the real world. In the RW, an organism must

    • The difficulty with GA is defining the all the genes within that genome. Take chess. How many dimensions are there to a player? Aggressiveness, opening moves, favored pieces, spontaneity... I don't even know what else, since I'm terrible at chess.

      Point is, yeah, genetic algorithms are fantastic, but only with problems that are easily definable.

    • There's only one problem: GAs don't work very well. Nobody has been able to get them to invent tactics competitive with what a person can easily devise. (That's the falsifiable claim of this post). And that's allowing for thousands of hours of offline computation, which games don't generally have. GAs work for simple problems (like the inverted pendulum), but even then are much slower than other approaches. In the early history of Robocup (in the simulation league) there were several attempts to evolve
  • Game AI (Score:2, Interesting)

    by cl0secall ( 449952 )
    I'm still waiting for FPS bots that use Maze Theory instead of "waypoints" for navigation. If only I could code worth a damn...
  • by Nom du Keyboard ( 633989 ) on Wednesday August 10, 2005 @03:05PM (#13288649)
    What I'd like is an AI component for Windows smart enough to identify problems in the OS and fix them before they byte me.
  • The 1st "AI Game Programming Wisdom" was actually pretty good. You could tell it was good by how quickly LaMothe's label put together a cheap imitation, "AI Techniques for Game Programming".

    (I never read the 2nd "AI Game Programming Wisdom"... laziness on my part.)
  • Or forget about all that artificial intelligence, and instead of spending precious programmer time and money on it, let your players pay you for the privilege of taking on other (paying!) customers online!
  • AI today (Score:3, Funny)

    by Quirk ( 36086 ) on Wednesday August 10, 2005 @03:20PM (#13288759) Homepage Journal
    I just want to comment on how AI proponents have fulfilled their promises... oh...just a minute... I seem to have left my car hovering over the pad, oh, it's ok, it's gone off to recharge itself and have the antigrav adjusted.

    As I was saying about AI...oh, my Barbie XXX has just come in to bring me a drink, of course my Barbie has limited AI but is saturated with artificial sex hormones to pander to my every whim... but not now Barbie, daddy's busy...

    Now about the promise fulfilled by AI proponents... oh damn look at the time...If I'm going to make the lightspeed shuttle to Mars I pretty much have to teleport out now, we're going white water rafting in the Valles Marineris.

    Anyway good job on the AI.

  • by rlp ( 11898 ) on Wednesday August 10, 2005 @03:21PM (#13288778)
    True artificial intelligence is only ten years away - and has been for the past three decades. AI has been a huge disappointment. Most 'AI' problems that have been solved have been solved via brute force combined with the advance of Moore's law. From what I've seen of game 'AI' - it's more a mimicing of intelligence and not very impressive mimicing at that (not much more so than the 'Eliza' class programs of the 70's).

    That's my 2 cents - flame away.
    • > it's more a mimicing of intelligence and
      > not very impressive mimicing

      So true. I remember watching a video of the "Lord of the Rings" game and hearing the game producer saying "Look at this! The characters have actual feelings and personalities - they're actually happy about winning this battle!"

      Come on, fellas. Don't mistake state tables and switch statements for feelings and personalities and intelligence. It's OK to be enthusiastic, but don't believe your own marketing materials.
    • by Surt ( 22457 )
      No flames, you're totally right on. Except I'll say that we're considerably more than 10 years away from really seeing decent AI in games. The problem is that games are much too computationally intensive for an AI to analyze effectively. Have a look at this paper for the kind of computational horsepower that went into teaching a neural network to play checkers .

      http://scholar.google.com/url?sa=U&q=http://www.cs .nott.ac.uk/~gxk/courses/g5baim/papers/checkers-00 2/TNNKChellapillaAndDBFogelText.pdf [google.com]

      The
    • Is this where some helpful soul re-posts the link to "The Chinese Room" paper?

      I mean, how well have we defined "real" intelligence, to be able to differentiate "Artificial"?
  • > AI for Computer Games begins with a brief introduction to the historic roles that AI has played in games such as Pac Man and Mario

    I actually got a copy of the original SMB source code. Hopefully Nintendo won't mind me revealing the algorithm for the koopa trooper's AI:

    1. walk until wall is encountered
    2. reverse direction
    3. goto step 1
  • Another good one... (Score:5, Informative)

    by tcopeland ( 32225 ) * <{moc.dnalepoceelsamoht} {ta} {mot}> on Wednesday August 10, 2005 @03:25PM (#13288808) Homepage
    ...is M. Tim Jones' AI Application Programming [charlesriver.com]. It's got all sorts of predator/prey and pathfinding stuff in there.

    The code examples are in C, although I ported some of them [rubyforge.org] from the 1st edition of the book to Ruby.
  • If you look on amazon, you see two books by John David Funge:

    AI for Computer Games and Animation: A Cognitive Modeling Approach (Hardcover) [amazon.com] - August 1999, 220 pages

    Artificial Intelligence For Computer Games: An Introduction (Hardcover) [amazon.com] - July 2004, 160 pages

    So is the same book twice (slightly shortened), or what?
  • Until we get to the point where we have a standardized 3d world toolset from which we build games from, AI will always be second thought.

    Normally AI involves a lot of cheating, like the Street Fighter 2 always block to the Warcraft3, everything costs 1 gold for the computer.

    We've only just moved into the 3d era of video games recently, and we're not close to standardizing the 3d game development process, so we're even further away from writing effective AI. Sure you can write entirely complex AI that
    • Warcraft3, everything costs 1 gold for the computer.

      No, it only costs one gold for the faction. And even then, it's only used to help campaign AI player (which is not capable of expanding beyond it's initial borders, among having other limitations.)

      If this were true with a standard skirmish AI, then it wouldn't be possible to choke the AI from well-needed resources.

      We've only just moved into the 3d era of video games recently, and we're not close to standardizing the 3d game development process, so we'r

  • Anyone ran NERO? (Score:3, Interesting)

    by DrugCheese ( 266151 ) on Wednesday August 10, 2005 @03:28PM (#13288845)
    I just ran into this a couple hours ago today. Haven't tried it at all yet. NERO [utexas.edu] is an artificial intelligence game in which you train your armys AI to react to certain situations. Then you pit your trained army up against other peoples armies and let the AI battle it out. Looked very interesting.
  • It's strange. Modern game industry is obsessed with graphics, yet there is very few books that can teach you how to make a decent 3d engine (at least, I was not able to find one yet). AI, on the other hand, seems to be the most common topic.
  • hot topic?? (Score:2, Insightful)

    by Anonymous Coward
    Artificial Intelligence (AI) is a very hot topic today in computer circles because of the interest in modeling behaviors on machines that we find in nature.

    AI is not a hot topic. It hasn't recovered from the 1970s snake oil peddling stage, and it is still looked down as an overpromiser and underdeliverer of goods, even though some real neat and exciting stuff is going on there.

    They'll have to fight hard to get rid of that image and that starts by continuing the shift from shoddy-but-cool-sounding work towa
  • by coolestdickofall ( 858613 ) on Wednesday August 10, 2005 @03:56PM (#13289113)
    Doesn't part of the problem come from the fact that true intelligence is based on a life time of learning and experience?? Every time someone is faced with a decision, they subconsciously compare the situation to previous experiences to help make the correct choice.. With game A.I., the programmers are sort of trying to cram a life time of experience into so many lines of code.. Seems an exercise in futility to me.
  • I did the game AI for a few games (cancelled Nintendo U64 game, hovercraft racing game) and for a VR prototype for Disney. It was probably the most fun job I ever had - I do mostly server side Java development now which is not quite as interesting :-)

    I started out trying to write complex control code (a multi-agent system with modules for different behaviors/situations with a simply control agent to choose which module to give control to and for how long). The problem with this approach was that the game NP
  • Why is this same book being pimped AGAIN on /.?
    after the first time I persuaded my boss to buy it. Several of us read it and thought:

    meh

    Im sick of books trying to ram ONE specific method for doing stuff down your throat. I dont need sample code, and I dont need to be told what to call my systems, I need IDEAS. Good AI is absed on good concepts, nothing mroe detailed. I recommend Steve Grands books if you want an AI book that actually makes you think.
  • My #1 most hated gaming "feature" is the rubber-banding that occurs in racing games. I hate being in the lead by 1/2 lap on the final lap, drive perfectly and STILL be surrounded by cars at the finish line. Yes, I know this is meant to add excitement to the finish, but if I drive well enough to have an insurmountable lead entering the final lap, dammit, let me enjoy it!!
  • Has anyone read Brian Greenstone's Game Programming Guide for Mac OS X? I'm curious if that is a better place to start than this book.

    Note: This is not a plug, I'm not the author, and your offtopic mods don't scare me. :)
  • by blahplusplus ( 757119 ) on Wednesday August 10, 2005 @09:46PM (#13291449)
    ... until they realize biological intelligence is the place where AI really needs to start. It seems pretty ass backward to model biological behaviour on a machine when you don't understand the mechanics of Biological or human consciousness.

    My guesss is 'real' true AI, that see's the world like us and senses it like us wont be understood for a long time. Because lets face it, what AI really gives us is precise tools, to do all the jobs we cannot more precisely, but the fact is these greater functions were made by us, and are still reliant on our wetware brains for their superior formation and organization, and are only as good as we build them to be.

    AI is supposed to do more and be more then just an automaton running algorithms, what I mean is, it has to self-aware environment like we are, when we are very young when we are first born we run algorithms that build some the foundation of the mind, none of us remember learning to walk or our first words within our first year or two, our self-awareness, 'we' as we experience ourselves don't wake up until between 2 and 4 year of age, this can vary somewhat depending on how fast the brain develops but the biology does most of the 'plumbing work' for us to build a foundation / mature the brain structures, to the point where enabling self-awareness makes sense.

    Babies may seem alive and self-aware when they are very young but they are not, they do not experience the world at all like 6 year old, they are effectively asleep until the brain has matured to the point where self-awareness is achievable, we do not understand this process and until this is understood AI will be a wet dream if we truly want to create intelligences like human beings that are not merely machines not aware of their own existence responding in like a live human being in every respect, but not really alive. You can only really be said to be alive if you awake.

    People in their sleep speak and move and do all sorts of 'living' things but they are not aware that they are doing so, it's all automatic, this is basically what most if not all AI will be like until we understand the threshold of what causes human self-awareness.
    • I think it's just a problem of parallelization.

      Computers are not parallel enough to be able to simulate the brain. They would take a lot longer to complete a full "thought" than an equivalent human. They are only good at solving static problems in a tight inner loop (think chess) rather than open-ended consciousness.

      However, I do think that the brain can ultimately be emulated just as any machine can.

  • I was skimming a book on AI and games (maybe even this one) and they pointed out some neat tricks that aren't 'realistic' but which result in useful behavior. In "No One Lives Forever", the enemies would plot a path to you, trying to find the least "costly", generally the shortest.

    But when the first one found a path to you, they would mark the grid point just before you with a high (but not infinite) 'cost'. Then the next enemy to plot a path to you would naturally try to avoid that spot, but would use it if there were no other choice.

    Presto, enemies naturally try to come at you from multiple directions, without having to spend a lot of expensive cycles on modelling 'intelligent' coordination and strategy.

Remember the good old days, when CPU was singular?

Working...