CIS 488/588 Bruce R. Maxim UM-Dearborn

Slides:



Advertisements
Similar presentations
7.2. AI E NGINE AND S TEERING B EHAVIOUR I Design of an AI Engine and introduction to steering in game AI.
Advertisements

7.1. O SCARS & A RTIFICIAL I NTELLIGENCE Interim awards and introduction to game AI.
AI Pathfinding Representing the Search Space
Sonar and Localization LMICSE Workshop June , 2005 Alma College.
Pathfinding Basic Methods.
2.1. C OLLISION D ETECTION Overview. Collision detection is used within many types of application, e.g. from robotics, through engineering simulations,
CSE 380 – Computer Game Programming Pathfinding AI
Week 14 - Monday.  What did we talk about last time?  Bounding volume/bounding volume intersections.
Engineering H193 - Team Project Gateway Engineering Education Coalition P. 1 Spring Quarter 2008 Robot Programming Tips Week 4 Day 2 By Matt Gates and.
1 Motion Planning Algorithms : BUG-family. 2 To plan a path  find a continuous trajectory leading from initial position of the automaton (a mobile robot)
Soldier of Fortune 2: Double Helix Paris York CIS 588.
Autonomous Mobile Robots CPE 470/670 Lecture 8 Instructor: Monica Nicolescu.
CS274 Spring 01 Lecture 5 Copyright © Mark Meyer Lecture V Higher Level Motion Control CS274: Computer Animation and Simulation.
Introduction What is this ? What is this ? This project is a part of a scientific research in machine learning, whose objective is to develop a system,
Steering Behaviors For Autonomous Characters
Chapter 5.4 Artificial Intelligence: Pathfinding.
Software design and development Marcus Hunt. Application and limits of procedural programming Procedural programming is a powerful language, typically.
Crowd Simulations Guest Instructor - Stephen J. Guy.
Multi-Layered Navigation Meshes Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts ICT.OPEN 2011.
Chapter 3 Memory Management: Virtual Memory
Chapter 5.4 Artificial Intelligence: Pathfinding.
Collision and Animation Systems in Games Jani Kajala Lead Programmer / Chief Technology Officer, Pixelgene Ltd (0)
Artificial Intelligence in Game Design Problems and Goals.
1 CO Games Development 1 Week 6 Introduction To Pathfinding + Crash and Turn + Breadth-first Search Gareth Bellaby.
Art 315 Lecture 6 Dr. J. Parker. Variables Variables are one of a few key concepts in programming that must be understood. Many engineering/cs students.
Testing -- Part II. Testing The role of testing is to: w Locate errors that can then be fixed to produce a more reliable product w Design tests that systematically.
Project 6 Tumbling Cube Fri, Nov 21, 2003 Due Mon, Dec 8, 2003.
Boundary Assertion in Behavior-Based Robotics Stephen Cohorn - Dept. of Math, Physics & Engineering, Tarleton State University Mentor: Dr. Mircea Agapie.
Motion Planning in Games Mark Overmars Utrecht University.
1 Distributed and Optimal Motion Planning for Multiple Mobile Robots Yi Guo and Lynne Parker Center for Engineering Science Advanced Research Computer.
Jumping, Climbing, and Tactical Reasoning Section 2.5 Tom Schaible CSE 497 – AI & Game Programming.
Artificial Intelligence in Game Design Complex Steering Behaviors and Combining Behaviors.
CSCI 4310 Lecture 8: Path Planning. Book Buckland Ch. 8.
Scott Lindner 10/6/04 Pathfinding and Navigational Systems, cont.
Artificial Intelligence in Game Design Lecture 8: Complex Steering Behaviors and Combining Behaviors.
Chapter 8 System Management Semester 2. Objectives  Evaluating an operating system  Cooperation among components  The role of memory, processor,
Path Planning Based on Ant Colony Algorithm and Distributed Local Navigation for Multi-Robot Systems International Conference on Mechatronics and Automation.
Designing Intelligence Logical and Artificial Intelligence in Games Lecture 2.
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 1 Chapter 12 Path Planning.
Movement Logical and Artificial Intelligence in Games Lecture 3.
Review IMGD Engine Architecture Types Broadly, what are the two architecture types discussed for game engines? What are the differences?
Introduction to Software Modeling
Chapter 5.4 Artificial Intelligence: Pathfinding
OPERATING SYSTEMS CS 3502 Fall 2017
Game Architecture Rabin is a good overview of everything to do with Games A lot of these slides come from the 1st edition CS 4455.
CS b659: Intelligent Robotics
Complexity Time: 2 Hours.
Hashing Alexandra Stefan.
A Closer Look at Instruction Set Architectures
Hashing Alexandra Stefan.
Artificial Intelligence Lecture No. 5
Introduction to Events
Today: Classic & AI Control Wednesday: Image Processing/Vision
2.1. Collision Detection Overview.
CIS 488/588 Bruce R. Maxim UM-Dearborn
Computer Simulation of Networks
Analysis and Understanding
TECHNICAL POSTER Laser reactant objects Interactive Doors and Saving
Navigation In Dynamic Environment
Designing Intelligence
CIS 487/587 Bruce R. Maxim UM-Dearborn
CIS 488/588 Bruce R. Maxim UM-Dearborn
CIS 488/588 Bruce R. Maxim UM-Dearborn
CIS 488/588 Bruce R. Maxim UM-Dearborn
CIS 488/588 Bruce R. Maxim UM-Dearborn
Hashing Alexandra Stefan.
Games Development Practices Sound Effects
Games Development Game Architecture: Entities
Arrays.
COMP755 Advanced Operating Systems
Presentation transcript:

CIS 488/588 Bruce R. Maxim UM-Dearborn Movement CIS 488/588 Bruce R. Maxim UM-Dearborn 1/3/2019

Environment Structure Detail Parts of game environment that can physically affect movement (e.g. doors) Player cannot simply push these asid Detail Cosmetic parts of the environment that players cannot collide with in a significant way (e.g. books) 1/3/2019

Living Creatures Affect movement during game Often have been forced into either structure or scenery as needed by game designer Other players and NPC’s can be considered obstacles in large crowds It may be best to consider moving creatures as category of their own when considering movement issues 1/3/2019

Defining Space - 1 Human players AI characters Have to assimilate the environment based on imperfect visual information AI characters May get a simplified or incomplete version of the world off line before the game starts (e.g. a list of way points) They may be expected to perceive and interpret the world on-line like humans 1/3/2019

Defining Space - 2 Space is an abstract concept that cannot be fully understood Each representation scheme will involve considerations of design tradeoffs Once an entity has “figured out” space it is possible for the entity to determine which parts can be traversed and which cannot 1/3/2019

Dimensions Some game take place in 2D worlds (Warcraft II) and some in 3D (Half Life) It is important to note the the game world dimensions do not always match its rendering Most academic AI deals with 2D movement algorithms In many cases it is permissible to generalize a 2D movement algorithm to 3D 1/3/2019

Pitfalls 2D to 3D Complex environments may contain widgets (e.g. jump pads) that are rare in a 2d world Naively applying the 2D algorithm without custom tailoring it to the problem at hand Gravity plays a role in realistic environments and should not be ignored 1/3/2019

Space Discrete Continuous Game environment limited cells on a grid using integer coordinates Continuous Have unlimited (real) coordinate values Usually can be done using single precision (32 bit) floating-point numbers 1/3/2019

Time Discrete Continuous “Clock” advances at regular fixed length intervals Continuous Actions can be continuous and appear concurrent A single CPU shares its clock cycles with each object and a portion of the game code is devoted to determining what happened since the last update (say every 0.1 seconds) 1/3/2019

Conversions For digital computers everything ends up being implemented as if it was discrete It is possible for the game world to use one discrete conversion scheme and the AI different scheme This allows the use of an grid-based A* path finding routine in a continuous game world There may be tradeoffs to consider (e.g. compromising behavior quality) 1/3/2019

Handling Movement The allowed movement is imposed on the creatures by their environment In both 2D and 3D worlds the patter is: Game simulation loop Integration Collision detection 1/3/2019

Role of Game Engine Game engine takes into account all movement requests from players and NPC’s Physics system resolves all collisions and updates the creature data structures with new velocities, positions, and orientations Animation system handles low-level “limb” control as predefined animations (abstracting this low-level control as a “locomotion” layer greatly simplifies programming) 1/3/2019

Dr. Spin Only behavior is to move and turn Often bumps into walls Can get stuck in corners Supposed to demonstrate the importance of world simulation and structure on movement 1/3/2019

Navigation - 1 Process of purposely steering course of some entity though a physical environment Autonomous navigation means the software system can steer its course unassisted Navigation produces proactive rather than reactive movement Purposeful navigation is not possible by trial and error of actions 1/3/2019

Navigation - 2 Most living creatures require spatial information to interpret that provides them a sense of their world and helps them select their “next step” Much of the complexity of navigation comes from the acquisition of world information A rough description of space is encoded by animals to help them pick out empty and solid spaces 1/3/2019

Game Bots - 1 Very few computer games use sensing and environment interpretation to achieve navigation behavior Virtual game worlds can be stored entirely in the computer’s memory Algorithms process the world description to extract structural information form it 1/3/2019

Game Bots - 2 The bot is part of the game simulation world so they have perfect position information By dropping waypoints or processing polygons a compact terrain description can be given to the bot before the game begins Bots are particularly good at global movement and allow very effective use of standard algorithms like A* 1/3/2019

Game Bots - 3 Bots do not sense the world like animals Bots perceive the world using preprocessed environment knowledge and this is not always good The terrain model might be based on erroneous assumptions The terrain model may not be up to date in dynamic environment Bots can become stuck or ignore obstacles 1/3/2019

Animats Autonomous navigation is possible by giving animats the ability to sense the environment and selectively process the relevant information This give animats fresh information about their local surroundings This reactive approach has good local navigation, but has problems reaching points in space (similar to hill climbing) 1/3/2019

Criteria for Effective Motion Realistic Movement must be similar to real world analogs Efficient Economical use of processing cycles Reliable Must guarantee NPC can complete standard situations with getting stuck Purposeful Must be able to achieve goals in space 1/3/2019

Motion Tradeoffs These criteria often comes in conflict with one another and compromise is needed Efficiency has historically been the greatest concern of game developers Realism has become more important in recent years Different game situations require different tradeoff decisions 1/3/2019

Obstacle Avoidance With no obstacles near, animat is free to travel in any direction With walls on one side, animat should be turned away slowly in a preventative manner With obstacle in front, turn should be executed to avoid danger on one side When stuck in a corner, animat should attempt a complete turnaround 1/3/2019

Bouncer Runs around the game monitoring its own movement If its forward movement is not what was expected, a collision is assumed Following a collision, animat takes off in a random direction until it can move again 1/3/2019