Technical issues artificial intelligence
Download
1 / 92

Technical Issues: - PowerPoint PPT Presentation


  • 190 Views
  • Updated On :

Technical Issues: Artificial Intelligence Technical Issues: Artificial Intelligence Artificial intelligence can mean a variety of different things in different contexts.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Technical Issues:' - sandra_john


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Technical issues artificial intelligence l.jpg

Technical Issues:Artificial Intelligence


Technical issues artificial intelligence2 l.jpg
Technical Issues: Artificial Intelligence

  • Artificial intelligence can mean a variety of different things in different contexts.

  • By purist definitions, a game would possess artificial intelligence if a game player cannot distinguish between characters controlled by a human, or by the game itself.

    • In such a case, the game would be passing a limited version of what is called the Turing test.

  • In actual practice, however, a game that does not pass this test still has artificial intelligence, just not really good artificial intelligence.


Technical issues artificial intelligence3 l.jpg
Technical Issues: Artificial Intelligence

Screen shot from Unreal Tournament 2003. If you cannot tell if an opponent or teammate is a human or a bot, then the bot’s artificialintelligence has passed the Turing test.


Technical issues artificial intelligence4 l.jpg
Technical Issues: Artificial Intelligence

  • Game developers rarely use the Turing test definition of artificial intelligence.

  • In a game, artificial intelligence refers to the code used to control all non player characters and opponents within a game.

    • The reactions of the game may be totally random, or totally logical, but the control code is still referred to as the artificial intelligence of the game.


Technical issues artificial intelligence5 l.jpg
Technical Issues: Artificial Intelligence

Even though the opponent control for Centipede (left) and block droppercode for Tetris (right) is simple and scripted, with a random number

generator producing some variation, both are still considered to posses

a certain amount of artificial intelligence.


Goals of game artificial intelligence l.jpg
Goals of Game Artificial Intelligence

  • Players have different expectations of the artificial intelligence they find in different types of games.

    • Some games, like Centipede and Tetris, have very minimal intelligence requirements.

    • Other games, however, are heavily dependent on good artificial intelligence. If it is weak, the game would simply not be worth playing.

  • Despite this, there are several general goals for any game artificial intelligence. The importance of these goals depends greatly on the game.


Goals of game artificial intelligence7 l.jpg
Goals of Game Artificial Intelligence

Screen shot from CompuChess. Without strong artificial intelligence, a game of chess might not be worth playing, except for beginners.


Goals of game ai challenge the player l.jpg
Goals of Game AI:Challenge the Player

  • Providing a reasonable challenge for the player must be the primary goal for artificial intelligence in any game.

  • There are several ways to provide challenge:

    • A very sophisticated artificial intelligence.

    • Outnumbering the player.

    • Giving opponents abilities and advantages that the player does not have.

    • Assigning the players teammates or additional obligations that might hold them back.

    • Cheating. (As long as you don’t get caught!)

    • Poor game design. (Do not do this!!!)


Goals of game ai challenge the player9 l.jpg
Goals of Game AI:Challenge the Player

Screen shot from Doom II. It created challenges for players by vastlyoutnumbering the player, and providing opponents many advantages

(unlimited ammunition, seeing in the dark, flying, and so on).


Goals of game ai challenge the player10 l.jpg
Goals of Game AI:Challenge the Player

Screen shot from Warcraft III. Sometimes, the difficulty in selecting and

controlling units in the heat of battle provides an unwanted and frustrating challenge.


Goals of game ai challenge the player11 l.jpg
Goals of Game AI:Challenge the Player

  • Creating a challenging and sophisticated artificial intelligence can be quite difficult.

    • In some games, outnumbering the player and providing additional abilities is not what the player wants or expects.

    • In such cases, the artificial intelligence must be very good.

  • Depending on the game genre and game characteristics, the player must be challenged in different ways.


Goals of game ai challenge the player12 l.jpg
Goals of Game AI:Challenge the Player

Screen shot from NHL 2003. It would break player expectations by giving

opponents extra abilities or by outnumbering the player. The artificial

intelligence must be better to compensate for this.


Goals of game ai challenge the player13 l.jpg
Goals of Game AI:Challenge the Player

Screen shot from Alpha Centauri. Since it is a strategy game, the player

expects a strong opponent as the game is very thought intensive. Since thegame is turn based, the game cannot overwhelm the player by processing alone; the player can take their time and think.


Goals of game ai be realistic l.jpg
Goals of Game AI:Be Realistic

  • A game should provide artificial intelligence that is appropriate to its setting, story, and characters.

    • Characters that are supposed to be smart should not do dumb things.

    • Characters that are supposed to be dumb should not do smart things.

  • The more human and realistic a character is, the smarter it should behave.

    • Beast-like, alien, robotic, and undead characters can get away with more stupid actions, depending on the situation.


Goals of game ai be realistic15 l.jpg
Goals of Game AI:Be Realistic

Screen shot from Quake. The Zombies behave pretty much as one would

expect: they lumber towards you and take your shots until they get close

enough for an attack. Unless they are blown to bits, they willget up and come back for more, just like real zombies!


Goals of game ai be realistic16 l.jpg
Goals of Game AI:Be Realistic

  • There are some things, however, that are so dumb that nothing should do it.

    • For example, walking off of a cliff or not being able to navigate around a small obstacle.

  • In these situations it is obvious to the player what the artificial intelligence should have done.

    • Unfortunately, players seldom recognize how complex or difficult such obvious actions are to recognize and perform.

  • To avoid ridicule, the game’s artificial intelligence must have a mastery of what is obvious to human players.


Goals of game ai be realistic17 l.jpg
Goals of Game AI:Be Realistic

Screen shot from Quake. The ogre was notorious for getting stuck in doorways in many levels with its chainsaw, and not knowing how to get unstuck.To players, this seemed ridiculous, even for an ogre.


Goals of game ai be realistic18 l.jpg
Goals of Game AI:Be Realistic

Screen shot from Oni. In this situation, Konoko is being chased by Muro.

A TCF officer on Konoko’s side has beaten his enemy in the background,and stands over her body for several minutes. Why isn’t he helping me?


Goals of game ai be realistic19 l.jpg
Goals of Game AI:Be Realistic

  • One must be careful, however, to make artificial intelligence too realistic.

    • Games are often unreal situations set up because they are interesting, not because they are authentic.

    • For example, if an opponent realizes it has no chance of winning, it should run away indefinitely, which quickly ceases to be fun.

  • In building good artificial intelligence, one must keep in mind the true goal of the project: building a fun, playable game.


Goals of game ai be realistic20 l.jpg
Goals of Game AI:Be Realistic

Screen shot from 007 Nightfire. Realistically, the villain should just killJames Bond and be done with it, instead of toying around with him.

That wouldn’t make for a very good game though!


Goals of game ai be unpredictable l.jpg
Goals of Game AI:Be Unpredictable

  • Humans are unpredictable. This is part of what makes them good opponents.

    • The same should be true of the artificial intelligence opponents in a game.

  • Players want the artificial intelligence to surprise them and use strategies and techniques that are unanticipated.

    • If the player can predict with some measure of certainty what the game will do, the fun in the game quickly disappears.


Goals of game ai be unpredictable22 l.jpg
Goals of Game AI:Be Unpredictable

Screen shot from Starcraft. Strategy games benefit greatly fromunpredictability. It does not take long for a seasoned player to recognize

the same strategy over and over again.


Goals of game ai be unpredictable23 l.jpg
Goals of Game AI:Be Unpredictable

  • Successful unpredictability can take many forms, depending on the game.

  • Usually, this involves adding some element of randomness to the game’s artificial intelligence.

    • Could be pure randomness.

    • Could be a form of selection in which there are several valid choices of action that are chosen from randomly. Weights can be applied to vary the amount of randomness.

  • In the end, the player will never know the action was random, and will tend to attribute it to some intelligence with a purpose.


Goals of game ai be unpredictable24 l.jpg
Goals of Game AI:Be Unpredictable

Screen shot from Unreal Tournament 2003. Opponents can act inan unpredictable fashion through randomly selecting a weapon to use,and use tactics appropriate to that weapon.


Goals of game ai be unpredictable25 l.jpg
Goals of Game AI:Be Unpredictable

  • Keep in mind that unpredictability should enhance the challenge presented by the artificial intelligence in a game.

    • If things are so random that the game cannot put together a solid plan for defeating the player, you have gone too far.

  • Make sure that random choices are still realistic given the scenario.

    • If an opponent is about to win, and its artificial intelligence randomly selects a poor action, this will seem ridiculous.


Goals of game ai assist storytelling l.jpg
Goals of Game AI:Assist Storytelling

  • The artificial intelligence in non player characters can be used for storytelling in many ways.

    • Setting mood.

    • Advancing the plot.

    • Providing foreshadowing.

    • And so on.

  • By telling the story in the game, as opposed to just cut scenes, the player becomes much more involved.


Goals of game ai assist storytelling27 l.jpg
Goals of Game AI:Assist Storytelling

Screen shot from Oni. Konoko has just been declared a rogue agent,

and civilians encountered reflect this to help establish setting and mood.


Goals of game ai create a living world l.jpg
Goals of Game AI:Create a Living World

  • Creating a sterile game world filled with inanimate objects is not going to be a very authenticate reality for the player.

  • Instead, adding ambient life to a world can do a lot to enhance the experience.

    • Can be people going about doing their daily business.

    • Can be birds flying in the sky, or animals or other critters roaming around the ground.


Goals of game ai create a living world29 l.jpg
Goals of Game AI:Create a Living World

Screen shot from Grand Theft Auto III. This series of games always had avery lively city, full of motorists and pedestrians with interestingbehaviours. Too bad for them!


Goals of game ai create a living world30 l.jpg
Goals of Game AI:Create a Living World

Screen shot from the Legend of Zelda: The Ocarina of Time. The world is full of lively artificial intelligence agents, including the characters wandering around, animals, and so on.


Goals of game ai create a living world31 l.jpg
Goals of Game AI:Create a Living World

These artificial intelligence agents can be interacted with in a variety of ways. This is what happens if you attack poultry too often … death by chickens!!!


Artificial intelligence tips l.jpg
Artificial Intelligence Tips

  • Before looking at some of the various techniques employed by artificial intelligence designers and coders, we first provide some general tips.

    • Some of these are common sense.

    • Others have come from years of experience, both good and bad.

  • Unless you have a good reason, it is advisable to follow these suggestions!


Artificial intelligence tips do your homework l.jpg
Artificial Intelligence Tips:Do Your Homework

  • There is no “one size fits all” artificial intelligence system.

    • Different techniques are appropriate for different situations.

  • The right solution depends on many factors:

    • The emphasis of AI in the game.

    • The scheduling and budget for AI development.

    • The development team make-up and experience.

  • It is important to determine the needs of your game and the capabilities of your team.


Artificial intelligence tips the sloped playing field l.jpg
Artificial Intelligence Tips:The Sloped Playing Field

  • It is generally not advisable to pin all your hopes on creating an artificial intelligence that can compete with human players relying solely on its synthetic intellect alone.

  • Generally, your artificial intelligence will require an edge to compete with a human player.

    • By outnumbering the player.

    • By having superior strength or abilities.

    • By having additional resources at its disposal.

    • By having perfect knowledge of the game world.

    • And so on.


Artificial intelligence tips the sloped playing field35 l.jpg
Artificial Intelligence Tips:The Sloped Playing Field

Screen shot from Doom II. It makes use of a sloped playing field by vastlyoutnumbering the player, and providing opponents many advantages

(unlimited ammunition, seeing in the dark, flying, and so on).


Artificial intelligence tips use the environment wisely l.jpg
Artificial Intelligence Tips:Use the Environment Wisely

  • Tune the design of levels to fit limitations of the artificial intelligence, instead of the other way around.

    • It is incredibly difficult to build artificial intelligence that can handle every level design in an effective and efficient manner.

    • Levels can be worked to fit with artificial intelligence limitations much easier and with few or no compromises.

  • Your non player characters and levels have to work together to make a game fun to play.


Artificial intelligence tips use the environment wisely37 l.jpg
Artificial Intelligence Tips:Use the Environment Wisely

Screen shot from Damage Incorporated. Players had to direct teammatesthrough a 3D environment. Levels had to be redesigned many times beforerelease because of artificial intelligence problems in navigation.


Artificial intelligence tips use the environment wisely38 l.jpg
Artificial Intelligence Tips:Use the Environment Wisely

  • Put smarts into the game environment itself, in addition to the characters.

    • Have objects in the world announce themselves to non player characters and provide them information and scripts on how to use them.

    • Embed navigation information in level design so that characters can traverse levels more easily.

  • By making a smarter environment, the artificial intelligence driving characters does not need to be as sophisticated.

    • Characters do not need to locate or identify objects or terrain; they broadcast and tell them instead.


Artificial intelligence tips use the environment wisely39 l.jpg
Artificial Intelligence Tips:Use the Environment Wisely

Screen shot from The Sims. The Sims makes use of smart terrain thatbroadcasts what it offers. For example, the refrigerator broadcasts that it cansatisfy the hunger need and tells Sims how to use it to do so when needed.


Artificial intelligence tips keep it simple l.jpg
Artificial Intelligence Tips:Keep it Simple

  • In the rush to beef up the artificial intelligence in a game, it is very easy for it to get out of control and too complex.

  • Ideally, the AI system should let the developers do complex things with a variety of simple parts.

    • By combining the simple parts appropriately, a variety of interesting and complex behaviours can be provided.

    • By keeping things simple, the system will be easier to understand, reuse, debug, and maintain.


Artificial intelligence tips precomputation is good l.jpg
Artificial Intelligence Tips:Precomputation is Good

  • Good artificial intelligence can be computationally expensive at run-time.

    • Scarce resources are also needed for graphics, animation, physics, networking, and other subsystems though.

  • Precomputation should be used wherever possible to provide good AI cheaply.

    • Scripting of sequences of actions.

    • Navigation through game terrain.

    • Collisions with obstacles.


Artificial intelligence tips precomputation is good42 l.jpg
Artificial Intelligence Tips:Precomputation is Good

Screen shot from Thief II. This game uses navigation meshes to help

characters navigate terrain. By precomputing these in advance, and usingthem in level design, character artificial intelligence is simpler and cheaper.


Artificial intelligence tips timeouts and fallbacks l.jpg
Artificial Intelligence Tips:Timeouts and Fallbacks

  • Nothing looks worse than an artificial intelligence that repeatedly does the wrong thing over and over.

    • Players will not notice them make a wrong turn, but they will notice continuous collisions with an easy to navigate obstacle.

  • Every artificial intelligence system should check for success conditions within a reasonable amount of time.

    • If a timeout occurs, the system should give up and try something different.

    • At a minimum, it can fall back to interesting idle animations that express its confusion or frustration while a new plan is formulated in the background.


Artificial intelligence tips timeouts and fallbacks44 l.jpg
Artificial Intelligence Tips:Timeouts and Fallbacks

Screen shot from Grand Theft Auto. Police were notoriously bad at moving around stopped vehicles to arrest the player; they could easily get stuck or run back and forth. Timing out and falling back would have been good.


Artificial intelligence tips avoid story interference l.jpg
Artificial Intelligence Tips:Avoid Story Interference

  • If the artificial intelligence in a game interferes with its story, it must be fixed.

  • The artificial intelligence system must be aware of game events that are important to telling the story.

    • This includes conversations, listening to dialog, watching a cut-scene, and solving game puzzles.

    • The AI system should know it should back off and not get in the way.


Artificial intelligence tips avoid story interference46 l.jpg
Artificial Intelligence Tips:Avoid Story Interference

Screen shot from Oni. Konoko was having a conversation with the scientist inthe lab coat when she was viciously interrupted. Unfortunately, she missedthe rest of the story. The guard was punished appropriately.


Artificial intelligence tips provide memories l.jpg
Artificial Intelligence Tips:Provide Memories

  • The artificial intelligence characters in a game should remember what has happened to them and others during a game.

  • They can then change their behaviour and dialog accordingly.

    • This gives the player a sense that they are living beings with thoughts and feelings.

  • If the artificial intelligence in a game can learn and adapt from its memories of events, so much the better.


Artificial intelligence tips provide memories48 l.jpg
Artificial Intelligence Tips:Provide Memories

Screen shot from Quake 3 Arena. Most game characters and bots havememories. If you shoot them and get on their bad side, they rememberit. They will even keep grudges against each other too!


Artificial intelligence tips variety through data l.jpg
Artificial Intelligence Tips:Variety Through Data

  • A variety of character behaviours keeps games interesting and entertaining.

    • Providing code for each behaviour introduces programming, debugging, and testing headaches.

    • Instead, code should provide one or a small handful of behaviours that are greatly customizable through data.

  • Designers can then introduce a “new” behaviour by tuning these variables.

    • This includes awareness, speed, tactics, weapon preference, field and range of view, inventory, strength, abilities, chatter, and so on.

  • This data should be available to designers to assist in game balancing and adjustments.


Artificial intelligence tips variety through data50 l.jpg
Artificial Intelligence Tips:Variety Through Data

Screen shot from Unreal Tournament. It provides a wide variety of bot

behaviours based on the settings of a few parameters.


Artificial intelligence tips solve the right problem l.jpg
Artificial Intelligence Tips:Solve the Right Problem

  • Solving a different problem from the one thought to be at hand could result in a superior solution.

  • Always ask yourself:

    • What is the real problem we are trying to solve?

    • Can I solve a different problem that is easier or cheaper and get a result that is equivalent or superior?

  • This process can be difficult but can also be very rewarding in the end.

    • It takes time and practice to do this effectively.


Artificial intelligence tips solve the right problem52 l.jpg
Artificial Intelligence Tips:Solve the Right Problem

Screen shot from The Sims. To solve one problem (“How can Sims locate and identify game objects to satisfy their needs?”), Will Wright actually solved the real problem (“How do I get the Sims to behave intelligently?”).


Techniques for artificial intelligence in games l.jpg
Techniques for Artificial Intelligence in Games

  • There are many different techniques used for providing artificial intelligencein games.

    • Most techniques come from mainstream work in artificial intelligence.

  • These techniques typically include:

    • Search techniques

    • Rule based systems (finite state machines, decision trees, and production rule systems)

    • Game theory and game trees


Techniques for artificial intelligence in games54 l.jpg
Techniques for Artificial Intelligence in Games

  • Techniques used also include:

    • Artificial life and flocking techniques

    • Planning techniques

    • Fuzzy logic

    • Scripting

  • There are many other mainstream approaches that are not used in practice very much yet, but that is changing.

    • This includes neural networks, genetic algorithms, belief networks, and so on.


Search techniques l.jpg
Search Techniques

  • Search techniques are used to serve a variety of functions in game artificial intelligence.

    • Navigation and pathfinding.

    • Constructing action plans (more later).

    • And so on.

  • These techniques are suitable for both:

    • Non player character control.

    • Control of player characters not being directly controlled by the player themselves.


Search techniques56 l.jpg
Search Techniques

Screen shot from Starcraft. Starcraft requires navigation and pathfinding for

directing both player and non player characters around game levels.


Search techniques navigation without obstacles l.jpg

Without obstacles, navigation is a simple matter of determining which direction you need to go in to reach your objective.

Some simple algebra will do the trick.

If your movement directions are limited, pick the closest to the calculated result.

Search Techniques: Navigation without Obstacles

y

Start (x1,y1)

Goal (x2,y2)

x

Direction = (x2-x1,y2-y1)


Search techniques navigation without obstacles58 l.jpg
Search Techniques: Navigation without Obstacles determining which direction you need to go in to reach your objective.

Screen shot from Double Dragon. Navigation in this case can be quite simple,as there are no obstacles for non player characters to avoid. They just needto home in on the player and attack. (In later levels, there are obstacles,but it is obvious that the AI did little or no pathfinding around them!)


Search techniques navigation without obstacles59 l.jpg
Search Techniques: determining which direction you need to go in to reach your objective.Navigation without Obstacles

  • The same approach can also be used for aiming the shots of projectile weapons.

  • With this however, you would also want to compensate for:

    • Motion of the target (velocity and acceleration)

    • Motion of the shooter (velocity and acceleration)

    • Motion of the projectile (acceleration, maximum velocity, friction, wind resistance, gravity, and so on).

  • Depending on the skill of the shooter, you can tune how much compensation is actually done, and add random deviation to the chosen direction to avoid a perfect shot every time.


Search techniques navigation with obstacles l.jpg
Search Techniques: determining which direction you need to go in to reach your objective.Navigation with Obstacles

  • This problem is significantly more complex than the case without obstacles.

    • We now need our artificial intelligence to route characters around obstacles.

  • The path selected must meet several criteria:

    • It must be as short as possible, or the least costly, depending on the situation.

    • It must look realistic and make sense to select the path chosen.

    • It must be selected in a reasonable amount of time without consuming too many scarce game resources.


Search techniques navigation with obstacles61 l.jpg
Search Techniques: determining which direction you need to go in to reach your objective.Navigation with Obstacles

  • A leading approach to doing this is known as the A* or heuristic search.

  • There are several components to an A* search:

    • A map (or graph) that A* uses to find a path between two positions. Maps are composed of nodes that are connected if a direct path between the nodes exists.

    • A cost associated with each direct connection between map nodes.

    • A heuristic used to estimate the cost between two map nodes that are not directly connected. It must be an admissible heuristic that does not overestimate the cost.


Search techniques navigation with obstacles62 l.jpg
Search Techniques: determining which direction you need to go in to reach your objective.Navigation with Obstacles

  • Each map node has three values associated with it:

    • g: The cost to get from the start node to this node.

    • h: The estimated cost from this node to the goal node.

    • f: The sum of g and h; representing our current best guess of the cost of the path going through this node.

  • A* maintains two lists of nodes: an Open list, of nodes currently being explored, and a Closed list, of nodes that have been completely explored.


Search techniques navigation with obstacles63 l.jpg
Search Techniques: determining which direction you need to go in to reach your objective.Navigation with Obstacles

The A* algorithm:

  • Let S be the starting point.

  • Compute g, h, and f for S.

  • Add S to the empty Open list.

  • Let B be the node from the Open list with the lowest f value.

    • If B is the goal G, quit with success.

    • If the Open list is empty, quit with failure.

  • Let C be a node connected to B.

    • Compute g, h, and f for C.

    • If C is on the Open or Closed list, check if the new path is better with a lower f value, and update if necessary.

    • Otherwise, add C to the Open list.

    • Repeat 5. for all connections, then add B to the Closed list.

  • Repeat from 4.


Search techniques navigation with obstacles64 l.jpg
Search Techniques: determining which direction you need to go in to reach your objective.Navigation with Obstacles

  • There are many extensions to A*:

    • Terrain based A* that has variable costs based on different types of terrain.

    • Hierarchical A* to optimize paths for aesthetics.

    • Tactical A* to select paths based on certain strategies (avoiding enemy detection, to gain superior firing positions, and so on).

    • Dynamic A* that compensates for obstacle and goal movement throughout the map.

  • There are also many other search algorithms besides A* that are also effective.


Search techniques navigation with obstacles65 l.jpg
Search Techniques: determining which direction you need to go in to reach your objective.Navigation with Obstacles


Search techniques navigation with obstacles66 l.jpg
Search Techniques: determining which direction you need to go in to reach your objective.Navigation with Obstacles

  • A* can be expensive to compute, so we need to make some optimizations.

    • The best way is to simplify the search space as much as possible.

    • Use hierarchical pathfinding as much as possible, as it simplifies the search space.

    • Make sure a good heuristic cost is used.

    • Cautiously overestimate the heuristic cost, but you must be careful with this.

    • Preallocate as many search resources as possible.

  • Sometimes this is not the best approach …


Search techniques navigation with obstacles67 l.jpg
Search Techniques: determining which direction you need to go in to reach your objective.Navigation with Obstacles

  • An alternative approach is to use precomputed navigation meshes.

    • An invisible mesh is used to represent all of the valid environment locations that can be occupied by game characters.

    • This mesh can be traversed in an incredibly efficient fashion using a variety of algorithms to control character movement.

    • Objects of use to characters can be placed along the mesh and searched for in an efficient fashion.


Search techniques navigation with obstacles68 l.jpg
Search Techniques: determining which direction you need to go in to reach your objective.Navigation with Obstacles

  • Navigation meshes can be used to facilitate what would seem to be very complex and intelligent behaviour.

    • Special points can be placed throughout the mesh, along with special links, indicating other actions can be successfully executed from those locations.

  • This can be used to support jumping, crouching, crawling, diving, climbing, and a variety of other seemingly intricate behaviour with little or no additional effort.

    • It makes characters seem smarter, but the smarts are part of the levels, not the artificial intelligence.


Search techniques navigation with obstacles69 l.jpg
Search Techniques: determining which direction you need to go in to reach your objective.Navigation with Obstacles

Screen shot from the Unreal Tournament 2003 editor. Paths and path nodesare added to ensure that bots can navigate the environment. If they areabsent, the bots will not be able to move around and will get lost.


Rule based systems finite state machines l.jpg
Rule Based Systems: determining which direction you need to go in to reach your objective.Finite State Machines

  • Finite state machines are simple and effective approach to game artificial intelligence.

    • States represent the different game situations a character can face.

    • On the occurrence of certain events, or with the passage of time, the character will take certain actions and will change to a new state. The new state can either be a different state or the same one.

  • By encoding the appropriate events and actions in this fashion, state machines provide considerable power with little complexity.


Rule based systems finite state machines71 l.jpg
Rule Based Systems: determining which direction you need to go in to reach your objective.Finite State Machines

Opponent sighted in range

Choose weapon, aim, and fire

Not dead yet?

Keep shooting

Running

Shooting

Opponent dead

Go look for more

Out of ammunition

Commence search

Hit jump point

Start jumping

Done

Go backto runsome more

Searching

Jumping

Simplified Finite State Machine

for a First Person Shooter AI


Rule based systems finite state machines72 l.jpg
Rule Based Systems: determining which direction you need to go in to reach your objective.Finite State Machines

  • There are also several extensions to the finite state machine approach:

    • Hierarchical finite state machines allow states to be decomposed into their own separate finite state machines capable of implementing the parent state.

    • Nondeterministic finite state machines allow multiple transitions on the same input event to different states. This can be used to add unpredictability to actions taken in a clean and consistent fashion. Weights can be added to tune the probability that the various transitions will be selected.

    • Many more useful extensions exist.


Rule based systems finite state machines73 l.jpg
Rule Based Systems: determining which direction you need to go in to reach your objective.Finite State Machines

Been shot at

Return fire

Running

Shooting

Been shot at

Evasive maneuvers

Been shot at

Start jumping frenzy

Dodging

Jumping

Nondeterministic Finite State Machine

for a First Person Shooter AI


Rule based systems decision trees l.jpg
Rule Based Systems: determining which direction you need to go in to reach your objective.Decision Trees

  • Decision trees are another approach to artificial intelligence.

    • They are essentially complex “if-then” conditionals organized as a tree.

    • Decisions based on a set of inputs are made by starting at the tree’s root and, at each node, selecting the next child node to visit based on the values of the inputs.

    • The leafs of the tree contain the actions to take if tree traversal reaches the leaf.

  • A variety of algorithms like ID3 and C4.5 can be used to construct such trees.


Rule based systems decision trees75 l.jpg
Rule Based Systems: determining which direction you need to go in to reach your objective.Decision Trees

Am I being shot at?

Yes

No

Is it a gun or grenade?

Is an enemy in range?

Gun

Grenade

Yes

No

Aim and shoot!

Can one be found?

Strafe to dodge

Jump to dodge

No

Yes

Go after it

Get moreammunition

A Simplified Partial Decision Tree for a First Person Shooter.


Rule based systems production systems l.jpg
Rule Based Systems: determining which direction you need to go in to reach your objective.Production Systems

  • Production systems are essentially a database of rules.

    • Each rule consists of an arbitrarily complex conditional statement, and a set of actions to execute if the conditional is satisfied.

  • Production systems are basically lists of “if-then” statements, with various conflict resolution mechanisms available in case more than one rule is satisfied at the same time.


Rule based systems production systems77 l.jpg
Rule Based Systems: determining which direction you need to go in to reach your objective.Production Systems

  • Some example rules for a production system for a First Person Shooter:

    Enemy sighted

    Aim and shoot at enemy

    Out of ammunition

    Launch search for more ammunition

    Being shot at

    Execute evasive actions


Game theory and game trees l.jpg
Game Theory and determining which direction you need to go in to reach your objective.Game Trees

  • Some games can be thought of and treated as search problems quite effectively.

    • The different possible game states are represented in a tree-like fashion. Different moves in the game trigger transitions from a parent state to its children states below.

    • This tree is searched starting from its root (the current game state) to locate a game outcome resulting in a victory or the highest possible score for the player.

    • The set of tree nodes traversed indicates the set of moves required to result in this situation.


Game theory and game trees79 l.jpg
Game Theory and determining which direction you need to go in to reach your objective.Game Trees

Current Position

A1

A2

A3

3

2

4

Ply 1

A11

A12

A13

A21

A22

A23

A31

A32

A33

Ply 2

3

12

8

2

4

6

14

5

2

A sample game tree for a game. After white explores two plies of moves ahead,

its best move would be A1, to which yellow would respond with A11 for a valueof 3. If white made a different move, it would end up with a value of 2.


Game theory and game trees80 l.jpg
Game Theory and determining which direction you need to go in to reach your objective.Game Trees

  • This approach can be very time consuming to explore and evaluate the various plies of possible moves.

    • It is usually impossible with most games to fully explore all of the possibilities.

  • Often, different approaches need to be used to improve overall efficiency.

    • Take advantage of opponent think time to explore additional plies.

    • Prune the tree whenever possible to reduce the number of possible moves to evaluate.

    • Apply game-specific heuristics to be selective during the process of exploration. For example, in chess, spend extra time exploring queen-capturing moves.


Game theory and game trees81 l.jpg
Game Theory and determining which direction you need to go in to reach your objective.Game Trees

Screen shot from CompuChess. Games like Chess and Go frequently make use of game trees. They can be applicable elsewhere too … imagine a fighting game that has planned moves and counter moves several plies deep!


Artificial life and flocking techniques l.jpg
Artificial Life and determining which direction you need to go in to reach your objective.Flocking Techniques

  • Artificial life refers to systems of multiple artificial intelligence agents that attempt to apply some properties of living systems to themselves in a virtual world.

    • For example, the agents can be given a variety of basic needs that they must fulfill. Fulfilling these needs typically requires other needs to be met, and often leads to other needs as well.

  • Games such as SimCity and the Sims use these techniques to provide very interesting and entertaining gameplay.


Artificial life and flocking techniques83 l.jpg
Artificial Life and determining which direction you need to go in to reach your objective.Flocking Techniques

Screen shot from The Sims. The Sims makes use of artificial life techniques

extensively. For example, Sims feel hungry after a while and will do what they can to satisfy that need, which can lead to complex behaviours.


Artificial life and flocking techniques84 l.jpg
Artificial Life and determining which direction you need to go in to reach your objective.Flocking Techniques

  • Flocking is a subset of artificial life to regulate and direct group behaviour.

  • Such systems employ the following general rules of flocking behaviour:

    • Separation: steer to crowding local flockmates.

    • Alignment: steer toward the average heading of local flockmates.

    • Cohesion: steer to move toward the average position of local flockmates.

    • Avoidance: steer to avoid running into local obstacles or other terrain features.

    • Survival: steer to meet basic needs as necessary or to avoid danger if a predator seen.


Artificial life and flocking techniques85 l.jpg
Artificial Life and determining which direction you need to go in to reach your objective.Flocking Techniques

Screen shots from several flocking

Programs with different behaviours.


Planning techniques l.jpg
Planning Techniques determining which direction you need to go in to reach your objective.

  • Planning techniques are an extension of search methods that emphasize the subproblem of finding the best sequence of actions to achieve a particular result.

    • Start with an initial game world state.

    • Also start with a precise definition of the consequences of each possible action.

    • Planning then moves forward from the start, or backwards from the desired result to discover the sequence of actions required.

  • Such techniques have met with some success.


Planning techniques87 l.jpg
Planning Techniques determining which direction you need to go in to reach your objective.

Screen shot from Warcraft III. Game artificial intelligence must formulate

complex plans in building units and structures, due to their dependencies.

(Other techniques could have been used for the same result.)


Fuzzy logic l.jpg
Fuzzy Logic determining which direction you need to go in to reach your objective.

  • Fuzzy logic uses real-valued numbers to represent degrees of truth or set membership as opposed to the Boolean (true or false) values of traditional logic.

  • Fuzzy logic techniques allow for more expressive reasoning and more richness and subtlety than traditional logic.

    • They more accurately capture situations in which things are not either black or white.

    • More often than not, things are shades of grey.


Fuzzy logic89 l.jpg
Fuzzy Logic determining which direction you need to go in to reach your objective.

Screen shot from Grand Theft Auto. Fuzzy logic is good for modeling trafficbehaviour with multiple autonomous drivers in a game such as this

to control braking, steering, and acceleration to avoid accidents.


Scripting l.jpg
Scripting determining which direction you need to go in to reach your objective.

  • Game artificial intelligence does not need to spontaneously think up every behaviour performed in a game.

    • A combination of dynamic and scripted behaviours often works best.

  • If the game designer can make assumptions as to what is happening in the game, scripted behaviour can be used quite effectively.

    • For example, if a player is forced to enter a room from a certain direction, scripting can be used to provide an interesting challenge to the player.


Scripting91 l.jpg
Scripting determining which direction you need to go in to reach your objective.

  • When setting up scripts, the level designer must be involved.

    • This way scripts can be written so that characters can take advantages of level features, such as hiding places, ambush locations, and game items.

  • The game must also be able to detect when a scripted plan is not working out.

    • It must switch to another script, or attempt some kind of unscripted action.

  • Avoid predictability and ensure reactivity.

    • Select scripts randomly, depending on the situation.

    • Keep scripts short, and use them as building blocks.

    • Try to build scripts that only provide hints of actions.


Scripting92 l.jpg
Scripting determining which direction you need to go in to reach your objective.

Screen shot from Half-Life. This game was widely praised for the strength of

its artificial intelligence. In fact, what was perceived as intelligence was doneusing scripted paths that game characters would follow in certain situations.


ad