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."
Re:AI (Score:5, Insightful)
Re:Could someone explain... (Score:3, Insightful)
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.
It is a different approach basically (Score:4, Insightful)
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.
Re:Unamazing AI (Score:5, Insightful)
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.
Re:Sounds like a good approach (Score:3, Insightful)
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 who are right and agree to be in your game
stage the game
or you could just build complicated decision trees that fool the gamer into seeing what he wants to see for considerably less input than modelling the whole universe.
Re:AI (Score:2, Insightful)
Actually, a lot of things humans do have been pre-tagged. It's just that we can apply one set of tags from one situation to a new situation and expect them to work relatively well. As an example, look at driving a race car on a track. For a given driving style, there is an optimal line to take on the track for best speed. If you put a human in a race car on that track for the first time, with nobody helping them, they have to go through many laps of trial and error to find the line (level developers tagging things). If instead you put an experienced driver in the car, but kept this as his first time on the track, he'd be able to apply sets of tags from other race tracks to similar turns on this one. It won't be perfect, but it gives him a good place to start (level designers learning how to tag levels for AI, becoming more proficient). Now if you put an instructor who knows the track in the car with driver, and put down cones on the track for braking points, turn-in, apex, and exit points, most drivers will be able to turn flawless laps almost immediately (they'll still have to work up their speed, though). That's equivalent to putting an AI into a pre-tagged level.
It's not much fun watching someone drive a race track for the first time (it's fun doing it, but not watching it). Most people prefer to watch the actual race, filled with drivers who know what they're doing and who know the track. It's more fun that way. Similarly, you don't really want to spend your time running around with the AI while they learn a level. Therefore, the best thing to do is to pre-tag levels so the AI already knows what to do. Alternatively, you could use a learning AI, but you still need to spend the time up front to teach the AI the levels before you ship. If you build a new map, it's up to you to train the AI and provide that information when you ship the map.