Download presentation
Presentation is loading. Please wait.
1
The Illusion of Intelligence
Introductions The Integration of AI and Level Design in Halo Chris Butcher Jaime Griesemer
2
The Illusion of Intelligence
Target Audience Designers, AI Programmers, Halo Players Session Overview Discussion of Halo’s AI Design Goals Details of the AI Implementation Description of the Level Creation Process Demonstration of Halo’s Production Tools Introductions This session is not a full post mortem of Halo we’re not exactly sure how it got billed that way, but we apologize if that was what you were expecting This session is a discussion of Halo’s AI targeted at Designers and AI Programmers It will also be useful to anyone looking for insight into how to get past Level 3 on the hardest difficultly level Today we are going to talk about: The Initial design goals for Halo’s AI how they changed over the course of the project Our AI implementation, including the technical constraints and important framework elements as well as how the level creation process emerged from that implementation And at the end of the talk we’ll give a demonstration of our production tools and try to show how all these ideas translated into what the player experiences Before we start I want to point out that the title of this talk is “The Illusion of Intelligence” and not “The Reality of Intelligence” If you came here for tips about how to make the enemies in your game intelligent, we don’t have any for you we don’t know how to do that, but it sounds really hard What we do have, though, is tips on how to make the enemies in your game _appear_ to be intelligent Chris and I have lots of experience with pretending to be intelligent
3
Meeting Player Expectations
Novel situations Total interactivity Significant challenge Methods Heavy scripting Extended Interface Omniscient and relentless enemies Modern video games have a number of expectations placed on them by consumers Players expect Novel situations If Pac Man came out today reviewers would say it had no replay value the ghost AI is repetitive and predictable there’s no exploration, no story and the mission goals are always just ‘Eat everything’ One method of achieving Novel situations is through Heavy scripting – Medal of Honor Positive aspect of this method is that the game feels like a movie negative aspect is that it feels like a movie, not a game players get the sense that everything is pre-ordained this method is also time-consuming and technically demanding on level designers Players also expect Total Interactivity People are tired of “one man against the mindless evil horde” They want every character to acknowledge them and react to them the Player wants to be able to manipulate other characters A common method to accomplish this is through an Extended interface – Unreal Tournament Bots Unfortunately the Player is often forced to be a manager instead of a hero the end result is that the Player often ignores this option Players also expect a significant challenge Gamers have become sophisticated many of them have played games in your genre for years and they want a challenge this is especially true of reviewers and early adopters, so it’s even more important Some games provide this challenge through omniscient and relentless enemies – Quake III This method feels like bullying nobody wants to have a reflex competition with an electron it requires precise tailoring to player’s reflexes (which can be difficult in solo campaign) and it also becomes a barrier to the mass gamer because they can’t improve their talent level and there are no alternatives offered to achieve success Please don’t take this slide to be criticisms of the games I mentioned, I intentionally only chose games I really enjoyed as examples it’s just an attempt to briefly explain why we decided not to use any of these methods
4
Where Design and Code Overlap
Parts of the AI are clearly Design Mission Objectives Scripting Object placement we aren’t going to talk about any of those parts Parts of the AI are clearly Code Firing Patterns Pathfinding Animation we aren’t going to talk about any of those either
5
Where Design and Code Overlap
Design Responsibilities 3 minute scope Racial personalities Strategic purpose Code Responsibilities 30 second scope Intelligent decisions Instant reactions What we are going to talk about is Combat Behavior this is where Design and Code overlap Ideally you want to borrow the intelligence of the designers to make the AI seem smart but you want to use the generalization of code to make the intelligence procedural (you can’t ship a designer on a cd) In Halo, the Designers were responsible for anything that had a 3 minute scope By 3 minute scope we mean any aspects of the AI that are established over a period of minutes, rather than seconds An example of this would be the Racial personalities of our characters Grunts are _always_ comical and cowardly Elites are _always_ tough and aggressive Providing the AI with a Strategic purpose These are the goals that motivate the AI’s actions that aren’t represented in code Secure the landing zone Protect the flag Code responsible for 30 second scope, things that the player experiences on a moment to moment basis Making Intelligent decisions This rock is good cover This tree is good cover This enemy tank is not good cover Instant reactions This grenade is going to explode, I need to dive away The Player is aiming a rocket launcher at me, I should hide
6
Design Goals Intelligible Interactive Unpredictable Individual Level
Imitating the Player’s capabilities Transparent thought process Racial personality Group Level Obvious strategic goals Clear racial roles Individual Level ??????????????????????????????????????????????????????? Limited capabilities The Player assumes the AI has capabilities that are similar to his own The AI should Sees things the Player can see Knows things the Player can know Do things the Player can do Elites shields recharge exactly like the Player’s shields The Converse is even more important should not do things the Player _can’t_ do should not see things the Player _can’t_ see There are no Psychic AI in Halo There are no AI with perfect aim There are invisible AI, but we let the Player try out invisibility as well This is only a guide line There are some AI that can jump higher than the Player or run faster such as the Flood Rule of thumb should be that you can give an AI an ability the Player doesn’t have as long as the ability is recognizable and the limits of that ability can be easily predicted Transparent thought process It should be obvious why the AI is doing what it is doing One of the ways we chose to make it obvious was to limit the AI to basic cause and effect decisions We also gave them custom animations and dialog for each decision These animations are best if they communicate what the decision was but even if it can’t be communicated its important to alert the Player that a decision was made Another way to make the AI intelligible is to give individuals Racial personalities In Halo, Grunts are cowards and all their behaviors derive from that Hide when targeted Panic when Elite is killed Elites are aggressive They rarely hide unless the player hides Berserk charge on massive damage Establishing racial personalities is helpful in two ways, it makes the design process easier its easier to make a caricature than a complex portrait it saves you from muddying the waters and creating confusing behaviors Racial personalities also help the Player it makes behaviors the Player has seen easier to remember it makes new behaviors easier for them to identify and predict keep in mind the Player’s first impressions are what establish these racial personalities The first time you see an Elite he is a terrifying bad ass The first time you see a grunt you easily kill him The first time you see a hunter he is sent in as the last line of defense (and they are accompanied by foreboding music) To make our AI intelligible on a Group Level Strategic goals Players are naively confident in your AI programmer They will assume your AI knows they are supposed to be protecting the tractor beam power switch until you prove that they are just standing around We wanted to work hard and let Players continue to believe the AI has a strategic objective We mostly faked this, but it gives the Player the feeling that his enemies are opponents, working against him, rather than just disinterested obstacles Clear racial roles Consistent racial roles allow you to give the Player feedback on how a group of enemies is going to react Grunts are the fodder so when the Player sees them he you can assume the Covenant aren’t prepared Elites are the leaders so when the Player sees them he knows the Covenant are interested in the area and are going to put up a fight
7
Design Goals Intelligible Interactive Unpredictable Impressed Fooled
React to the Player Surprise, Anger, Awe Fooled Limited knowledge Predictable reactions Thwarted Breaking point Flee in Terror, Berserk, Retreat, Defensive State We know from experience that AI that doesn’t react to the player isn’t fun so we assumed that the more ways the AI reacts to the Player the more fun it will be But we didn’t just add efficient combat reactions we wanted to add lifelike reactions that made the AI engaging We wanted AI that could be impressed The player wants to be important, so we create an entire universe and make him the center of it Part of being the center of your own universe is being the biggest bad ass in the room In Halo, everyone has a reaction to seeing the Player for the first time Grunts are surprised their first reaction is usually to take cover Elites get angry their first reaction is usually to shoot at you and make sure you can’t escape Marines are just impressed They stare at you and make comments about how great you are “Wow, it’s him.” “I didn’t think he’d be so tall” An enemy that can be fooled The player wants to be a ninja, he wants to toy with his enemies and humiliate them Psychics cannot be fooled but AI that uses its eyes and ears can be manipulated therefore its important to limit the AI’s knowledge Another key ability of ninjas is to predict what their enemies will do We helped the Player predict what the AI would do by giving them lots of simple cause and effect reactions If I shoot over here, the enemy will investigate over here, so I can ambush them If I throw a grenade into that room, the enemy will run out of the room, so I can force them out of cover We also helped the Player predict what the AI would do by giving the AI predictable strategies For instance, they have a straightforward search pattern they move forward at a constant rate and they don’t double-back allowing the Player to manipulate them An enemy that could be Thwarted The Player wants to be Arnold Schwarzenegger he wants to dominate his enemies he wants them to know he beat them To accomplish this we included the concept of a breaking point A breaking point is a distinct change in behavior that indicates the AI knows it is going to lose For example, when a Grunt sees enough friends die or sees an Elite killed he flees in terror When an Elite takes a large amount of damage he loses his temper and charges the Player This happens on the group level as well, when a squad takes enough casualties it will retreat it will try to find a defensive position the squad members will stay in cover longer and fight defensively This tells the Player that he has won
8
Design Goals Intelligible Interactive Unpredictable
Discarded: Randomness Reactive AI Unpredictable player Unpredictable situations Unpredictable reactions Analog Reactions Position Timing Unpredictable does not mean random Random factors in behavior are rarely good they are confusing because they cloud the issue they make it difficult for the Player to analyze what is happening Unpredictable means “not repetitive” For reasons of intelligibilty and interactivity we talked about already, we want the AI to be predictable Ideally this means that the player is the only unpredictable element he is going to do slightly different things each time We used this in Halo to trigger a cascade effect Unpredictable player puts the AI in unpredictable situations which causes unpredictable reactions and this leads to a unique experience This causes a feedback loop because the unique experience leads to more unpredictable Player reactions and starts the cascade all over again Analog reactions Script driven encounters are very predictable because the inputs available to a script are very digital Is the player in the room or not? Is the AI dead or not? In Halo the encounters are driven by the Code, which has much higher resolution of inputs Exactly how far from the Player is each Actor and does it have line of sight? Exactly how much health does each Actor have left and how far is he from cover? This allows small changes in the situation to be amplified by the AI to yield large changes in behavior
9
Technical Constraints
20 – 25 Actors 2 – 4 Vehicles About 15% of Xbox CPU Two-player Cooperative Support the Design Goals Individual Knowledge Emergent Behavior Understandable actor = AI character we aim to simulate a single battle with around 25 actors total on all teams, with several vehicles added in as well. this constraint mostly comes from the cost of character physics and animation and the fact that actors will be shooting off weapons all the time. so this is the maximum number we can have in a single battle. we make an exception for the flood infection forms, up to 100 of those. Xbox: pentium III 733 MHz CPU. 15% isn’t our original estimate. originally we thought somewhere around 10-20%. two players may be fighting completely different battles at once, double the AI load three directions that we felt were really valuable to the game. each of these influenced the technical design in a number of ways.
10
Making the AI Interactive
Individual Knowledge Model Discarded: Complete Model ‘Real’ Perception No cheating Vision, Hearing, Touch, ESP Selective Memory Local objects Crucial objects Persistent State Can be fooled motivation: fun and understandable rather than smart and unbeatable every actor has their own model of the world that describes their knowledge of its state. partial knowledge as well. this picture shows a marine trying to find a covenant elite warrior. this information comes from perceiving the world in a physically plausible way no cheating! the AI system only has access to the actor’s knowledge model, not the actual state of characters in the world four of the six senses – vision, hearing, touch and ESP (through scripting only, and for knowing where friends are). originally we intended this to be a complete model with all actors tracking perception information for everyone in their visual range. we only model the sections of the world that are relevant to combat – characters, vehicles, and dangerous events like grenades and weapon fire. too complicated – O(n^2) for n=25. instead actors only track characters that are important to them, n around 3 for friends, 5 for enemies nice outcome: every actor’s decisions depend on their own local situation which is easier for the player to understand this gives human players the ability to reason about an actor’s knowledge, which lets them take advantage of the AI thought processes, so they can feel like the coolest space ninja commando that there ever was
11
Making the AI Intelligible
Communication of Intent Discarded: Hidden States Inform the Player Language, Posture, Gesture Focus of Attention React to the Player Dialogue Animation the smartest AI in the world is useless if the player has no way of knowing what it’s thinking this means hidden state which influences an actor’s behavior is a real obstacle to fun AI. if players don’t understand why an AI made a decision then it seems much less smart, and much harder to learn about and predict. an actor’s internal state is made visible in three ways: language (spoken dialogue, even aliens can still convey mood, e.g. “wort wort wort” [we did this by reversing english speech for the aliens]), different animation postures based on intention (sneaking, running, hiding), and specific animation triggers (gestures, canned dive/roll movements). individual knowledge model let us model what objects are interesting to actors and control their facing, aiming and looking directions. lots of lifelike behavior really cheaply – turning to look at new characters, watching friends as they walk by, investigating dead bodies, spinning around to track the player if he starts shooting, etc (give props to sigma, ken perlin) we try to convey not just actors’ thoughts, but also what they think about the player’s actions. this makes players really feel like they’re an involved part of the game
12
Making the AI Unpredictable
Emergent Behavior Discarded: ‘Fuzzy’ Emotion System Cause-Effect Stimuli Discovery Weapon Fire Damage, Death Rich World Simulation Unforced Group Behavior motivation: predictable effects that combine and cascade to give fluid and deep gameplay started out thinking about actors as collections of four fuzzy variables - fear, anger, defensiveness and surprise this causes actions to be generated from thresholds and decay rates of hidden variables that are driven by multiple inputs hard for human players to make a mental picture, so we removed these most thought processes are driven by discrete events and stimuli, which is far more understandable we still retain an analog measure of perceived threat level, defensiveness it helps that halo is a very rich simulation. we don’t need to add complexity to the AI, because there are many game world elements that are designed to be self-contained and interact well together. things can happen that we never dreamed of (jackal shooting elite with charged bolt, warthog jump movie, elite swinging sword and breaking glass causing him to leap through window) because the simulation is very flexible, group level just feeds down instructions in order to achieve coordination and leaves individuals to make their own decisions. actors can always take time out to dive out of the way of a grenade, say hello to the player or whatever’s appropriate based on their situation.
13
AI Implementation Now we’re going to move on from theory and talk about our implementation In keeping with the theme of our talk I’ll explain a little bit about how we divided the responsibilities between design and code during implementation
14
AI Implementation Design Battle Flow
The designers focused on the large scale flow of battle Here you can see a wave of marines charging a defensive line of Covenant we’ll talk about these little squares later for now its only important to notice how the Covenant are all grouped behind their defenses and that the Marines are charging them as a group
15
AI Implementation Design Technical Battle Flow Actions and Responses
The programmers worked on the small scale actions and responses of the individual actors Here you see the marines selecting targets to fire on deciding which targets they can see and which targets are in cover
16
Design Implementation
Difficulty Level Battle Lines Playtest Feedback Lifespan Smarter = Tougher Tougher = Smarter It’s should be obvious that in most cases Smarter AI = Tougher AI What we found from Playtests was that the reverse Tougher AI = Smarter AI It seems obvious in retrospect, but the tougher you make the enemies the smarter they seem to the player In one playtest we had enemies that were weak They died easily and didn’t do too much damage to the Player 36% of the Players thought the game was Too Easy only 8% of the Players thought the AI were Very Intelligent In the next playtest we increased the hit points of the enemies and increased the damage they dealt 0% of the Players thought the game was too easy 43% of them thought the enemies were Very Intelligent (Our playtest guys tell us that 43% is a very good rating apparently people are reluctant to admit that they think a computer is smarter than them Weak Enemy Playtest Too hard 12% About right 52% Too easy 36% Very Intelligent 8% Somewhat Intelligent 72% Not Intelligent 20% Tough Enemy Playtest Too hard 7% About right 92% Too easy 0% Very Intelligent 43% Somewhat Intelligent 57% Not Intelligent 0%
17
Design Implementation
Difficulty Level Battle Lines Playtest Feedback Lifespan Smarter = Tougher Tougher = Smarter Consistent Challenge Negative Reinforcement Discourage boring tactics Reward experimentation Another way we used difficulty level to improve the AI was by providing a consistent challenge If the game goes from easy to hard and back again players attribute the easy parts to poor AI and the hard parts to evil level designers by keeping the difficulty level consistent we avoided these pitfalls Negative Reinforcement Don’t be afraid to kill the Player he can tell how he messed up he can tell how to change his tactics we tried to accomplish these goals through the death cam In Halo the Player was equipped with a recharging shield this allowed him to take temporary damage so we could show him that he was using the wrong tactic without killing him One of the tactics we wanted to discourage was the Assault Rifle Rush it wasn’t fun because the battles were ended too quickly our AI gets more accurate the longer the Players stays out of cover a long charge will almost always get you killed Another tactic we discouraged was the Melee Attack Rush Our AI isn’t very good at shooting at someone moving quickly very close to them we gave some of the characters powerful melee attacks If you are going to punish boring tactics you had better reward experimentation So in Halo we rewarded stealthy, careful Players by letting them do instant kill melee attacks from behind We rewarded Players that carefully selected their targets by making the Grunts flee when an Elite was killed We also rewarded accurate Players by letting them get head shots and we rewarded Players that planned ahead by making some weapons much better at certain enemies than others In addition, for most encounters in Halo there is the easy way and the hard way A frustrated Player that engages in a little exploration might find a hidden ramp leading to a catwalk above their enemies or a player that simply watches an encounter before he attacks might get the chance to throw a grenade into a large group of guys at once
18
Design Implementation
Difficulty Level Battle Lines Playtest Feedback Strategic Spaces Interconnectivity Killing Zone Attacking/Defending States Aggressive Territory Retreat Conditions Defensive Fortification The designers were responsible for establishing battle lines, ??????????????????????? To do this we focused on making strategic spaces Interconnectivity It’s very important to make spaces that highlight the strengths of your AI A battle in a corridor doesn’t involve much strategy so there are no intelligent things for the AI to do An interconnected space allows the AI to flank the Player, making them seem more intelligent It also allows the Player to flank the AI, giving him a chance to watch them react to his tactics One weakness of an interconnected space, however, is that it tends to be chaotic So we also needed to establish a Killing Zone an open area between two positions with good cover flanking is still possible in an environment with a killing zone, but the battle is much more directed the killing zone also allows multiple enemies to fight at once without it degenerating into chaos Attacking/Defending States Another way the designers controlled the flow of battle was through Attacking and Defending States Each group of actors has an aggressive territory that it wants to occupy it also has retreat conditions, such as a number of casualties or the position of the Player the retreat conditions cause a transition to a defensive state where the Actors retreat to a more defensible location By carefully collapsing an encounter from a large aggressive territory to a small defensive cluster we were able to capture the feeling of a dynamic battle I should mention the AI system we developed can get much more complicated, especially when you layer several of these attacking/defending states on top of one another but we rarely used that complexity For a large majority of encounters, I’d say around 80%, we didn’t need to get any more complicated than this example
19
Design Implementation
Difficulty Level Battle Lines Playtest Feedback Things to Avoid Subtlety Looking Broken Insufficient Challenge Things to Refine Communication Animations Engagement Distances The final tool we used when implementing the design side of the AI was Playtesting For our playtests we bring in between 25 and 35 non-hardcore game players who have never played the game before we put them in a lab and let them play for an hour then we have them fill out a survey about their experience we’ve found this gives us the most objective results and lets us act on the feedback with the confidence that it is accurate As a brief aside: If you aren’t doing playtests you should be if you are doing playtests you should be doing more playtests earlier in your development cycle you can’t have enough playtesting We actually have the designers watch the playtests because nothing forces you to confront reality faster than watching 30 people bang their heads against a level until they hate the level, they hate the designers and they hate the game In fact, during an early playtest we had more than half of the people ask if they could stop playing and go home The desire to get people to stop wanting to quit was a major motivation for our early design process The most useful data we got from our playtests was a list of things to avoid At the top of that list is Subtlety If it isn’t totally obvious, it’s too subtle Even if you make something as obvious as you can possibly make it, half the people will miss it the first three times they see it In Halo the Grunts run away when an Elite is killed Initially nobody noticed so we had to keep adding clues to make it more obvious By the time we shipped we had made it so not only does _every single_ Grunt run away _every single_ time an Elite is killed but they all have an outrageously exaggerated panic run where they wave their hands above their heads they scream in terror and half the time one of them will say “Leader Dead, Run Away!” I would still estimate that less than a third of our users made the connection Another thing to avoid is letting your AI Look broken When it comes to AI most Players are looking for any excuse to break their suspension of disbelief they will see flaws even where there aren’t any and jump all over them For Example: Early versions of Halo’s AI had a short pause between seeing you and recognizing that you were an enemy this was to allow people to get the jump on the AI or retreat if they were getting in over their heads Playtest feedback showed that Player’s assumed this Feature was a Bug and they all said it made the AI look dumb We ended up completely removing the perception time on all the characters because even though it was intentional people interpreted it as the AI being broken Insufficient challenge I talked about this earlier but it’s important enough to reiterate Easy enemies are assumed to be dumb Playtests are perfect for establishing how difficult the AI should be to make it look smart The other useful feedback we got from our Playtests was a clear idea of what things we could refine We could make sure that the thought processes we were trying to communicate where in fact getting across We also learned which of our animations were being interpreted correctly and which ones were confusing to the Player One of the most important things we were able to refine because of our playtests was our engagement distance Nothing breaks our AI faster than engaging it from the wrong range Sniping makes the AI look oblivious to danger fighting too much from melee range makes the AI look robotic and awkward We were able to use playtests to tweak our weapon ranges and activation ranges to keep the Player at the optimal engagement range for our AI
20
Anatomy of an Actor World Interface Knowledge Model
Information flow restricted Knowledge Model Layered analysis Distributed over time Generates stimuli Decision Logic selects from Actions all communication between AI and world is tightly controlled two main components of the actor are information and reaction information gathering takes place in a layered knowledge model where information flows from raw sensory data into more and more processed forms perceptual data -> memory -> spatial analysis -> situational analysis -> persistent emotions decision logic is fed by stimuli about the world which are generated as we process information current situation + stimulus -> decision logic selects an action to perform, which generates specific motion instructions information gathering involves a lot of number crunching and can be distributed over time decision logic needs to be quick, procedurally driven and to happen frequently (we ran complete decision code every tick) next I’m going to expand on what the structure of the decision code is, what’s inside that box
21
Decision Logic Enemies cause alert Behaviors activated by stimuli
Innate combat cycle Behaviors activated by stimuli Charge, flee, seek cover Throw grenade, enter vehicle, check dead body Each race has a Black Box for action selection Grunts flee easily Elites seek cover if hurt Jackals carry shields a finite state machine where an actor has a single action that they are performing (fight, flee, charge, etc) these actions have associated persistent information about their current goals and some very simple rules for completion default transitions between actions come from an alert cycle based on an actor’s perception of enemies this provides only very basic behavior of ‘see enemy, attack, pursue’ all further control is provided by a toolbox of behaviors which is layered on top of the basic decision making behaviors each have trigger conditions based on the reception of certain stimuli during the information gathering phase behaviors can override each other, modify the current action or change an actor’s emotional state differentiation between races of actors comes in the form of custom ‘black box’ code that enables and disables behaviors based on environmental conditions these rules are very simple and typically less than a page of code
22
Location, Location, Location
“This is my goal. Where should I be standing?” Need a discrete answer to a continuous problem the map is a continuous region but we need discrete points in order to reason about them designers place points grouped where they want a squad to be located gives the high-level ability to define broad areas allows low-level control of combat spacing and cover-seeking the designers control the movement of actors through a space solely by assigning them different sets of firing points to use much of this happens automatically through attacking/defending and retreat conditions for complicated movement, scripting is used each action uses firing points differently but they all use the same points cover tries to find somewhere out of the target’s line of sight searching tries to find somewhere near the target’s last known location casting rays for this calculation accounts for about 60% of all AI cost the rest is mostly pathfinding and perceptual bookkeeping Solution: Firing Points Weighted and selected line of sight distance to target proximity of cover friends and enemies vehicles, grenades, etc Senses environment by multiple ray-casting
23
Combat Dialogue From decisions and stimuli Hundreds per second
hurt, death, saw enemy, throw grenade, seek cover Hundreds per second Priority, context, uniqueness, relevance Select random dialogue type Nearby characters can reply Used for flavor only 57 events 166 dialogue types 12 speaking characters 5147 recorded lines events are generated from basically everywhere in the AI system there is a hierarchical ordering of priorities some a priori knowledge of which are the rarest triggers, so they have a higher priority try to pick actors which the player can see, and events to talk about which the player probably noticed events can pick from multiple different dialogue possibilities, for example if a grunt in a stationary turret kills a marine grunt says “kill you, human” sarge says “keep it steady, marines, we’ll beat them” – custom for group of marines a nearby marine screams “no! you covenant bastards!” – custom by killer’s race another marine shouts “someone take that thing out!” – custom by damage type dialogue is only for the player’s benefit, all AI coordination and communication happens inaudibly through other channels (but often causes dialogue events when it does happen)
24
Demonstration
25
In Conclusion... Design Goals Design Implementation
The Illusion of Intelligence Combat Behavior is where Design and Code overlap To sum up! Most importantly, we were trying to create the Illusion of Intelligence, not actual intelligence and that combat behavior is where Design and the Code overlap Our Design Goals were to make the AI Intelligible by giving them similar capabilities to the Player and making their thought processes transparent to make them Interactive by letting the Player impress them, fool them and thwart them and to make them unpredictable by using the Player as the focus of the battle and giving the Actors a gradient of choices Our designers focused on the flow of battle while our coders focused on the Actor’s action and responses We used the Difficulty level to let the AI live long enough to appear smart and discourage tactics that made the AI appear dumb We manipulated the battle lines in an encounter by using strategic spaces to emphasize the AI’s strong points and using Attacking and Defending states to make battles dynamic and finally from our Playtests we learned that Subtlety doesn’t work and there are specific attributes of our AI that we could tune to make it appear smarter Design Goals Intelligible Interactive Unpredictable Design Implementation Difficulty Level Battle Lines Playtest Feedback
26
In Conclusion... Technical Goals Technical Implementation
Flexible Systems Emergent Behavior But make sure it stays fun and comprehensible! Technical Goals Communication of Intent Individual Knowledge Model Unpredictability Technical Implementation Actor Structure Decision Logic Firing Points Context-based Dialog
27
Any Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.