5/18/20151 Team Sport AI CIS 479/579 Bruce R. Maxim UM-Dearborn.

Slides:



Advertisements
Similar presentations
Northern Ontario Hockey Association
Advertisements

STRUCTURES & STRATAGIES
BROWNSBURG BASKETBALL
FLOOR HOCKEY WILLIAMSBURG PHYSICAL EDUCATION MR. WITTE.
Hockey. Point awarded to a player or players for helping set up a goal; usually the last two offensive players to handle the puck prior to a goal being.
THE PASSING GAME General 1.A pass is the result of throwing the ball, a deliberate act in which the ball leaves the passer ’ s hands and travels in flight.
Giving A Foul SITUATIONS WHERE WE WANT TO FOUL 1.At the end of the first half when we have fouls to give before entering putting the opponent in the single.
Positions Goalkeeper: Keeps the ball out of the goal and organizes team defense. Uses hands and arms within the penalty area. Possesses sure hands to.
Field Setup Field Setup (5 stations) Separate large field into three equal “stations” using cones, and small field into two equal “stations” using cones.
Soccer Study Guide.
Soccer.
The “Routine” In Action A Typical Practice Be Punctual –Arrive Early –Have the Field Set Up and Ready to go Before Players Arrive.
Clubs Formation U9 age group. S WW CD GK Formation Wide CM.
Field Setup Field Setup (6 stations) Separate large field into four equal “stations” using cones, and small field into two equal “stations” using cones.
Please see this weeks session overleaf; themed this week around Marking & Intercepting. You may (if you haven’t already) want to consider: 1.The game (in.
Artificial Intelligence in Game Design Hierarchical Finite State Machines.
Structures & Strategies S3 Netball
Defending – 1’s, 2’s, 3’s & 4’s Defending can sometimes be overlooked by coaches or when braved it can appear sterile, over-organised and/or where the.
European Handball.
Alexandria Soccer Association U9-U12 Curriculum: Unit 1
Floor Hockey.
Click to add text You Make the Call Questions from the FIFA Q & A, 2005 ed.
Please see this weeks session overleaf; themed this week around Receiving to Shoot. You may (if you haven’t already) want to consider: 1.The game (in the.
Warm-ups (15-20 min) Setup:
Football Quiz Game What You Know About The Beautiful Game Of Football Group Members : Ricardo Davis Jermaine Thompson Sanjay Douglas.
Some of the Basic Rules of Girl's Lacrosse The Game: Girls' lacrosse combines individual skills and team performance. Keeping possession is integral to.
Types of Games. There are 4 main divisions of games: Net/ Wall – badminton, volleyball, tennis, pickleball … Striking/ Fielding – softball, cricket …
1.1 ball between two 2.4 marker cones (10x10m) 3.2 Lacrosse stick per pair equipment 1.Explore dodging 2.Improve through split dodge – change of hands.
TEAM HAND BALL.
1 GK Power/Finesse Set up is a goalkeeper protecting a full size goal, a coach with a supply of balls on the goal line, and a line of shooters behind a.
AND HAVE fun!!!. Aim: To score the most goals Number of Players: 7 including a Goal keeper Scoring: A goal is scored when the ball enters the goal Commencing.
Simple Soccer GAM 376 Robin Burke Fall 2006.
Team Handball.
Principles of Play The game of soccer is best understood and played when strategy and tactics are based upon certain principles.
Warm-ups (15-20 min) Setup: Designate 3-5 players as caterpillars, depending on size of group (give pinny to wear) These players tag the other players.
TRAINING DRILLS There are many types of fitness, but which one is best for soccer? Speed? Stamina? Agility? Strength? Speed, is needed to out sprint a.
Artificial Intelligence for Games Lecture 2.  2D sports simulation (no interactive player)  2 teams (“red” and “blue”)  5 autonomous agents per team.
Shaping Game Play in Handball
Piedmont Girls Soccer “There is no “I” in team but there is in win” ~ Michael Jordan.
Playing.. Place equally skilled players together in the same group. Have 2 groups per grid so one group is resting while the other group is active. Place.
Piedmont Girls Soccer. Parts of the Field 1.Endline 2.Goal 3.Goal Box 4.Penalty Box 5.Corner 6.Sideline 7.Center Circle 8.Halfway Line.
Artificial Intelligence in Game Design Complex Steering Behaviors and Combining Behaviors.
TEAM HANDBALL History: Created in Germany in 1890’s for the training of gymnasts. Two versions: 11 man outdoor game and a 7 man indoor game. The indoor.
U9/10 Winter Training Week 7 Attacking 1v1 DiagramOrganizationCoaching Points 4v4 Scrimmage Unrestricted Free play first minutes Everyone with a.
Lacrosse 101. What is lacrosse? Lacrosse is a full contact sport played using a stick with a net on the end, called a crosse, which consists of usually.
Restarts 1. Topics Kick-Off Throw-In Goal Kick Corner Kick Dropped Ball Free Kick – Direct – Indirect – Penalty 2 Restarts when ball is out of play Restarts.
Coaching Pack 9 – 11 Years. What Am I Coaching Today? What Might the Players Learn or Get Better at? TechnicalPsychological example PhysicalSocial example.
Elmhurst Youth Lacrosse Coach’s Guide:  Basic Rules  Skills & Drills  Motion Offense  Defense (M2M & Zone)
End Zone Positioning Northern Ontario Hockey Association.
J. seiler 12/20021 Tournament Rules that seem note worthy to mention. 7 V 7 games. 45 Minute Games – No half time? Kick off can be played in any direction.
Formation U13 age group. Game Positions CC United has a different shape at the U9,11 and U13 age groups. The team shape expands and covers as much as.
Soccer Drill Practice Cards This PowerPoint contains 16 soccer drill practice cards. Once printed and cut out, each 3X5 card contains detailed instructions.
In the zone defense – defensive and move to counterattack
Basketball. History Gameplay Basic Rules Offense Techniques Defense Court and Positions Vocabulary.
Baseball Challenge! Team Sports Final Exam Practice.
NETBALL – Chest Pass  Technique  Flat pass  Both hands behind the ball in ‘W’ shape  Elbows down and push ball directly and hard at team mate  When.
GK LD S1 S2 RD CD STAY HOME WIN BALLS IN THE AIR CUT THE THRU BALL NO BREAKAWAYS PROVIDE A DROP PIVOT WHEN ON OFFENSE STAYS HIGH AND STRETCHES THE FIELD.
SESSION PLAN PRESENTATION
SESSION PLAN PRESENTATION
Soccer Most popular game in the world. Oldest known team sport.
Simple Soccer GAM 376 Robin Burke Winter 2008.
FLOOR HOCKEY.
Soccer.
Matthew Brown A Level: Physical Education Sports Coaching Unit
Chasing Cars How to play Players are in pairs – “cars”
Rondo’s and Rhythm of play
Soccer Notes.
FLOORBALL Introduction
Soccer.
Presentation transcript:

5/18/20151 Team Sport AI CIS 479/579 Bruce R. Maxim UM-Dearborn

5/18/20152 Game Objects Soccer pitch Two goals One ball Two teams Eight field players Two goalkeepers

5/18/20153 SoccerPitch.h Rectangular playing area enclosed by walls Contains pointers to ball, two teams, and two goals Pitch is divided into 18 regions (3 by 6) numbered 0 to 17 Each player assigned to a home region at start of play and after each goal Player regions change during play to implement team strategy (e.g. push forward on attack)

5/18/20154 SoccerPitch.cpp The main game loop calls Update and Render each iteration The corresponding Update methods for the team and ball objects are called The appropriate Render methods are called to draw new images of the pitch, ball, and team formations are call

5/18/20155 Goal.h Goals are defined by a left goal post, a right goal post, and a scoring direction Basically used to check for ball crossing between goal posts Resets player positions and indicates a scoring change to be processed elsewhere

5/18/20156 SoccerBall.h Derived from MovingEntity Contains data members for updated ball position, player possessing the ball, and local wall boundaries Contains additional methods for –Kicking the ball –Testing for collisions with objects (not players) –Calculating future ball positions

5/18/20157 SoccerBall.cpp FuturePosition –Calculates future ball position applying a frictional constant using the usual formula TimeToCoverDistance –Time to travel from point A to point B given the amount of force applied to ball

5/18/20158 AI Design Two player types (goalkeeper, field player) derived from PlayerBase All players make use of reduced version of SteeringBehaviors class The SoccerTeam and players classes make use of the StateMachine class to implement tiered AI (common to RTS games) Players can send messages (telegrams) to each other, but not the entire team

5/18/20159 SoccerTeam Contains pointers to pitch, home goal, opponent goal, team players, opponent players, and key players –Receiving player –Closest player to ball –Controlling player –Supporting player (moves to spot determined by calculating the best support spot based on goal scoring potential)

5/18/ Team States Prepare for kick off –Players sent to home regions, sets key player pointers to NULL, state change to defending Defending –Players move to regions closer to home goal, when ball regained state changes to attacking Attacking –Some players advance to regions closer to opponent goal, best support spot determined, pass or shot, when ball lost state becomes defending

5/18/ Field Players Derived from same base class Come in two flavors, attackers and defenders Player motion is velocity aligned Motionless players turn to face the ball (as a human player might) Players use the arrive, seek, and pursuit behaviors to help them chase the ball (these behaviors turned on in state Enter method and turned off in Exit method)

5/18/ Field Player States GlobalPlayerState Wait ReceiveBall KickBall Dribble ChaseBall ReturnToHomeRegion SupportAttacker

5/18/ Player Messages Msg_SupportAttacker –Sent by controlling player to move pass receiver Msg_GoHome –Return to home region Msg_ReceiveBall –Sent to receiving player when pass is made Msg_PassToMe –Sent to controlling player from potential scoring player Msg_Wait –Player should hold position

5/18/ ChaseBall State Player will seek ball’s current postion and try to get in kicking range and is able change state to KickBall Remains in this state as long as player is closest team member from ball

5/18/ Wait Tries to maintain position, even if bumped out of position by another player If upfield from controlling player player will call for a pass, if pass can be made player changes state to receive the ball If waiting player becomes closest to ball, it will change state to chase ball

5/18/ Receive Ball At most, only one player on a team may be in this state The receiving player sets steering to the target position for pass Both arrive and pursuit can be used to approximate the most believable behavior to intercepting the ball trajectory

5/18/ Kick Ball Implements the logic for passing or shooting on opponent goal If player cannot pass or shoot, state change to dribble is made Player cannot remain in KickBall state for more that one update cycle State entered when player comes within kicking distance of the ball, steering used to intersect ball position Player moves to wait state after kick

5/18/ Dribble Teammates notified that controlling player is moving the ball May need to turn ball to move toward opponent goal Player makes small kick and changes state to chase ball Continues until pass or shot is possible

5/18/ Support Attacker First action by controlling player is to find potential support player and send a message SupportSpotCalculator determines which player to change state On entering the state, the arrive behavior is switched on and steering behavior directed toward location of BSS If a safe pass can be made the state will move to receive pass

5/18/ Goalkeeper States GlobalKeeperState TendGoal ReturnHome PutBallBackInPlay InterceptBall

5/18/ Tend Goal Keeper move laterally across goal mouth trying to keep body between goal and ball Relies on the interpose behavior If ball is close to keeper state changes to put ball back in play If ball is in intercept range state changes to intercept ball If keeper to too far from goal after intercept and return to tend goal stay change to return home will be made

5/18/ Return Home Steers goalkeeper toward home region When home region reached state or opponents gain control of the ball changes to tend goal state

5/18/ Put Ball In Play When keeper gains possession of ball it enters this state Keeper announces this fact to team and players return to their home regions Once a player is in position to receive a clean pass a message is sent to let the player know that the ball is one the way and state changes to tend goal

5/18/ Intercept Ball If opponent with ball enters threat range keeper will use pursuit behavior and move toward the ball Monitors distance from its home goal and may change state to return home if “too far” from goal If ball is out of goal range and keeper is closest player keeper continues after the ball

5/18/ SoccerTeam:: isPassSafeFromAllOpponents Method used to determine if ball trajectory from point A to B can be intercepted by any opponent player for proposed kicking force Assumes ball can be kicked harder than closest player’s maximum speed Opponent’s farther away from target than intended receiver can also be ignored Best interception opportunity will be for player running perpendicularly to ball trajectory using bounding circle (or ellipse) approach

5/18/ SoccerTeam::CanShoot Player in possession of ball queries CanShoot Selects a number of random positions in front of the goal mouth and tests them for shot without interception by any opponent

5/18/ SoccerTeam::FindPass Called by player to see if pass to teammate is possible If so pick best teammate and target position by trying each teammate one at a time using GetBestPassToReceiver Parameters: passer, pass target, kicking force, minimum distance for receiver Returns receiver and target location

5/18/ SoccerTeam:: GetBestPassToReceiver Examines several positions around potential receiver to find safe passing target Returns best target location and a Boolean indication whether location is safe Takes vision range into account as well as distance from passer and receivers lateral range of motion

5/18/ Estimates and Assumptions Don’t want perfect AI behavior, so using estimates and heuristics is better than using exact physics modeling You could do perfect calculations and dumb down the AI (systematic errors or random noise) You could make some assumptions that prevent perfect play (bounding circles rather ellipses that take turning time into account)