Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
XBox (Games)

Halo 2 Artificial Intelligence Explained 68

An anonymous reader writes "Stuffo has an interesting interview with Bungie's lead AI developer, Chris Butcher. Butcher explains in detail how the enemies in Halo 2 think and exactly why they do the things they do."
This discussion has been archived. No new comments can be posted.

Halo 2 Artificial Intelligence Explained

Comments Filter:
  • by ex_ottoyuhr ( 607701 ) <ex_ottoyuhr@hotOPENBSDmail.com minus bsd> on Wednesday November 17, 2004 @01:57PM (#10844636)
    I've long suspected that the proper way to handle game AI, and game development in general, is to model things in a manner as similar to the real world as possible... It's also nice to finally have a self-preservation instinct in game enemies...

    Does anyone know if Far Cry used a similar approach? Its AI struck me as very close to Halo's in a lot of ways. (Then again, the whole game was like that...)

    And is the server messed up, or is this a first post? :)
    • by Anonymous Coward
      And is the server messed up, or is this a first post? :)

      It can't be a first post, it had content.
    • Learn to spell 'Frist'!
    • by Anonymous Coward
      Over all the AI is very good, and occasionally quite clever. But it can occasionally get caught in an indecision loop when it faces two threats.
      • by Anonymous Coward
        What about when it screws up, and you find an Elite or Grunt trying to run against a wall, or large box without moving. After reading that, I put it down to someone screwing up the box's characteristics - the Elite assumes it is small and can be "run through" or pushed aside, when it isn't.

        There are actually a lot of buggy moments with the AI in Halo2 - things that just didn't happen in Halo. Many times it feels like Halo had better AI, which is certainly disappointing.

        (It is still a good game though - bu
        • by Anonymous Coward
          I really haven't found that too frequently. There is one "box" on the first level right before the descent into the armory that seems to give elites trouble if I can keep the marines alive and get them a good angle to pin them down.

          And that's what I'm talking about with the indecision loop. I've seen them waffle back and forth really quick, or run in a little circle. I think that because of the way I flank him, and the fire from the marines on my right he'll have a little trouble deciding to get out of
    • is to model things in a manner as similar to the real world as possible...

      first we model the fundamental particles

      then photons, electrons, neutrons and protons

      add in a few forces, gravity of the planets & stars, expansion of the universe that sort fo thing

      evolve your target planet where your game is to take place

      keep running the evolution software until your required habitats form

      grow some simulated babies and in a simulation of the particular culture of your required characters and find those wh
      • (Yes, I do realize that the parent of this article is a bit of a joke. Suffice to say that I'm setting out to break the ironimeter...)

        evolve your target planet where your game is to take place

        Are you sure this is sarcastic? After all, if George Lucas had followed this advice, we would never have seen Naboo...

        keep running the evolution software until your required habitats form

        Hey, it saves design effort, you don't have to manually think up alien analogues to terrestrial flora and fauna -- which take
  • by Anonymous Coward on Wednesday November 17, 2004 @02:05PM (#10844705)
    The linked article is rife with popups and requires one to click 'next page' about 50 times, so here's most of the text. NB - I only got the first 6 pages; pages 7 and 8 came up 404.

    In the Mind of the Enemy
    The Artificial Intelligence of Halo 2
    by Robert Valdes
    11/17/04
    So here I am ... surrounded by pizza boxes, soft taco wrappers, empty beer and soda cans and controllers. I'm tired, and I smell bad. I've finally beaten "Halo 2." I've been ambushed, sniped, flushed out, cornered and just plain beat down by the Covenant more times than I care to remember. In both "Halo" and "Halo 2," the enemy's battlefield savvy is one of the most impressive aspects of the game. The enemies are so much more than just an onslaught of fodder. This is not your daddy's shooter. If you think that a quick trigger finger is going to let you plow through the Covenant in "Halo 2," then there is a body bag with your name on it.

    The enemy characters in "Halo," as with all video games, are driven by artificial intelligence or AI. The complexity of the AI can often make or break a game's level of fun, realism and replay value. Halo is at the top of list when it comes to AI. The enemies react, respond and adapt to the player like real combatants on a battlefield.
    If you're amazed by just how "dirty" the Covenant's "dirty pool" can get in the heat of battle, then you will be interested to hear what Chris Butcher had to say about the artificial intelligence of "Halo 2." Chris is one of four Engineering Leads at Bungie Studios, who are each responsible for certain sections of Halo's creation. Chris created the AI for the original "Halo" and got to expand his work in "Halo 2." Stuffo got a chance to sit down with Chris a few days before "Halo 2" launched and talk about the artificial intelligence of "Halo 2."
    The Basics
    "I wrote the artificial intelligence for Halo 1," Chris explains. "Basically, it is a very specialized type of intelligence. There was a custom piece of code for each character." In "Halo 2," Chris broadened the AI he built for the first game. The first thing to understand about the AI characters in Halo is this: "The AI lives in a simulated world."
    Most first person shooter games, such as Quake or Unreal, are built on a graphical engine. The player is essentially a stationery "camera," and the engine creates the sensation of moving through a world by rendering graphics that create that effect. Halo is different, Chris explains. "Halo is a simulation engine. The engine creates the world, then puts the player and the AI in it ... [The] characters and their code are isolated from the world."
    Each character is written to do certain things, but despite their individual roles, they all function in the same way. It breaks down like this:
    The character uses its AI "senses" to perceive the world -- to detect what's going on around it.
    The AI takes the raw information that it gets based on its perception and interprets the data.
    The AI turns that interpreted data into more processed information
    The AI makes decisions about what its actions should be based on that information.
    Then the AI figures out how it can best perform those actions to achieve the desired result based on the physical state of the world around it.

    "That all works through the same capabilities the player has," Chris explains. This is a key point in how the Halo AI works: Because the characters are forced to perceive the world around them, they are, in many ways, limited like the player by their senses -- in their overall awareness of what is going on around them. This limitation creates more lifelike behavior for the AI characters, as they can be surprised, make mistakes and decisions based on their perceptions of what's going on around them. As Chris puts it, "there is really very little difference between a player and an artificial intelligence character in Halo."
    AI Perception
    Chris goes on:
    "If we were writing artificial intelligence for a robot, we would have to
  • AI (Score:5, Interesting)

    by MyLongNickName ( 822545 ) on Wednesday November 17, 2004 @02:07PM (#10844726) Journal
    It is interesting to see how much work is required to get something that simulates 'common sense'. Note how much 'tagging' was required to get a character in a controled environment from point A to point B in a logical manner.

    Now take your average FPS player. He is able to look at the terrain without these tags and make a coherent game plan. Leave one tag off of an object, and that AI player is suddenly trying to do something impossible and not able to make a decision to try a different tact.

    AI has certainly improved. I can't even begin to guess how many single player games have been destroyed simply because I found an explotable AI weakness. What will make AI really good is when it can adapt strategies when it has consistently lost.
    • Re:AI (Score:5, Insightful)

      by mrdogi ( 82975 ) <mrdogi@sbcg[ ]al.net ['lob' in gap]> on Wednesday November 17, 2004 @02:20PM (#10844847) Homepage
      Humans 'tag' as well. We just do it much faster (with experience) and have years of experience to help with that tagging, both in speed and in richness of tagging. Although, I suppose we also get superfluous tagging ("What idiot painted that box yellow?") to distract us a bit.
      • Re:AI (Score:5, Funny)

        by gothzilla ( 676407 ) on Wednesday November 17, 2004 @03:37PM (#10845750)
        We also can make a lot of mistakes in our tagging.
        "After looking at the angle of that corner up there, I calculate that I can take it in my Ferrari at 82 mph without losing control."
        "I can jump over that fire hydrant without smashing my nuts."
        "This gun isn't loaded so it can't hurt me."

      • Ahh, humans tag, if you will, but they do it dynamically. If we were like an AI, we'd need someone to go around in front of us painting things orange or red or green so we'd know where to go.

        What would be great would be to have an AI that can tag terrain dynamically and decide which is the best place to go based only on what it can "see". That way you could design any map, random or planned, and drop an AI into it and have a great game. Unfortunately what happens is that the game developers plot out
        • Re:AI (Score:2, Insightful)

          by Osty ( 16825 )

          Ahh, humans tag, if you will, but they do it dynamically. If we were like an AI, we'd need someone to go around in front of us painting things orange or red or green so we'd know where to go.

          What would be great would be to have an AI that can tag terrain dynamically and decide which is the best place to go based only on what it can "see". That way you could design any map, random or planned, and drop an AI into it and have a great game. Unfortunately what happens is that the game developers plot out all of

          • Amusing idea, following on from that, perhaps one could have an AI that tags maps so that the developer doesn't have to. You'd probably only need to tag the map once to generate the AI tags for prosperity.

            That way you could have anybody design a map and just let the AI loose on it once to develop decent tags.

            That would be much cooler than having a human tag the map up for the AI.
            • by Osty ( 16825 )

              Amusing idea, following on from that, perhaps one could have an AI that tags maps so that the developer doesn't have to. You'd probably only need to tag the map once to generate the AI tags for prosperity.

              Similar things have been done. There was a bot for Quake 2 (sorry I don't remember which one, I saw my little brother playing with it but never did so myself) that you could teach maps. IIRC, you could go about it in one of two ways. The first way was to run through the level yourself, with the bot

    • by FFFish ( 7567 )
      And it would be nice if there were a few more variables guiding their behaviour.

      A hopped-up Grunt who has been really kicking ass on the enemy probably isn't going to immediately run away just because his Elite buddy bit the turf.

      A "flight or fight" variable would help a lot, and should be influenced by health, energy, success, perceived threat, perceived gain, etc.
      • by tc ( 93768 )
        I think the point was that although variability might be more realistic, it isn't necessarily better for gameplay, because predictable outcome allows the player to plan. The game then takes on some puzzle-game like qualities.

        If you have to choose between realism and good gameplay, good gameplay should win.
        • by FFFish ( 7567 )
          Good gameplay is playing online against other human beings. *Much* more exciting, challenging, and satisfying than playing against bots.

          Anything that gets bots playing more like humans is a Good Thing in my book.
    • The article seems make the AI out to be just a complicated FSM. I guess FSM's are still the best approach in squad based tactical AI.
    • by Dinny ( 16499 )
      First the article isn't very interesting. Basically the Halo2 AI uses virtual sences and can make ally requests. It also uses lots of level designere set locations.

      Second the AI doesn't sound very advanced. It seems a lot like the stuff the Half-life AI was doing back in '97. Maybe it's just the target audience of the article, but is seems like they are trying to make the AI seem very simple.
      • Hmmm... I like this quote

        Where the player has five senses to deal with, and they're well developed, the AI in Halo really primarily only responds to visual input and sound input. That's because the two ways the player generally makes himself known to the AI is: The AI sees the player or they make a noise, like shooting someone.

        This makes me think a few thoughts all at once and I'll try to unscramble them.
        1. what do the enemies in Halo taste and smell like? Okay, they probably taste like chicken, but h

  • "Its alot like AI for a nascar race except they shoot at you."
  • What this means in plain english? Most first person shooter games, such as Quake or Unreal, are built on a graphical engine. The player is essentially a stationery "camera," and the engine creates the sensation of moving through a world by rendering graphics that create that effect. Halo is different, Chris explains. "Halo is a simulation engine. The engine creates the world, then puts the player and the AI in it ... [The] characters and their code are isolated from the world." What the hell is a simulati
    • I suppose something like this...

      In Quake, etc. the creatures just stand around until you come into their field of view (or they come into yours, I suppose), then attack.

      In Halo 2, they can look around at the start of the game, and then start banding together, or exploring until they find you.

    • by gothzilla ( 676407 ) on Wednesday November 17, 2004 @02:41PM (#10845089)
      The difference is that Quake and Unreal have a single universe, so to speak. The walls, objects, and enemy characters are all part of the same engine and rendered at the same time. Walls, boxes, and monsters were all part of the same code and were handled the same way with the same engine physics.

      Halo 2 creates 3 separate entities. Instead of the enemies being part of the world and rendered at the same time with it, they are now a separate part of the game and don't share any code with the landscape, walls, etc. The game first creates the world, then it creates the AI totally separately and puts them into the world. Basically you have one engine that controls the world and another totally different AI engine that has to interact with the world engine.
    • by Relic of the Future ( 118669 ) <{gro.skaerflatigid} {ta} {selad}> on Wednesday November 17, 2004 @02:53PM (#10845240)
      In many games, the NPC/targets/AIs/whatevers are just another object, like a brick, that gets dropped into the game world. For Halo 2 though, they made them just like any other player, only instead of taking their input controls from your xbox controller, they take them from a piece of code. Instead of having that code look at an image on screen (like you as a player do when playing the game) they instead examine all of these tags that exist in the game world; where you see a clump of pixels and think "wall", the AI has been told "cover.value=+2.8", and can react accordingly.

      This approach allows for the AI to react much more realistically and intelligently with the environment without requiring an impossible amount of effort. It also allows improvements in the AI code to be isolated from the design of the levels (as long as the rules of this "tagging" interface are obeyed by both sides of the programming aisle).

      I wonder how much of this tagging was done by hand, vs. how much was done by automated analysis.

      (As an aside, the grav-lift on Collossus needs to be turned off for CTF, Assault, and Oddball games. Am I right?)

      • where you see a clump of pixels and think "wall", the AI has been told "cover.value=+2.8", and can react accordingly.

        That's because the AI has freed its mind.

        The Matrix has you Relic of the Future.
    • by SmallFurryCreature ( 593017 ) on Wednesday November 17, 2004 @03:35PM (#10845721) Journal
      I think it was a recent star wars fps where I was stuck so I switched of clipping and drifted through the walls to see where I was supposed to go. Bit of a suprise when I saw myself standing somewhere. It was the setup for a cutscene.

      Basically in a quake like game wether it is half-life or quake itself the game centers around the player. The player is the center around wich the world moves. Until you move and trigger something wether it is AI or a scripted sequence the world will remain static.

      In a simulated world the world will go happen wether you move or not. A very good example is MS flight simulator. With the proper settings if you start the game you are sitting on the ground at an airport. But as you sit there you can see weather patterns moving. Other aircraft taking off an landing. Air control giving instruction to ensure seperation.

      Note that this is purely an approach to how the "story" in the game is developed. You could easily use the quake engine to create a simulated world and use MS flight simulator to create a trigger driven story game. In fact they exist.

      So halo has the same kind of graphical answer as quake. What is different is how the population changes. It seems that the halo makers claim they have a more MS flight simulator like approach where the AI does its thing even if you just stand at the start. Note that in the recent MS flight simulator you are part of the AI as both air traffic control and other aircraft react to you (sometimes).

      It should be easy to check if there is an invisible mode/no clipping mode in halo 2. If they are right then you should see that enemy walking around and chatting long before you have walked along the corridor and triggered them to do their stuff.

      Personally I think Halo2 is a cross. A true simulated FPS would have far more of a realistic combat mode as you would be on a battlefield with a battle going on and you would be just one of the soldiers. If you remember Call of Duty then think about the russian square assault. While their is obvious AI going on the AI is totally incapable of achieving anything. You score the majority of kills and you "unlock" the next bits in a level.

      If Call of Duty had a simulated world then you could just sit to the side and slowly see the AI on one side win. F16 falcon had this to a certain degree. It was a very realistic combat flightsim and I sucked at Air to Air. However as long as I setup the right mission where I bombed and had my wing mates cover me the AI would do the job. One time I started a mission but had a call of nature. The rest of the flight started in the air and the base was attacked. As I was sitting on the toilet I could hear my wing engaging the attacking flight and shooting them down. All without me even having touched the controls. That is a simulated world.

      So is this the future? Well for some games. Imagine if you played a simulated RPG. If you then went to the toilet and let the game running a NPC would pick up the role of hero and complete the story quests. Hmmm.

      Imagine in Halo if it was truly simulated world. If you take the wrong turn your AI buddies could very well have completed the level while your trying to find your way back.

      Flight sims and realistic combat games might be fun with truly simulated worlds. FPS ala Halo are perhaps better when the player is the hero who triggers events. Some simulation can take place but do you really want the intresting bits to be done by the your AI buddies?

      Half-life is a scripted STORY engine. Halo claims to be a simulated STORY engine. The graphics are exactly the same. They choose the wrong words.

      • Imagine in Halo if it was truly simulated world. If you take the wrong turn your AI buddies could very well have completed the level while your trying to find your way back.

        In the last ending during the end battle, I took the gravity lift up a floor to go get dual Plasma Rifles. By the time I got back down, (Normal difficulty mind you) my elite's had defeated the end boss for me.

      • In earlier levels of Halo 2 there are times when they go out ahead of you. When I was in the city level, I tried to hop into the gunner seat of the warthog, but had to pick up the phone. The AI took off with the warthog and started engaging the enemy along the path that you should have taken with them.
      • If this is what he meant, then "Quake or Unreal" must not include Quake Arena or Unreal Tournament, where "your AI buddies could very well have completed the level while your trying to find your way back". Heck, in UT2004 onslaught levels, you have to claim a vehicle if you don't want to be left back at base while your AI teammates take the first few nodes. (There usually aren't enough vehicles for the recommended players, maybe they expect some people to go out on foot.)
    • The best way to see this is when you are involved in the three way battle between Covenant, the Flood and the Humans (when you are the arbitor).

      Each time you enter an area there is a battle going on between the humans/flood/covenant. Most games the action revolves around you triggering something. Halo 2 (and similar games) have the world and its players acting out their own story. You could stand in a corner and just watch the battle unfold. This is useful when you come up against a bunch of sentinels and
  • Wow (Score:2, Informative)

    by dretay ( 583646 )
    I was very impressed by the depth of understanding that the AI showed in HALO 2 before reading this article. What I found particularly interesting is the "Uncanny Valley" problem whereby the AI becomes very life like and then, when it does something inhuman, it just becomes creepy. I have never personally experienced the problem, but I have a friend who refuses to play certain games for exactly this reason.
    • This is a great coincidence, last night I went to the movies. Whatching the trailer to "Polar Express" and my date said the same "creepy" comment about the graphics in the movie. I wonder where the original theory came from
    • I thought that the "Uncanny Valley" was very interesting too. I'm curious as to whether or not game designers are going to try and hide things from the players or start to develop AI that simulates NPCs at rest.

      It would be very cool to have a game in which the NPCs would sit around and chat, or play cards when they think that they are idle. It would also be very cool to sneak up on a group that was enjoying social time. Imagine flying drinks and tables being knocked over when you start shooting them.
  • Out of curousity, how good is halo 2's AI? The first game I noticed that had decent enemy AI was the original halflife. The enemy marines were quite clever in how they handled situations, and the way the sonic doggies would run around like puppies chasing train cars seemed realistic. How advanced are we these days?
    • by Anonymous Coward
      I would say it's really good. They do lot of coordination. They'll spread out and take cover, protecting their flanks but still near enough that they can provide interlocking fire. Elites will band together to drive into a position, and outflank a powerful opponant. Enemy snipers appear to fire on who ever has the sniper rifle first.
      • Yea, they seem to use a lot of covering fire as well. The elites will pin you behind a wall with constant fire while others advance on your position. Pretty cool stuff.
      • It might be decent in single player, but it really falls apart in the coop setting. I don't know how many times an enemy would be hiding from my friend while looking straight at me. It was rather amusing, as there were times when I thought the character was simply on my team. It was only when I realized that he would step from behind the box to start firing at my friend (still ignoring me) that I realized it was an enemy.
    • On Legendary I've seen the AI do some crazy things they never do on Normal or Heroic. So far out of the ordinary, I've seen marines press their backs against cover and peek around it before attempting to fire. I think grunts attempt to use grenades to blow away your cover, but that might just be flushing out techniques. I've had elites try to 'bait me' by letting one come out in the open and having the others stay hidden until I tried to take the bait. And of course, they flank you. A lot.

      I haven't tried an

  • Unamazing AI (Score:1, Flamebait)

    by Dinny ( 16499 )
    First the article isn't very interesting. Basically the Halo2 AI uses virtual sences and can make ally requests. It also uses lots of level designere set locations.

    Second the AI doesn't sound very advanced. It seems a lot like the stuff the Half-life AI was doing back in '97. Maybe it's just the target audience of the article, but is seems like they are trying to make the AI seem very simple.
    • Well, it's not AI in the sense the purists mean. It's more about simulating intelligent behavior with conditional scripts. But for a shooter, that's all you want. You don't need real learning or anything of that sort.
    • Re:Unamazing AI (Score:5, Insightful)

      by AzraelKans ( 697974 ) on Wednesday November 17, 2004 @03:50PM (#10845947) Homepage
      Well.. you have to remember a few details before judging, first of all halo 2 is all about battles, so you would expect they expent more time on that than say "conversations" or other nuisances and on that level both as partners and as enemies the AI acts pretty convincingly. Second, halo2 is definetily a lot larger and complex than half life.(not HL2 though) so is a lot harder to coordinate the AI and place tag points effectively. And 3rd the AI in a console game expending so much cycles in a console in network and graphics code, can only be good enough to be believable, but cant expent so much cycles to be "ground breaking" so their target was believable and enjoyable and I think they got that right.

      I havent even noticed before reading the article but the enemies DO talk to each other (in english) before teaming up on your poor butt. Thats an interesting detail to watch (although it ussually ends with you dead in the ground).

      Oh I almost forgot, you have to play in the "heroic" dificulty level to see what the AI can really do. The easy and normal levels are quite dumbed down in comparison.
      • In Halo 1, they explain why you are able to understand the Covenant. Rather than them speaking English, they speak normally, but the AI you are carrying around with you understands the Convenant language and translates it to English for you. Very convenient.

        I do enjoy hearing what the Covenant grunts have to say. "Uh oh! Bad guy somewhere!", "Run, grenade!", or when they have a plasma grenade stuck to them, a very panicked "Aaaiiieeeeee!".
      • Halo 2 larger than Half Life? Just how much scenery did they have to duplicate to achieve that!?
    • simple = good
      complex = bad

      simple is often better , less cpu usage for A.I. on an X-Box means more cpu for other stuff.....

      Computer Science teaches you to seek out "Simple" solutions. and judging by the success of Halo and the Halo Game serries Console [userfriendly.org] it's good enough to be successful!

      ( and all those people wondering how do i get a job in the games industry - Chris wrote some sort of Map tool for Myth while at University [otago.ac.nz] and got noticed by Bungie.....)
    • I have to agree w/ what was said about simple being better. But, in any case, I'm a lot more impressed with the ai in H2 compared to H1. My favorite example: when you're trying to get to the bomb in the first scene, and you're about to go outside, two of those worker bees (bees - not sure what the h3ll to call them) show up in the doorway. I plasma 'naded the one on the left, and the one on the right said something like, "you have a grenade on you, brother!" Agreed, it's all scripted. Agreed, it's the
  • Just got done reading an excellent book about AI in games that includes more detail about what was talked about in the interview - look for "Artificial Intelligence for Computer Games" by John David Funge. An excellent, high-level overview. -j

Keep up the good work! But please don't ask me to help.

Working...