Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "07/22/02 Scalable Dynamics Stephen Chenney University of Wisconsin – Madison"— Presentation transcript:

1 07/22/02 Scalable Dynamics Stephen Chenney University of Wisconsin – Madison http://www.cs.wisc.edu/~schenney

2 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

3 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)

4 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!

5 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

6 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

7 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

8 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

9 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

10 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

11 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

12 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

13 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

14 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

15 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

16 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

17 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

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

19 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

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

21 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

22 07/22/02 Scalable Dynamics Lots of objects…

23 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

24 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

25 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

26 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

27 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

28 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

29 07/22/02 Scalable Dynamics Grouping Particles

30 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?

31 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

32 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


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

Similar presentations


Ads by Google