52
Sports Games AI CSE 348 Daniel Phillips Dan Ruthrauff

Sports Games AI CSE 348 Daniel Phillips Dan Ruthrauff

Embed Size (px)

Citation preview

Sports Games AICSE 348

Daniel PhillipsDan Ruthrauff

Intro

• Video game AI primarily focuses on RTS and FPS genres

• Sports games offer unique challenges o Meeting player's expectationso Minimizing cheatingo Larger scale coordination

Traditional Sports Games

• Object-oriented architecture

• Set number of players and a ballo Create teams and behave within a set of rules

• Players have predetermined behaviorso Distinct starting and ending points, with clear

transitions between behaviors

Traditional Sports Games

• Entirely event driveno No need for complex pathfinding etc.

• Every traditional sport has a "starting event"o Baseball = Ball Hito Football = Snapo Hockey = Puck Dropped

• For these reasons, AI can be controlled by Finite-State Machines and Transition Tables

Baseball

• Good study in AIo Based on percentages, risks, and expected

behavior

• Divided into three areas:o Fieldingo Baserunningo Batting / Pitching

Baserunning

• Mapped into more complex behaviorso Go - head to next baseo Go Back - complement of Goo Watch - wait for conditions to be meto Freeze - Stop movingo Go Halfway - Default assumption for fly ballo Turn and Go - Round the base and continue to

nexto Turn and Look - Round the base but don't Go

• Only two basic behaviorso Running or not

running

Fielding

• Behaviors triggered by one of two events:o Ball Hito Ball Fielded

• On Ball Hit, players are assigned one of four behaviors based on ball's trajectoryo Field Ballo Cover Baseo Cutoffo Backup

• Seems simple, but fielding is more complicated to implement than baserunning

Fielding

• On Ball Fielded Evento Players without the ball naturally transition to

other behaviors if neededo Player with the ball decides what to do with it

ex - Throw Ball or Run With Ball

Initial Behavior Assignment - Fielders

• Ball's flight is 100% predetermined o Only need the initial velocity vector

• Calculate hit type and zone based on the flight path

• Map a set of behaviors to each hit type and zone pair

• The rules get each teammate working towards a common goal

• How the rules are implemented determines how "smart" the AI appears

Cheating

• Defined as giving the agents access to information that would be unavailable to the player in the same situationo ex - Madden knowing your plays

• Can also apply to when the computer follows different "rules" than the playero ex - Unlimited boost in racing gameso Does not apply to computer's inherent

advantages

Cheating

• Common in older games, but is generally discouraged now and recent advances in AI attempt to minimize cheating

• Some degree of cheating can be acceptable if it's not painfully obvious to the playero Obvious cheating = bad reviews!

"0/10 WOULD NOT PLAY"

Rubber Band AI

• The more you're winning at a game, the harder the game gets to maintain a challenge

• Accomplished most often in sports AI by cheating to catch upo Computer controls the outcome of "random"

events FIFA

o Computer violates rules that user must follow NBA Jam

• Most common in racing gameso Losing cars get a speed boosto Winning cars get a penalty

Rubber Band AI example code

History of AI in Madden

• Original Madden - Madden '93o Predictable and limited play calling

• Madden '95o Play calling overhauled and now mimicked

actual decisions made in the NFL

• Madden '96o Introduction of multiple skill levels

• Passing and running still highly unbalancedo Poor defensive AI made it easy to passo Poor offensive blocking AI made it difficult to

run

History of AI in Madden

• Madden '97o Running issue resolved, but AI still lackingo Possible to win by only using one or two plays

• Madden '98o Defense now counters the same play if it is

called multiple times in a row

• Madden '99o Huge improvement in defensive AIo Fans of the series complained the AI was "too

good"

• Madden '00o Customizable AIo Most significant update out of any Madden

release

Cheating in Madden

• Unexplainable comebacks in 4th quartero Fumble when taking a knee to run the clocko Computer opponent breaking five or more

tackles for the game winning touchdown

• Bad luck or forced events?o No good way to prove either argument

• Highly debated until producers of Madden debunked the claims of "comeback cheating"o More aggressive play calling

• Controversy surrounding this demonstrates the importance of fair AI to the players

Cheating in Madden

• One undeniable method of cheating is Madden's "quick and dirty" difficulty levelso Harder difficulties increase the computer

player's physical attributes while decreasing the user's attributes

Generally players would rather be defeated by a smarter AI at higher

difficulties than a physically superior team

Cheating in Madden

• Official response from EA Sports concerning Madden's difficulty mechanicso Increases CPU's reaction time, awareness,

and frequency of recalculating factorso Admit to increasing the CPU team's attributes

• EA claims that "even NFL players feel the game provides an excellent approximation of reality"

Innovations

• Change individual aspects of the game's AI by adjusting sliderso Design a playing experience that they enjoy

• Cheating is easier to detect in sports games, so developers were forced to build strong AI with minimal cheating

• Put the AI at the center of developmento Listen to the users' feedback

Artificial Intelligence in Racing Games• The first racing game was Gran Trak 10 for the

Atari

• Player races alone against the clock

• No AI

Artificial Intelligence in Racing Games• The first racing game with AI was Super Speed

Race

• Scrolling graphics

• The AI was very simplistic

Pole Position• First realistic racing game

• AI opponents that raced against the player

• Pole Position used Spline to control computer racers.

• The opponent follows a preset line and only deviates from the path to pass

• This preset line is hard coded by developers

• This leads to predictable and formulaic behavior

• Video Example

Spline

Super Mario Kart• First game to implement dynamic AI behavior into

the genre

• AI racers had to navigate complex tracks and pick up powerups

• Used path following and obstacle avoidance to create lifelike, competitive opponents

• Video Example

Path Following• Path following allows the AI to follow a series of

preset nodes

• Path following navigates to each node by using the steer method “seek” (this will be explained in a few slides)

• Path following allows for dynamic changes to the path• A racer may see a powerup and decide to go out of

their way to get it instead of following the track.

• Creates fluid movement• Video Example

Obstacle Avoidance• AI racers alter their direction if an obstacle is

blocking their path

• The first step is finding out if an obstacle will be in the way if the racer continues on its current trajectory

• If there are multiple objects in the racers path, the closest object will take precedence and corrective steering will be applied

Obstacle Avoidance• In this figure we see three obstacles: A, B, and C• We can easily see that the racer will collide with

both B and C if left on its current path• Because obstacle B is closest, corrective steering

is applied to the left to avoid it

Obstacle Avoidance• Finding the amount to correctively steer is a multi

step process• First we must compute the amount of time it is

going to take with the current velocity to reach the obstacle

• Then we must decide how much we wish to avoid the obstacle by

• Once we know these two values, we can determine a point in space to navigate to

• This point can then be navigated using a basic steering method called “Seek”

How Seek Works• Seek allows a racer to steer and reach a point

desired_velocity = normalize (position – target) * speed

steering_amount = desired_velocity – current_velocity

Colin Macrae Rally

• Released in 2001, this Colin Macrae Rally (later known as “Dirt”) was the first racing game to use machine learning to develop AI behavior

• Previous racing games implemented sets of rules and techniques to control racers like the previous discussed splines, path following, and obstacle avoidance

Colin Macrae Rally

• Because Dirt featured racing on complex terrain (such as muddy roads, gravel, and other slippery surfaces), the AI designer found it difficult to implement standard car control techniques

• Video Example

Colin Macrae Rally• He decided to try a neural network to model the

behavior of the car

• The final result was a feed forward multilayer perceptron

Colin Macrae Rally

• The inputs were various values that described the cars movement, direction, position, and track terrain

• The outputs were various values that determined how well the car was following the track

Colin Macrae Rally

• The Neural Network was successfully able to design the behavior of the racer despite the complex terrain

• Video Example

Problems with Machine Learning in Racing Games

• The computer learns too well leading to “perfect” racing

• Racing maneuvers such as overtaking and accident recovery are hard to implement with this strategy

Forza Motorsport• Took machine learning in the racing genre to the

next level with Drivatar• Developed by Microsoft’s advanced AI Research

team in Cambridge, England

• AI behavior is trained by humans• Leads to very realistic racing behavior

Drivatar• Uses a neural network• The training sets for the neural network are created

by actual people controlling the cars

• Drivatar allows the AI to learn not only car movement behavior, but also race strategies

• Drivatar succeeds where Dirt’s neural network failed

• Unfortunately, the nitty gritty details of Drivatar are kept a secret as the algorithm is still being used in current versions of Forza

What we do know about Drivatar• Splits racing behavior into three categories

• Turning Control• Speed Control• Racing Strategy

• Each “training lesson” teaches the computer a different category

• Video of Drivatar Turn Training

Commentary AI in Sports Games• A sports game should be as realistic as possible

• Commentary helps immerse the player in the game

• One of the first games to include in game commentary is Madden Football

Commentary AI in Sports Games• Segments of dialog are split up into different categories:

• Different combinations of these segments are threaded together to create coherent sentences that accurately describe the events of the game

Commentary AI in Sports Games

• An event driven algorithm controls dialog

• Each event should have one or more options of dialog attached to it

• The goal is to give the announcer enough choices for each event so that the commentary doesn’t get stale, even after you play the game many times

Commentary Examples• Set of all possible events that can happen in a

corner kick during a soccer game

1

2

3

Commentary ExamplesPossible Options For

<Time on clock> <Formation or Strategy>

1

2

3

1

Commentary ExamplesPossible Options For

<Play by Play>

1

2

3

2

Commentary ExamplesPossible Options For

<Play by Play> <Player Statistic> <Team Statistic>

1

2

3

3

AI Cooperation• In sports games, often times the behavior of

computer controlled teammates can be just as important as the opponents

• Teammates must cooperate with the player

• Cooperation is a challenge because every player has a different style of play

Options for Modeling Teammate Behavior• Maintain a static behavior, forcing the player to

conform to the style of the computer• Static behavior leads to static (and boring) game

play• It can be frustrating if the computer plays a different

way then the player

• Example: NBA Jam• On defense: CPU plays man to man defense at all

times (never zone defense or any other strategy)• On offense: CPU goes towards the basket if you are

outside the three point line and vice versa

Options for Modeling Teammate Behavior• Allows the player to choose various options that

let them customize how the AI behaves• Allows the player to feel like a part of the team• Less frustrating gameplay

• Example: NHL 12• Players can choose offensive and defensive

formations for the team• Players can choose various strategies to be used in

different situations

Customizable Teammate Behavior in NHL 12• Example Formations

• Umbrella

• Behind the net

Customizable Teammate Behavior in NHL 12• Customizable Faceoff Attitudes

• Aggressive – teammates will rush towards the net after the faceoff looking for a pass or rebound

• Conservative – teammates will stay back after a faceoff to prevent a rush