Slashdot Mirror


Artificial Intelligence for Computer Games

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.

46 of 259 comments (clear)

  1. Obligatory complaint by thephotoman · · Score: 4, Insightful

    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.

    --
    Haec merda tauri est. Ceterum censeo Carthaginem esse delendam.
    1. Re:Obligatory complaint by larry+bagina · · Score: 3, Informative
      According to the book review guidelines...

      Speaking of links, please do not include links in your reviews to online bookstores. Slashdot has an linking arrangement with Barnes & Noble; that's why when bn.com carries a particular book, you'll see a link to it at the bottom of the review.

      PS - "an linking arrangement"?

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

  2. Natural stupidity by redelm · · Score: 5, Insightful
    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.

    1. Re:Natural stupidity by CoffeeJedi · · Score: 2, Interesting

      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 things sometimes in stressfull situations, sometimes resulting in good results (see: "pulling a Homer")

      --
      May you be touched by His Noodly Appendage. RAmen.
    2. Re:Natural stupidity by redelm · · Score: 2, Insightful
      The quote is indeed Einstein. "The Universe is not only stranger than we imagine, it is stranger than we can imagine" [Eddington].

      Pgms have indeed seen strange input. Worse since the invention of cut'n'paste.

      But I don't think AI need handle all input, so long as it fails gracefully when out-of-bounds. I mostly object to ungraceful failure, especially failure disguised-as-success.

  3. Ummm.. by Anonymous Coward · · Score: 2, Insightful

    AI has been a hot topic for, what, the past 40 years?

  4. Employment of AI vs CS grads in game design by Anonymous Coward · · Score: 3, Interesting

    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?

    1. Re:Employment of AI vs CS grads in game design by vaporakula · · Score: 3, Informative

      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. As such I use a wide range of skills and knowledge, from psychology and sociology to modelling and HCI.

      I suspect your question is actually "how many of the people out there coding AI have a typical CS background..." The answer in my experience is most, although I've worked with people with specific degrees in AI as well. Mostly people end up doing AI in games because it interests them, and they worked hard developing their skills in that area. Actually, that answers your second question as well - if you want to work for an "actual organization doing AI" then you can, if you want to make games, go for that instead. Depends what path you choose to pusue, assuming you can push yourself far enough to succede.

      But, if I've got you wrong and you actually want to do the design side of AI... you're aiming to be a games designer. There have been a few stories here about how to break into the industry, and I remember seeing lots of cogent advice - go check them out. Once you're established as a designer, specializing is only a few titles away...

    2. Re:Employment of AI vs CS grads in game design by vaporakula · · Score: 2, Informative

      Kind of. It's not just working out the individual behaviors that characters exhibit, but also coming to the programming team with a system of how the decisions can be made to chose these behaviors appropriately. Game design of any kind is a negotiation as much as anything though, so I'm not there to force solutions on people.

      So, while I do effectively storyboard character behaviors I also head into more technical design as well. It definately helps to have a technical background, and I studied (lightly) AI topics at university so I have a decent grounding to work from. I also make an effort to constantly communicate with my programmers, as they are experts at what they do as well. My overarching aim is to make sure the AI is fun, not force a particular implementation.

      As to creative freedom, there's plenty. I'm expected to stay true to the franchise (yes, it's a sequel... i know, i know...) but more importantly I'm expected to make a fun game. So, as long as I can convince people my plan is going to produce something awesome, they go for it :)

  5. Enlightening and frustrating. by GillBates0 · · Score: 4, Insightful
    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.

    --
    An Indian-American Hindu committed to non-violent thought/speech/action alarmed by the global explosion of radical Islam
    1. Re:Enlightening and frustrating. by Hoplite3 · · Score: 2, Interesting

      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-rez text is hard on the eyes.

      I know, advancements in digital devices can make up most of the gap. You just need pixels slightly smaller than the smallest thing the eye can see. Then the digital display can equal the 'analog display' of real-world objects.

      But for intelligence? We need so many states to simulate a human brain that it just isn't feasible. I guess this point isn't lost on AI researchers, who look for shortcuts and such, but it is interesting...

      Wait, we were talking about game 'AI'. Game AI is like chatbot AI. It needs to be fun to play with, not necessarily smart, learning, or challenging (although those things can be fun too).

      --
      Use the Firehose to mod down Second Life stories!
  6. Re: Spore (corrected links) by FnH · · Score: 3, Informative

    I just finished reading a preview of Spore, 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)

  7. I can see it now... by Anonymous Coward · · Score: 3, Funny

    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."

  8. Comment removed by account_deleted · · Score: 4, Funny

    Comment removed based on user account deletion

  9. natural computer? by k4_pacific · · Score: 3, Funny

    "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?

    --
    Unknown host pong.
  10. Game 'AI'... by sarlos · · Score: 5, Insightful

    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.

    --
    Government's view of the economy: If it moves, tax it. If it keeps moving,regulate it. If it stops moving, subsidize it.
    1. Re:Game 'AI'... by Dachannien · · Score: 2, Interesting

      Learning is only a subset of artificial intelligence.

    2. Re:Game 'AI'... by kfg · · Score: 2, Funny

      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

    3. Re:Game 'AI'... by timeOday · · Score: 2, Insightful
      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.

    4. Re:Game 'AI'... by Shadarr · · Score: 2, Insightful

      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 smarter, it's that it's hard to make computers act like smarter people. It would fairly easy to write the perfect RTS opponent who never makes mistakes and beats the player every single time, but nobody would play that game. A challenge is only a challenge if it's achievable, otherwise it's just punishment.

      There are actually games out there which learn. I've heard that Sega's ESPN NFL 2K5 has a virtual coach option which builds a profile based on how you play, and if you load that profile (or if someone else does) as the AI it's like playing against yourself. A similar engine for RTS games would be pretty cool.

  11. Genetic Algorithms by joepeg · · Score: 5, Interesting

    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 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.

    --

    ZEN is a prime number in base-36

    1. Re:Genetic Algorithms by Unordained · · Score: 5, Insightful

      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.

  12. Game AI by cl0secall · · Score: 2, Interesting

    I'm still waiting for FPS bots that use Maze Theory instead of "waypoints" for navigation. If only I could code worth a damn...

    --
    Model 551, Chambered in 6mm
  13. Re:I just don't understand. by gardyloo · · Score: 2, Funny

    Bad, BAD Zoot!

  14. What I'd Like in AI by Nom+du+Keyboard · · Score: 2, Funny

    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.

    --
    "It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
  15. Re:Spore by gardyloo · · Score: 2, Interesting

    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 such that the transitions were more "real".

  16. And... by cbreaker · · Score: 2

    ..your point?

    --
    - It's not the Macs I hate. It's Digg users. -
  17. Re:Pong AI by iamdrscience · · Score: 4, Funny
    Here's my phenomenal AI for NES "Track and Field":
    while (1){
    controller1.pressA();
    controller1.pressB();
    }
  18. Re:AI = Annoying Idiot -- Deserves To Die by Barumpus · · Score: 2, Funny

    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.

  19. AI today by Quirk · · Score: 2, Funny
    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.

    --
    "Academicians are more likely to share each other's toothbrush than each other's nomenclature."
    Cohen
  20. Only Ten Years Away by rlp · · Score: 2, Insightful

    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.

    --
    [Insert pithy quote here]
    1. Re:Only Ten Years Away by Surt · · Score: 2, Insightful

      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

      Then consider what will be required to learn to play a game with a complexity level like age of empires. Dynamically.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
  21. Still AI by Flamesplash · · Score: 2, Insightful

    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.

    --
    "Not knowing when the dawn will come, I open every door." - Emily Dickinson
  22. Another good one... by tcopeland · · Score: 4, Informative

    ...is M. Tim Jones' AI Application Programming. 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 from the 1st edition of the book to Ruby.

  23. Anyone ran NERO? by DrugCheese · · Score: 2, Interesting

    I just ran into this a couple hours ago today. Haven't tried it at all yet. NERO 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.

    --
    *DrugCheese rants*
  24. Why are there so many books about AI in games? by GamblerZG · · Score: 2, 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.

  25. hot topic?? by Anonymous Coward · · Score: 2, Insightful

    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 towards more measurable science. Certain areas like theorem proving have fully made the shift, others like onthologies seems still mired in the promise-lots deliver-little stage.

  26. Part of the problem by coolestdickofall · · Score: 3, Insightful

    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.

  27. Re:Spore by Vaevictis666 · · Score: 2, Informative
    It's not so much compression algorithms as it is generation algorithms.

    Spore doesn't store your current type of creature, it stores the parameters used to create (or 'evolve') your creature from scratch, which can indeed be quite small.

  28. Mother Nature's not perfect, either by Anonymous Coward · · Score: 2, Insightful

    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 could do hard computations used to be considered "smart". Until calculators were invented. Calculators aren't smart.

    Chess used to be the sign of a profound thinker; someone wise and deep. Until a computer beat the world's best chess grand master; now it's just a considered a "toy problem", not "real AI".

    Speech recognition used to be considered a sign of true AI. Now that we've got machines answering telephones and directing calls better than the average minimum wage immigrant secretary, we're going to start calling that "not real AI" soon, too.

    Systems that could learn were considered AI. Now we've got machines that can teach themselves to walk every time they're turned on; but that's not "real AI", either.

    We'll never have "real AI" until we stop moving the goalposts, and stop glorifying nature unfairly.

    Let's face it, Mother Nature also made some really *stupid* creatures. Dogs that chase their tail, catch it, and then get angry and confused because something just bit them. Rabbits that try to "hide" in the middle of a highway, thinking if they crouch down on the pavement the cars can't see them. Moose that derail trains, trying out outrun them, instead of moving off the tracks.

    AI's got a long way to go, granted. But it's not fair to just think of nature's geniuses when you see what she's accomplished. For every Einstein out there, there's a hundred village idiots. If an AI can outperform the idiots who wreck the curve, it may well average better performance than nature does.

    For example, if 90% of car crashes are due to drunk driving, an AI driving system that replaces human drivers will be safer, *even if* it is only 50% as good at handling traffic accidents as a regular person is still safer: because it eliminates the greatest risk to traffic safety by getting the drunks off the road. Nature can't easily perform that kind of optimization. We can. We should.

    So, really, are we that far from "real intelligence" in our systems? I'm not sure we are. The real problem is that a great deal of what's considered intelligence is largely a form of cultural prejudice.

    Early cave men probably considered the first farmers "stupid" for not eating food when they had the chance. Instead, they saved seeds that they could have eaten, despite the fact that plants grew anyway. You can almost hear our ancestors now: "Stupid agriculture! A waste of time! Eat while you can, or you'll die! Stupid farmers!!!"

    In retrospect, we can see how agriculture worked out well for us (it's one of our first successful technologies). But it's not hard to see why it could be considered "stupid" to our ancestors. So, if it's not obvious what's "stupid" and what's "smart", it's hard to say when we've build something with "intelligence", let alone "real intelligence". Intelligence often just means: "this behaviour refelects what I (or people of my culture) would do in this scenario".

  29. Re: Spore (corrected links) by FnH · · Score: 3, Informative

    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.

  30. Pangea Soft Ultimate Game Programming Guide by hode · · Score: 2, Interesting

    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. :)

  31. AI wont be understood... by blahplusplus · · Score: 2, Insightful

    ... 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.

  32. Re:Natural machines: better because they are simpl by cybpunks3 · · Score: 2, Insightful

    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.

  33. AI doesn't have to be realistic to be good by Dr.+Manhattan · · Score: 4, Interesting
    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.

    --
    PHEM - party like it's 1997-2003!
  34. Re: Spore (corrected links) by kisrael · · Score: 2, Insightful

    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 Blue (or whatever the latest champion is) could also pick out a face in a variety of lighting conditions, have a half-acceptable conversation, or even learn to play a decent game of Checkers or Stratego (all using the same basic ideas that let it play chess so well not just bolt-on independent programs), then we'd have Artificial Intelligence, not just Artificial Idiot Savants.

    Or if something like Cyc could LEARN to play a decent game of chess after being told the rules. (Heh...actually in some ways Atari 2600 Chess with its habit of rearranging the board (during the screenblanking "thinking" period) when under "stressful" situations almost seems more human than something like Deep Blue.)

    What's also interesting is reading about how the human grandmasters deal with high end programs. Humans play chess by "chunking" the pieces on the board and applying pattern recognition. Similarly, humans can kind of "chunk" the strategies that specific AIs fall into, and try to counter them, even though it's still damned hard to do so. Conversely, I'm not sure if we have a serious AI that could even take things to the metalevel like that.

    --
    SO YOU'RE GOING TO DIE: The Comic for Dealing with Death