Review IMGD 4000. Engine Architecture Types Broadly, what are the two architecture types discussed for game engines? What are the differences?

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

AI Pathfinding Representing the Search Space
Chapter 4.2 Collision Detection and Resolution. 2 Collision Detection Complicated for two reasons 1. Geometry is typically very complex, potentially requiring.
Pathfinding Basic Methods.
CSE 380 – Computer Game Programming Pathfinding AI
Motion Planning CS 6160, Spring 2010 By Gene Peterson 5/4/2010.
Generated Waypoint Efficiency: The efficiency considered here is defined as follows: As can be seen from the graph, for the obstruction radius values (200,
Soul Envoy Final Year Project 22nd April 2006 By Zhu Jinhao.
Chapter 4.2 Collision Detection and Resolution. 2 Collision Detection Complicated for two reasons 1. Geometry is typically very complex, potentially requiring.
1 Geometry A line in 3D space is represented by  S is a point on the line, and V is the direction along which the line runs  Any point P on the line.
Game Mathematics & Game State The Complexity of Games Expectations of Players Efficiency Game Mathematics o Collision Detection & Response o Object Overlap.
Advanced Pathfinding IMGD 4000
Reducing Cache Misses 5.1 Introduction 5.2 The ABCs of Caches 5.3 Reducing Cache Misses 5.4 Reducing Cache Miss Penalty 5.5 Reducing Hit Time 5.6 Main.
Neural Networks. Background - Neural Networks can be : Biological - Biological models Artificial - Artificial models - Desire to produce artificial systems.
CS 4730 Physical Simulation CS 4730 – Computer Game Design.
Artificial Intelligence in Game Design Camera Control.
A Navigation Mesh for Dynamic Environments Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts CASA 2012.
Autonomous Vehicles By: Rotha Aing. What makes a vehicle autonomous ? “Driverless” Different from remote controlled 3 D’s –Detection –Delivery –Data-Gathering.
1 CO Games Development 1 Week 6 Introduction To Pathfinding + Crash and Turn + Breadth-first Search Gareth Bellaby.
3.3 Pathfinding Design Architecture 저 자 : Dan Higgins 발표자 : 김용욱.
Review IMGD Engine Architecture Types Broadly, what are the two architecture types discussed for game engines? What are the differences?
Artificial Intelligence in Game Design Dynamic Path Planning Algorithms.
CLASS 10 SCENE GRAPHS BASIC ANIMATION CS770/870. A scene Graph A data structure to hold components of a scene Usually a Tree of a Directed Acyclic Graph.
Artificial Intelligence in Game Design Complex Steering Behaviors and Combining Behaviors.
CSCE 552 Fall 2012 Math, Physics and Collision Detection By Jijun Tang.
CSCI 4310 Lecture 8: Path Planning. Book Buckland Ch. 8.
City College of New York 1 John (Jizhong) Xiao Department of Electrical Engineering City College of New York Mobile Robot Control G3300:
Game tree search Chapter 6 (6.1 to 6.3 and 6.6) cover games. 6.6 covers state of the art game players in particular. 6.5 covers games that involve uncertainty.
FORCES OF MOTION Georgia Shared Resources. STANDARDS.
Artificial Intelligence in Game Design Lecture 8: Complex Steering Behaviors and Combining Behaviors.
Advanced Games Development Game Physics CO2301 Games Development 1 Week 19.
Game Programming 13 Physics in Games (cont.) 2010 년 2 학기 디지털콘텐츠전공.
Introduction to Game Programming & Design III Lecture III.
1 Chapter 7 Advanced Pathfinding Techniques improving performance & quality Reference: Game Development Essentials Game Artificial Intelligence.
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 1 Chapter 12 Path Planning.
Advanced Pathfinding IMGD 4000 With material from: Millington and Funge, Artificial Intelligence for Games, Morgan Kaufmann 2009 (Chapter 4) and Buckland,
Department of Electrical Engineering, Southern Taiwan University 1 Robotic Interaction Learning Lab The ant colony algorithm In short, domain is defined.
Date of download: 11/12/2016 Copyright © ASME. All rights reserved. From: A Sequential Two-Step Algorithm for Fast Generation of Vehicle Racing Trajectories.
Computer Animation CS 446 September 5, 2001.
Chapter 5.4 Artificial Intelligence: Pathfinding
Chapter 3: Methods of Inference
Divide and Conquer.
Decision Making: Decision Tree & State Machines Session 07
CS 134 Video Game “AI”.
Tech/ME 140: Unit 5 Lecture Mechanism Design: Introduction to Mechanisms, Synthesis Using Graphical Approach. Motion Analysis and Simulation: Animation.
Game Engine Architecture
Distance Computation “Efficient Distance Computation Between Non-Convex Objects” Sean Quinlan Stanford, 1994 Presentation by Julie Letchner.
Enemy and Friendly AIs Richard Gesick.
Chapter 3: Methods of Inference
CSE 473 Artificial Intelligence Oren Etzioni
Different kinds of energy
3D Object Representations
CS 457 – Lecture 12 Routing Spring 2012.
Games with Chance Other Search Algorithms
Chapter 4.2 Collision Detection and Resolution
Lecture 27: Virtual Memory
Workshop II UU Crowd Simulation Framework
CIS 488/588 Bruce R. Maxim UM-Dearborn
What to do when you don’t know anything know nothing
CIS 488/588 Bruce R. Maxim UM-Dearborn
Motion in Real and Virtual Worlds
Problem Spaces & Search
Collision Detection.
CSC3050 – Computer Architecture
ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg
Advanced Games Development Game Physics
CSCE 552 Spring 2009 AI (III) By Jijun Tang.
What Are Performance Counters?
Force Directed Placement: GPU Implementation
Nome Sobrenome. Time time time time time time..
Presentation transcript:

Review IMGD 4000

Engine Architecture Types Broadly, what are the two architecture types discussed for game engines? What are the differences?

Pathfinding with Waypoints What is one potential problem with pathfinding using waypoints? What is a potential fix to the problem above?

Pathfinding with Waypoints What is one potential problem with pathfinding using waypoints? Ans: blind spots, waypoint generation, kinky paths What is a potential fix to the problem above? Ans: fine-grained graphs, flood fill, path smoothing

Pathfinding with a NavMesh Is a Navmesh a replacement for A*? Why or why not?

Pathfinding with a NavMesh Is a Navmesh a replacement for A*? Why or why not? Ans: No. A Navmesh is a replacement for a waypoint graph. Instead of points, the graph nodes are polygons, covering the walkable area. A* can still be used to chart the path.

Tuning Pathfinding Sketch you how might you “time slice” to limit the CPU load of pathfinding

Tuning Pathfinding Sketch you how might you “time slice” to limit the CPU load of pathfinding Ans: Divide search algorithm into “cycles” (e.g., one ply). Create a PathPlanner that stores progress along path and registers search with game engine (Path Manager). Object requests path to destination with PathPlanner. Create a PathManager that allocates out “cycles” to registered PathPlanners. Game engine (PathManager) allows for fixed number of cycles per tick.

Camera Control Related to advanced camera control: – What is “zoning”? – What are “dynamics”? – What is “blending”? – What are “rails”?

Camera Control Describe the design of a camera zoning approach. How can you design camera dynamics not to move the camera with every movement of the player?

Camera Control What is blending? As part of blending, what is ease?

Basic Game AI What is a decision tree? What are strengths vs. weaknesses? What is a hierarchical finite state machine? Why use it versus a “flat” state machine? Where is the “knowledge” in the above? How else might we approach AI? Examples?

Autonomous Movement What are the three main components of the “steering” model? What does each do?

Autonomous Movement What are the three main components of the “steering” model? What does each do? Ans: Action Selection – chose goals and plans Steering – Calculate trajectories, apply forces Locomotion – apply mechanics of motion

Steering force for Seek Given a vehicle with mass and velocity and a target, describe how “seek” works

Steering force for Seek Given a vehicle with mass and velocity and a target, describe how “seek” works Ans: target velocity desired velocity steering force

Combining Forces What is the blended approach to combining steering forces? What is the prioritized approach to combining steering forces?

Combining Forces What is the blended approach to combining steering forces? Ans: All steering forces are called, with weights providing balance What is the prioritized approach to combining steering forces? Ans: Steering forces are prioritized, called in order until one or max force is reached

Basic Game Physics What does step size matter when simulating game physics?

Basic Game Physics What does step size matter when simulating game physics? – Step size determines how often objects in the game governed by physics principles are updated. When using approximations, such as numerical integration, more frequent updates result in less error, but at the cost of more CPU overhead.

Basic Game Physics How can physics step size be decoupled from frame rate/game loop rate?

Basic Game Physics How can physics step size be decoupled from frame rate/game loop rate? – Provide for a step rate less than the frame rate – Each time the physics update is called, calculate how long it has been since the last update. Divide that time by the step rate. – Perform physics updates at the step rate until “caught up” to the current time (close enough to be less than one step size)

Collision Detection What is intersection testing?

Collision Detection What is intersection testing? – A form of collision detection where an object is extruded from current location to predicted location at the end of the step – This new volume is checked for overlap with other objects. If there is an overlap, there is a collision. – The location of the overlap provides the location of the collision and can be used to compute the time.

Collision Detection Using overlap testing, how can you determine exactly when/where the collision occurred?

Collision Detection Using overlap testing, how can you determine exactly when/where the collision occurred? – A common technique is to use binary search where the time delta is backed up by half and re- checked. If collision, back up by half again. If no collision, go forward by half. – Continue until “close enough” (within a delta) – typically about 5 iterations.