Sports Games AI CSE 348 Daniel Phillips Dan Ruthrauff Intro • • Video game AI primarily focuses on RTS and FPS genres Sports games offer unique challenges o o o Meeting player's expectations Minimizing cheating Larger scale coordination Traditional Sports Games • Object-oriented architecture • Set number of players and a ball o • Create teams and behave within a set of rules Players have predetermined behaviors o Distinct starting and ending points, with clear transitions between behaviors Traditional Sports Games • Entirely event driven o • No need for complex pathfinding etc. Every traditional sport has a "starting event" o Baseball = Ball Hit o Football = Snap o Hockey = Puck Dropped • For these reasons, AI can be controlled by Finite-State Machines and Transition Tables Baseball • Good study in AI o Based on percentages, risks, and expected behavior • Divided into three areas: o o o Fielding Baserunning Batting / Pitching Baserunning • Only two basic behaviors o Running or not running • Mapped into more complex behaviors Go - head to next base o Go Back - complement of Go o Watch - wait for conditions to be met o Freeze - Stop moving o Go Halfway - Default assumption for fly ball o Turn and Go - Round the base and continue to next o Turn and Look - Round the base but don't Go o Fielding • Behaviors triggered by one of two events: o • o On Ball Hit, players are assigned one of four behaviors based on ball's trajectory o o o • Ball Hit Ball Fielded o Field Ball Cover Base Cutoff Backup Seems simple, but fielding is more complicated to implement than baserunning Fielding • On Ball Fielded Event o o Players without the ball naturally transition to other behaviors if needed 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 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 o Cheating • Defined as giving the agents access to information that would be unavailable to the player in the same situation o • ex - Madden knowing your plays Can also apply to when the computer follows different "rules" than the player o o ex - Unlimited boost in racing games 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 player o 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 up o o • Computer controls the outcome of "random" events FIFA Computer violates rules that user must follow NBA Jam Most common in racing games o o Losing cars get a speed boost Winning cars get a penalty Rubber Band AI example code History of AI in Madden • • Original Madden - Madden '93 o Madden '95 o • Play calling overhauled and now mimicked actual decisions made in the NFL Madden '96 o • Predictable and limited play calling Introduction of multiple skill levels Passing and running still highly unbalanced o o Poor defensive AI made it easy to pass Poor offensive blocking AI made it difficult to run History of AI in Madden • Madden '97 Running issue resolved, but AI still lacking o Possible to win by only using one or two plays o • Madden '98 o • • Defense now counters the same play if it is called multiple times in a row Madden '99 o Huge improvement in defensive AI o Fans of the series complained the AI was "too good" Madden '00 o Customizable AI Cheating in Madden • Unexplainable comebacks in 4th quarter o o • • • Fumble when taking a knee to run the clock 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 levels o 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 mechanics Increases CPU's reaction time, awareness, and frequency of recalculating factors o Admit to increasing the CPU team's attributes o • 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 sliders o • • 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 development o 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 Spline • 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 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 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 Examples Possible Options For 1 <Time on clock> <Formation or Strategy> 1 2 3 Commentary Examples Possible Options For <Play by Play> 2 1 2 3 Commentary Examples Possible Options For 3 <Play by Play> <Player Statistic> <Team Statistic> 1 2 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