Networked Graphics Building Networked Virtual Environments and Networked Games Chapter 11: Latency and Consistency.

Slides:



Advertisements
Similar presentations
Present & Apply The final resting place of the OSI layers.
Advertisements

Introduction to Networked Graphics Latency Compensation.
Dead Reckoning Objectives – –Understand what is meant by the term dead reckoning. –Realize the two major components of a dead reckoning protocol. –Be capable.
Online Game Security - Quake III and its Hacks - (related paper: A Systematic Classification of Cheating in Online Games, Jeff Yanand and Brian Randell.
Networked Graphics Building Networked Virtual Environments and Networked Games Chapter 4: More Than Two.
Networked Gaming Networking Bandwidth Security/Cheating Dynamics.
Parallel and Distributed Simulation Time Warp: Basic Algorithm.
T h e G a s L a w s. T H E G A S L A W S z B o y l e ‘ s L a w z D a l t o n ‘ s L a w z C h a r l e s ‘ L a w z T h e C o m b i n e d G a s L a w z B.
Lookahead. Outline Null message algorithm: The Time Creep Problem Lookahead –What is it and why is it important? –Writing simulations to maximize lookahead.
Gameplay Networking Jacob Steinfort. Importance of Multiplayer Games If gamers had to choose either a single-player game or a multiplayer game, most people.
Networked Graphics Building Networked Virtual Environments and Networked Games Chapter 10: Requirements.
1 Computer Graphics Chapter 2 Input Devices. RM[2]-2 Input Devices Logical Input Devices  Categorized based on functional characteristics.  Each device.
IEEE Virtual Reality 2011 Introduction to Networked Graphics Anthony Steed Part 3: Latency Scalability.
IEEE Virtual Reality 2011 Introduction to Networked Graphics Requirements and Constraints.
Network synchronization of Online Games Li, Zetan.
Server-Oriented Multiplayer Games Presented by: Eric Fesenmaier
Soul Envoy Final Year Project 22nd April 2006 By Zhu Jinhao.
On the Impact of Delay on Real-Time Multiplayer Games Authors: Lothar Pantel, Lars C. Wolf Presented by: Bryan Wong.
Simulation Where real stuff starts. ToC 1.What, transience, stationarity 2.How, discrete event, recurrence 3.Accuracy of output 4.Monte Carlo 5.Random.
How do games work? Game Workshop July 4, Parts Sprites/pictures Map/background Music/sounds Player character Enemies Objects.
Topological Mapping using Visual Landmarks ● The work is based on the "Team Localization: A Maximum Likelihood Approach" paper. ● To simplify the problem,
Sync-MS: Synchronized Messaging Service for Real-Time Multi-Player Distributed Games By Yow-Jian Lin, Katherine Guo and Sanjoy Paul Presented by Greg Kempe.
CSC 402 Requirements Engineering 1 Requirements Techniques, cont. Formal requirements analysis techniques include: – DFD (covered) – ERD (covered) – Finite.
Latency Compensating Methods in Client/Server In-game Protocol Design and Optimization I’m Curtis.
1 IMPROVING RESPONSIVENESS BY LOCALITY IN DISTRIBUTED VIRTUAL ENVIRONMENTS Luca Genovali, Laura Ricci, Fabrizio Baiardi Lucca Institute for Advanced Studies.
Light-Weight Stream Synchronization Framework for Multimedia Collaborative Applications Agustín J. González Department of Electronics Engineering Federico.
Error Checking continued. Network Layers in Action Each layer in the OSI Model will add header information that pertains to that specific protocol. On.
Multiplayer Online Games
On the Anonymity of Anonymity Systems Andrei Serjantov (anonymous)
Game Networking CS381 Sushil J. Louis Dept. of Computer Science and Engineering University of Nevada, Reno From and much thanks to
Introduction to Networked Graphics Part 2 of 5: Requirements and Constraints.
Network Physics Created by Ruslan Yavdoshak for Nikitova Games, 2008.
Introduction to Networked Graphics Part 3 of 5: Latency.
KeyListener and Keyboard Events Just as we can implement listeners to handle mouse events, we can do the same for keyboard events (keypresses) –to implement.
Time Manipulation.  The game states rendered at the clients are different because latency is dependent on the location of the client from the server.
Warcraft III, by Blizzard CSE 381 – Advanced Game Programming Networked Gaming Issues.
Burnout 3: Case Study (Outline) What is Burnout 3? What is Burnout 3? What does this mean? What does this mean? How did we satisfy these constraints? How.
AN OVERVIEW OF GAME DEVELOPMENT
Parallel and Distributed Simulation Synchronizing Wallclock Time.
ONLINE GAME NETWORK TRAFFIC OPTIMIZATION Jaewoo kim Youngho yi Minsik cho.
Dead reckoning in Sports and Strategy Games Ushhan D. Gundevia November 8, 2004.
IEEE Virtual Reality 2011 Introduction to Networked Graphics Anthony Steed Part 2: Actual Internet Performance Requirements and Constraints.
Focus on Networking Engine. Contents ● “Super IsoBomb” Network Engine Introduction ● Game Networking Middleware APIs ● Game Networking Issues Overview.
Networked Graphics Building Networked Virtual Environments and Networked Games Issues in Networking Graphics.
Dead Reckoning References: Gamasutra (1), Gamedev (1)1 Forum articles (1)1.
Lecture 10 – Mutual Exclusion Distributed Systems.
11 General Game Programming Approach. The program is event-driven The program is event-driven –Messages = events –So as all windows system (for example.
Multiplayer games on networks potential and tradeoffs.
Dead Reckoning. Outline Basic Dead Reckoning Model (DRM) –Generating state updates –Position extrapolation Refinements –Time compensation –Smoothing.
Physical clock synchronization Question 1. Why is physical clock synchronization important? Question 2. With the price of atomic clocks or GPS coming down,
An Adaptive Video Streaming Control System: Modeling, Validation, and Performance Evaluation PRESENTED BY : XI TAO AND PRATEEK GOYAL DEC
Game Programming Patterns Game Loop From the book by Robert Nystrom
UW EXTENSION CERTIFICATE PROGRAM IN GAME DEVELOPMENT 2 ND QUARTER: ADVANCED GRAPHICS Game program main loop.
Debugging tools in Flash CIS 126. Debugging Flash provides several tools for testing ActionScript in your SWF files. –The Debugger, lets you find errors.
Predicting the Perceived Quality of a First Person Shooter Game The Team Fortress 2 T-Model David Dwyer Eric Finn Advisor: Mark Claypool 1.
Relying on Safe Distance to Achieve Strong Partitionable Group Membership in Ad Hoc Networks Authors: Q. Huang, C. Julien, G. Roman Presented By: Jeff.
PAC: Perceptive Admission Control for Mobile Wireless Networks Ian D. Chakeres Elizabeth M. Belding-Royer.
March 15, 2001Mark Kalman - ee368c Analysis of Adaptive Media Playout for Stochastic Channel Models Mark Kalman Class Project EE368c.
Multiplayer Online Games
PDES Introduction The Time Warp Mechanism
Requirements Techniques, cont.
Parallel and Distributed Simulation
Virtual World Architecture II
First-Person PacMan By Brett Jones.
Parallel and Distributed Simulation
Bandwidth Requirement
CS4470 Computer Networking Protocols
Where real stuff starts
Error Checking continued
Presentation transcript:

Networked Graphics Building Networked Virtual Environments and Networked Games Chapter 11: Latency and Consistency

LATENCY IMPACT

Client A Client B CarA A=1, V=0 Car B A=1, V=0 CarA A=1, V=1 CarA A=1, V=2 CarA A=1, V=3 Car B A=1, V=1 Car B A=1, V=2 Car B A=1, V=3 Car A Car B Car A Car B

Can’t apply open state Door is Open & Locked Client A Client B Lock DoorOpen Door Door is Closed & Unlocked Door is Closed & Locked Door is Closed & Unlocked Door is Open & Unlocked

Client A Client B Server Shooter (Player A ) Target (Player B )

Client A Client B Server Shooter (Player A ) Target (Player B )

DUMB CLIENT AND LOCKSTEP SYNCHRONISATION

Quake Client A Read Input Rendering Quake Server Receive Input Simulate Quake Client B Read Input Rendering Mouse Keyboard Draw Lists, Game State Mouse Keyboard Draw Lists, Game State

CONSERVATIVE SIMULATIONS

Doom Client A Read Input Rendering Receive Input Simulate Doom Client B Read Input Rendering Receiv e Input Simulate Doom Client C Read Input Rendering Receive Input Simulate

Client A Message I Client=B Time=11.1 Message I+1 Client=C Time=13.5 Message I+2 Client=B Time=13.6 Message I+3 Client=C Time=18.0 Message I+4 Client=D Time=18.2 Client B Client C Client D Message Queue

TIME

Event Explode is delay at Client C until after Event Fire Client A Client B Client C Event Fire Event Explode

Client A Client B Client C Event Fire (0,1,0) Event Explode (1,1,0) Event Fire (2,1,1) Event Explode (2,1,0)

OPTIMISTIC ALGORITHMS

Client A Client B Lock Door Open Door Client C Add Zombies Remove Zombies Close Door t0t0 t1t1 t2t2 t3t3 t4t4

CLIENT PREDICT AHEAD

Client A Server P0P0 P1P1 Move P 0 to P 1 Move? P 1 to P 2 Move? P 2 to P 3 Move? P 3 to P 4 Move? P 0 to P 1 Move P 1 to P 2 Move P 2 to P 3 P2P2 P1P1 P3P3 P2P2 P4P4 P3P3 P0P0 P1P1 P2P2 P1P1 P3P3 P2P2

Client A Server P0P0 P1P1 Move P 0 to P 1 Move? P 1 to P 2 Move? P 2 to P 3 Move? P 0 to P 1 FailMove P 1 to Q 1 FailMove P 1 to Q 1 P2P2 P1P1 P3P3 P2P2 Q1Q1 P0P0 P1P1 Q1Q1 P1P1 P3P3 P2P2 Q1Q1

EXTRAPOLATION ALGORITHMS

1 st Order Model

2 nd Order Model

a) Player model sending three updates b) Ghost model path without blending toto t1t1 t2t2 c) Old ghost model and new ghost model at t 1

d) Blending between the old ghost and new ghost over several frames e) Ghost model path with blending

a) Old ghost position at t 0, new ghost position at t 0 and new ghost position at t 0 +t  t0t0 New ghost t 0 +t  New ghost t 0 Old ghost t 0 b) Dotted line shows the planned path to reach the target position and direction

a) Player model showing the timings of dead-reckoning updates at the peaks of a periodic motion Update at t 0 Update at t 1

b) On arrival of an update message, the ghost model plans to converge the current ghost model position with an extrapolation of the received position Correct player model path Convergence path Ghost model location at t 0 Player model update at t 0 Extrapolation of player model

c) On the next update message the ghost model is out of phase with the player model. T

toto t1t1 Player model update at t 1 a) Player model showing the object avoiding the wall Path of ghost model after update at t 0 b) After the update at t1 the ghost model cannot converge

2 nd Order Model with Error Threshold

INTERPOLATION, PLAYOUT DELAYS AND LOCAL LAG

SenderReceiver P1P1 P2P2 P3P3 P4P4 t1t1 t2t2 t3t3 t4t4

P0P0 P1P1 P2P2 P3P3 t0t0 t1t1 t2t2 t3t3 Interpolate P 0 →P 1 Playout delay

SenderReceiver P1P1 P2P2 P3P3 P4P4 t1t1 t2t2 t3t3 t4t4 t5t5 t6t6

t0t0 t1t1 t2t2 t3t3 Interpolate P 0 →P 1 Maximum latency P0P0 P1P1 P2P2 P3P3 Playout delay Sender Client A Client B

t0t0 t1t1 t2t2 t3t3 Interval (Tα) E A1 Playout delay (T  ) Client A Client B Client C E C1 E C2 E B1 E B2 t4t4

PERCEPTION FILTERS

Client A Client B

x position 1.0 T network Added delay

Time 1.0 x position

Time 1.0 x position a) Both clients’ view of the ball x position using temporal corrections x position of ball as seen from Client A x position of ball as seen from Client B

Time 1.0 x position b) Both clients’ view of the ball x position without using temporal corrections x position of ball as seen from Client B x position of ball as seen from Client A

REVEALING LATENCY