07/22/02 Scalable Dynamics Stephen Chenney University of Wisconsin – Madison

Slides:



Advertisements
Similar presentations
A small taste of inferential statistics
Advertisements

Introduction to Training and Learning in Neural Networks n CS/PY 399 Lab Presentation # 4 n February 1, 2001 n Mount Union College.
1 Hypothesis Testing Chapter 8 of Howell How do we know when we can generalize our research findings? External validity must be good must have statistical.
Process Control Charts An Overview. What is Statistical Process Control? Statistical Process Control (SPC) uses statistical tools to observe the performance.
Dynamic Bayesian Networks (DBNs)
Michael Zyda Finite State Machines Michael Zyda
Week 14 - Monday.  What did we talk about last time?  Bounding volume/bounding volume intersections.
Artificial Intelligence in Game Design Introduction to Learning.
Observation Tools Overview and User Guide. Does the need to determine the impact a student's ADHD is having in the classroom or quantitatively describe.
Physically Based Motion Transformation Zoran Popović Andrew Witkin SIGGRAPH ‘99.
Björn Landfeldt School of Information Technologies Investigating a theoretical model Bjorn Landfeldt University of Sydney.
Introduction to Virtual Reality Mark Green School of Creative Media.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Beyond Meshes Spring 2012.
Software design and development Marcus Hunt. Application and limits of procedural programming Procedural programming is a powerful language, typically.
Gaussian process modelling
by Marc Comeau. About A Webmaster Developing a website goes far beyond understanding underlying technologies Determine your requirements.
1 Constant Following Distance Simulations CS547 Final Project December 6, 1999 Jeremy Elson.
Chapter 4 – Modeling Basic Operations and Inputs  Structural modeling: what we’ve done so far ◦ Logical aspects – entities, resources, paths, etc. 
Introduction to Networked Graphics Part 3 of 5: Latency.
Fundamentals of Game Design, 2 nd Edition by Ernest Adams Chapter 10: Core Mechanics.
1 Definition of System Simulation: The practice of building models to represent existing real-world systems, or hypothetical future systems, and of experimenting.
Chapter 3.5 Memory and I/O Systems. 2 Memory Management Memory problems are one of the leading causes of bugs in programs (60-80%) MUCH worse in languages.
Test Loads Andy Wang CIS Computer Systems Performance Analysis.
Week 6 - Wednesday.  What did we talk about last time?  Light  Material  Sensors.
Database What is a database? A database is a collection of information that is typically organized so that it can easily be storing, managing and retrieving.
Symbols, Brushes and Geology! Basic Cartography 2 At the end of the last class… You should have ended up with a lineplot in illustrator with a set of walls.
Simulation Level of Detail Or Doing As Little Work As Possible Jonathan Robbins Physically Based Modeling, Simulation, and Animation February 10, 2003.
ICT IGCSE.  Introducing or changing a system needs careful planning  Why?
CHAPTER 10: CORE MECHANICS Definitions and Mechanisms.
ICOM 6115: Computer Systems Performance Measurement and Evaluation August 11, 2006.
Motion Planning in Games Mark Overmars Utrecht University.
Sample Video Game & Sound. The Plan 1.Game Theme 2.Game Structure 3.Sprites 4.Trackers 5.Collisions 6.Score 7.Levels 8.Splash Screens 9.Design 10.Implementation.
Real-time Graphics for VR Chapter 23. What is it about? In this part of the course we will look at how to render images given the constrains of VR: –we.
University of Windsor School of Computer Science Topics in Artificial Intelligence Fall 2008 Sept 11, 2008.
CIS 588 AI Evaluation for World of Warcraft Jonathan Schmoll February 14, 2005.
Animation CS 551 / 651 Dynamics Modeling and Culling Chenney, Ichnowski, and Forsyth Dynamics Modeling and Culling Chenney, Ichnowski, and Forsyth.
Interconnect simulation. Different levels for Evaluating an architecture Numerical models – Mathematic formulations to obtain performance characteristics.
Interconnect simulation. Different levels for Evaluating an architecture Numerical models – Mathematic formulations to obtain performance characteristics.
Games Development Game Architecture: Entities CO2301 Games Development 1 Week 22.
Lecture 11 Page 1 CS 111 Online Virtual Memory A generalization of what demand paging allows A form of memory where the system provides a useful abstraction.
Replicating Memory Behavior for Performance Skeletons Aditya Toomula PC-Doctor Inc. Reno, NV Jaspal Subhlok University of Houston Houston, TX By.
Measures of variability: understanding the complexity of natural phenomena.
Emerging Technologies for Games Deferred Rendering CO3303 Week 22.
AI Evaluation David Nowell CIS 588 2/14/05 Baldur’s Gate.
CS-378: Game Technology Lecture #15.5: Physically Based Simulation Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney,
Pure Path Tracing: the Good and the Bad Path tracing concentrates on important paths only –Those that hit the eye –Those from bright emitters/reflectors.
CSCI1600: Embedded and Real Time Software Lecture 33: Worst Case Execution Time Steven Reiss, Fall 2015.
Stephen Chenney, University of WisconsinPlausible Simulation Uncertainty, Efficiency, and Desired Outcomes Stephen Chenney University of Wisconsin.
Week 6. Statistics etc. GRS LX 865 Topics in Linguistics.
Scalable Behaviors for Crowd Simulation Mankyu Sung Michael Gleicher Stephen Chenney University of Wisconsin- Madison
Lecture 17 Page 1 CS 236 Online Onion Routing Meant to handle issue of people knowing who you’re talking to Basic idea is to conceal sources and destinations.
Fast SLAM Simultaneous Localization And Mapping using Particle Filter A geometric approach (as opposed to discretization approach)‏ Subhrajit Bhattacharya.
Lecture 17 Page 1 Advanced Network Security Network Denial of Service Attacks Advanced Network Security Peter Reiher August, 2014.
09/23/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Reflections Shadows Part 1 Stage 1 is in.
CHC ++: Coherent Hierarchical Culling Revisited Oliver Mattausch, Jiří Bittner, Michael Wimmer Institute of Computer Graphics and Algorithms Vienna University.
The Law of Averages. What does the law of average say? We know that, from the definition of probability, in the long run the frequency of some event will.
UNC Chapel Hill David A. O’Brien Automatic Simplification of Particle System Dynamics David O’Brien Susan Fisher Ming C. Lin Department of Computer Science.
Test Loads Andy Wang CIS Computer Systems Performance Analysis.
Chapter 1 What is Simulation?. Fall 2001 IMSE643 Industrial Simulation What’s Simulation? Simulation – A broad collection of methods and applications.
Maestro AI Vision and Design Overview Definitions Maestro: A naïve Sensorimotor Engine prototype. Sensorimotor Engine: Combining sensory and motor functions.
Traffic Simulation L2 – Introduction to simulation Ing. Ondřej Přibyl, Ph.D.
Model Optimization Wed Nov 16th 2016 Garrett Morrison.
Comparing Dynamic Programming / Decision Trees and Simulation Techniques BDAuU, Prof. Eckstein.
Andy Wang CIS 5930 Computer Systems Performance Analysis
CSCI1600: Embedded and Real Time Software
UMBC Graphics for Games
Fundamentals of Data Representation
Simulation Acceleration Techniques
Games Development Game Architecture: Entities
CSCI1600: Embedded and Real Time Software
Presentation transcript:

07/22/02 Scalable Dynamics Stephen Chenney University of Wisconsin – Madison

07/22/02 Scalable Dynamics What is Dynamics? Dynamics is the computation of anything that’s changing AI is the dynamics of a character’s behaviors Physics is dynamics of natural phenomenon Keeping track of the resources in a world is dynamics

07/22/02 Scalable Dynamics Scalable dynamics allows you to add size and complexity at low cost For massive environments, dynamics must be output sensitive You only pay for what you see This is true even for networked worlds – you only send what the viewer sees Perceives is better than sees (includes sound)

07/22/02 Scalable Dynamics Broad Approaches Dynamics Culling: Do nothing for dynamics that you can’t see Simulation Proxies: Reduce the cost of dynamics that you can’t see Level-of-Detail: Reduce the cost of dynamics that you can barely see Just like rendering!

07/22/02 Scalable Dynamics Not Like Rendering The act of not rendering something does not change the environment The act of not computing dynamics does! Dynamics should change the environment, so not computing them is in fact a change

07/22/02 Scalable Dynamics The Holy Grail (of scalable dynamics) A scalable dynamics technique should not change the user’s experience A scalable dynamics technique should compute only what the viewer can perceive In reality, all the existing approaches fail to find the grail Quantifying the changes is difficult Have to do something for invisible motion

07/22/02 Scalable Dynamics The next 45 minutes Culling Traditional game approaches, maintaining consistency Proxies Traffic models and dynamic path planning Level of Detail Hopping robots, particle systems, game AI, game physics

07/22/02 Scalable Dynamics Disappearing Objects “Disappear” objects that leave the view The problem is, if the viewer chases the object isn’t there A problem with many driving games This can significantly impact the experience You have to create new objects, too No dynamics Dynamics

07/22/02 Scalable Dynamics Fewer Disappearing Objects Create a buffer around the viewer, and do dynamics there too Gives the viewer some time to turn and chase Trade-off between size of region and chase time Some scope for control Good for “ambient” objects

07/22/02 Scalable Dynamics Creating Objects If objects are deleted, objects must be created Randomly decide when to add an object Easy with tile-based world – add at tile boundaries Can also be done with specific source points Iowa driving simulator Also have to set the object’s state What type of object?, How fast?, Which direction? Use random or fixed choices

07/22/02 Scalable Dynamics Reflecting Objects Instead of deleting objects, reflect them at a boundary Removes the overhead of deleting/creating objects No need to generate new state, just re-use old Used in Midtown Madness (GD Mag, Dec 2000) Boing

07/22/02 Scalable Dynamics Simple methods don’t… Simple methods don’t work if the viewer has strong expectations If your buddy is being shipped to hospital in an ambulance, then … Sometimes we really need to account for out of view happenings Real-Time-Strategy games – you care about your unseen enemy

07/22/02 Scalable Dynamics Consistent Culling Aim: Very rapidly decide what happened while out of view Turn an object off when it leaves the view Bring it up to date when it re-enters Need some mechanism for deciding when the object is visible It’s turned off, so it won’t tell you Restrict to objects that don’t move far, and use static bounding volumes for visibility

07/22/02 Scalable Dynamics Chenney and Forsyth (I3D 97) Observation: Out of view behavior must meet viewer expectations The object was seen when it left the view What is expected upon re-entry: Short term, accurate predictions from previous state Medium term, some error in predictions Long term, previous state provides no information

07/22/02 Scalable Dynamics Three Phases Buffer state ahead of time If the object goes out of view and comes back quickly, use data in the buffer Build approximations that jump state ahead by multiple seconds in one go Machine learning and statistics Build statistical models of expected behavior If something’s been invisible for a while, sample a random state

07/22/02 Scalable Dynamics Simulation Proxies (Chenney, Arikan, Forsyth EG 2001) Can’t (yet) cull important, wide ranging objects Eg traffic, enemy AI, most stuff Proxies replace out-of-view dynamics with something much cheaper Trade off: not infinitely scalable, but better than simple methods

07/22/02 Scalable Dynamics Traffic Proxy If a system is out of view, all you care about are influential events Influential depends on the system Replace the full model with a discrete event model that just finds the events

07/22/02 Scalable Dynamics Efficiency Efficiency = Total Work Work in view

07/22/02 Scalable Dynamics Quantifying Changes Viewer’s rarely care about exact timing You don’t care when your friend arrives at the bar Viewers do have expectations “I will be there in about 10 minutes” Over time the statistics must be right We develop expectations based on statistics

07/22/02 Scalable Dynamics Traffic Quality Take stats on travel times Look at distribution Proxy and full model match

07/22/02 Scalable Dynamics AI Path Planning (Arikan, Chenney, Forsyth EG CAS 2001) Path planning is a large part of game AI Biggest cost is avoiding moving objects Proxy: Replace avoidance with random delays

07/22/02 Scalable Dynamics Lots of objects…

07/22/02 Scalable Dynamics Level of Detail Viewers can’t accurately perceive distant motion Replace an expensive dynamic model with a cheaper one for distant objects A few approaches, very specific to the system

07/22/02 Scalable Dynamics Hopping Robots (Carlson and Hodgins, 96) Hopping robots are a dynamic model Controller exerts forces to make robot hop They play a game in which they try to avoid a giant puck

07/22/02 Scalable Dynamics Hopper LOD Generate approximations to the dynamic motion Look up tables for kinematic motion Build tables by running dynamics and measuring values – motion capture from simulation Use when robot is far away Point mass model that ignores leg Use when model is out of view (proxy) Use dynamic model when near puck

07/22/02 Scalable Dynamics Hopper Results Speedup by about 8x Game-play result is different, depending on how much the puck influences detail Model affect ability of the hopper to maneuver If models are switched to full dynamics when farther from puck, the result is better

07/22/02 Scalable Dynamics Particle Systems (O’Brien, Fisher, Lin: CA 2001) Particle systems are expensive when the number of particles rises Games impose quite low limits Most particles in a simulation behave similarly Exploit this to save work

07/22/02 Scalable Dynamics Grouping Particles To generate continuous LOD, group particles behaving the same Use an octree in state space Calculate motion once for the group, and apply to all members Much cheaper, but tends to produce blocky artifacts These could be removed – future work

07/22/02 Scalable Dynamics Grouping Particles

07/22/02 Scalable Dynamics AI LOD The game “Revolution” reduces the cost of AI that is out of view Models an entire society (multi city) Discussed in 2001 GDC talk by Demis Hassabis, but not documented Due for release Sept 2002? Not many details, but apparently based on hierarchical state machines Turn off lower levels of hierarchy Consistency?

07/22/02 Scalable Dynamics Physics LOD Multi-body physics is really expensive Typically only a few objects at a time MathEngine have a variety of methods for reducing cost Group objects more aggressively Change behaviors of contact groups Many others discussed in a GDC 2002 talk, but not documented

07/22/02 Scalable Dynamics The way ahead Important systems not addressed yet: AI, group behaviors, resources General tools to make it easy to generate efficient systems Better metrics for measuring changes due to culling/proxies/LOD Models for how humans perceive motion Good metrics exist for static geometry, but not motion