230 likes | 436 Views
Dead Reckoning. Irwin Chiu Hau Nicolas Ng Man Sun. Overview. Introduction Solution Modelling Progress Conclusion. Introduction. Online Multiplayer Games Multiple players/computers connected via the Internet e.g. Quake, Half Life Characteristics: Players moving around rapidly
E N D
Dead Reckoning Irwin Chiu Hau Nicolas Ng Man Sun
Overview • Introduction • Solution • Modelling • Progress • Conclusion
Introduction • Online Multiplayer Games • Multiple players/computers connected via the Internet • e.g. Quake, Half Life • Characteristics: • Players moving around rapidly • Powerful computers • Limited network capacity
Introduction • Desired features: • Minimize network traffic • Accurately portray other players’ movement • Dilemma • Without frequent updates the local model does not know the current position of remote players.
Overview • Introduction • Solution • Modelling • Progress • Conclusion
Solution • Dead reckoning • Approximate current position based on past observations • Ship sailing in the ocean example • Use the stars to determine location • What to do when it’s cloudy
Overview • Introduction • Solution • Modelling • Progress • Conclusion
Modeling • Each player is an atomic DEV • Moves at regular intervals independently of other players • Receives (external) updates about other players’ position at undetermined times. • Each player “holds” a local Dead Reckoning Model (also an atomic DEV) of other players. • The network is also an atomic DEV • Models latency.
[player1] [DRM p2] [DRM p1] [network] [player2] [DRM p1] [DRM p2] Modeling • Coupled DEVs
Modeling Zero order approximation with updates at regular intervals
Modeling Global View 100 80 60 position 40 20 0 0 1 2 3 4 5 time error threshold Zero order approximation with error threshold
Modeling First order approximation with error threshold
Overview • Introduction • Solution • Modelling • Progress • Conclusion
Progress • What have we done? • Object Sim ADEVS • Dead Reckoning ADEVS • Network ADEVS Computer 1 Computer 2 Object Sim DRM Network DRM
Object Sim ADEVS • Diagonal Movement • At time 0 to 2: v_x, v_y = 2 • At time 3 to 4: v_x, v_y = 4 • At time 5 to 6: • v_x, v_y = 6
Object Sim + DR • Diagonal Movement • At time 0 to 2: v_x, v_y = 2 • At time 3 to 4: v_x, v_y = 4 • At time 5 to 6: • v_x, v_y = 6 send
Dead Reckoning ADEVS • Input • From Network • From high fidelity (or real) model • Output • To Graphics: High Refresh Rate • To Network: Selective DR ADEVS To Graphics IN To Network
Network ADEVS • Broadcast • Delayed Network Network Port 1 IN … Port N
DR System • Our current DR System • Good results for • Graphics view, DR view and Network Updates Graphics Object Sim DRM Network IN Tx Out
Plan / Futurework • Player 1 Player 2 Object Sim DRM 1 IN Network DRM 2 Graphics … DRM N Graphics Player N
Overview • Introduction • Solution • Modelling • Progress • Conclusion
Conclusion • Dead Reckoning = Approximation • Advantages: • Reduced network traffic • Fluid animation in between updates • Dead Reckoning is used in almost every distributed environment.
References • PythonDEVS http://moncs.cs.mcgill.ca/MSDL/research/projects/DEVS/ • Pythonhttp://www.python.org/ • “Parallel And Distributed Simulation Systems”, R. M. Fujimoto, PhDGeorgia Institute of Technology.Chapter 7.5 – Dead Reckoning