Dead Reckoning References: Gamasutra (1), Gamedev (1)1 Forum articles (1)1.

Slides:



Advertisements
Similar presentations
Physics: Principles with Applications, 6th edition
Advertisements

Curves Jim Van Verth Essential Math for Games Animation Problem: want to replay stored set of transformations  Generated by.
Dead Reckoning Objectives – –Understand what is meant by the term dead reckoning. –Realize the two major components of a dead reckoning protocol. –Be capable.
COMPUTER GRAPHICS CS 482 – FALL 2014 OCTOBER 8, 2014 SPLINES CUBIC CURVES HERMITE CURVES BÉZIER CURVES B-SPLINES BICUBIC SURFACES SUBDIVISION SURFACES.
Physics Motion in one Dimension 2.1 Reference Frames and Displacement 2.2 Average Velocity 2.3 Instantaneous Velocity 2.4 Acceleration 2.5 Motion.
Network synchronization of Online Games Li, Zetan.
Computer Animation Algorithms and Techniques
Server-Oriented Multiplayer Games Presented by: Eric Fesenmaier
Tim Worcester. What is an MMO? Why invest time into them?
Tracking with distributed sensors Luca Schenato. Framework Modeling Algorithms Simulations Overview.
Dead Reckoning Andrew Williams. Dead reckoning Process of estimating a position using known information from the (recent) past. If you know the speed.
2006 Fall MATH 100 Lecture 221 MATH 100 Lecture 22 Introduction to surface integrals.
Chapter 2 Motion in One Dimension. Kinematics Describes motion while ignoring the agents that caused the motion For now, will consider motion in one dimension.
Introduction to Motion Position-Time Graphs Velocity-Time Graphs Acceleration-Time Graphs.
Acceleration Chapter 2 Section 2.
A D V A N C E D C O M P U T E R G R A P H I C S CMSC 635 January 15, 2013 Spline curves 1/23 Curves and Surfaces.
Network Physics Created by Ruslan Yavdoshak for Nikitova Games, 2008.
Introduction to Networked Graphics Part 3 of 5: Latency.
Chapter 5 Trajectory Planning 5.1 INTRODUCTION In this chapters …….  Path and trajectory planning means the way that a robot is moved from one location.
Chapter 5 Trajectory Planning 5.1 INTRODUCTION In this chapters …….  Path and trajectory planning means the way that a robot is moved from one location.
Robotics Chapter 5 – Path and Trajectory Planning
Time Manipulation.  The game states rendered at the clients are different because latency is dependent on the location of the client from the server.
Curves.
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.
Computer Science Lecture 10, page 1 CS677: Distributed OS Last Class: Naming Name distribution: use hierarchies DNS X.500 and LDAP.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Interpolating Values.
© 2005 Pearson Prentice Hall This work is protected by United States copyright laws and is provided solely for the use of instructors in teaching their.
Parallel and Distributed Simulation Synchronizing Wallclock Time.
Mark Nelson Movement and physics Fall 2013
Distributed Virtual Environments Introduction. Outline What are they? DVEs vs. Analytic Simulations DIS –Design principles Example.
Dead reckoning in Sports and Strategy Games Ushhan D. Gundevia November 8, 2004.
Chapter 2 Describing Motion: Kinematics in One Dimension.
Chapter 7: Trajectory Generation Faculty of Engineering - Mechanical Engineering Department ROBOTICS Outline: 1.
© 2005 Pearson Prentice Hall This work is protected by United States copyright laws and is provided solely for the use of instructors in teaching their.
Chapter 2 Describing Motion: Kinematics in One Dimension © 2014 Pearson Education, Inc.
Multiplayer games on networks potential and tradeoffs.
Dead Reckoning. Outline Basic Dead Reckoning Model (DRM) –Generating state updates –Position extrapolation Refinements –Time compensation –Smoothing.
Trajectory Generation
Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.
CSCE 441: Keyframe Animation/Smooth Curves (Cont.) Jinxiang Chai.
CSCE 441: Keyframe Animation/Smooth Curves (Cont.) Jinxiang Chai.
By: Aaron Dyreson Supervising Professor: Dr. Ioannis Schizas
Physics Lesson 4 Linear Motion Eleanor Roosevelt High School Chin-Sung Lin.
Networked Graphics Building Networked Virtual Environments and Networked Games Chapter 11: Latency and Consistency.
Motion and Motion Graphs
1.1Motion and Motion Graphs. Kinematics Terminology Scalar vs. Vector Scalar: quantities that have only a size, but no direction – ie: distance, speed.
Introduction to Motion Position-Time Graphs Velocity-Time Graphs Acceleration-Time Graphs.
Curves University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2013 Tamara Munzner.
Kalman Filter and Data Streaming Presented By :- Ankur Jain Department of Computer Science 7/21/03.
Advanced Physics Chapter 2 Describing Motion: Kinematics in One Dimension.
Chapter 3 Describing Motion: Kinematics in One Dimension.
Grade 9 Review Kinematics (motion) – Velocity and Acceleration Reference Frames and Displacement Average Velocity Instantaneous Velocity Acceleration Motion.
Physics Chapter 2 Notes. Chapter Mechanics  Study of the motion of objects Kinematics  Description of how objects move Dynamics  Force and why.
CSCI480/582 Lecture 9 Chap.2.2 Cubic Splines – Hermit and Bezier Feb, 11, 2009.
COMPUTER GRAPHICS CHAPTERS CS 482 – Fall 2017 SPLINES
Parallel and Distributed Simulation
Chapter 2 Describing Motion: Kinematics in One Dimension
Computer Simulation of Networks
Physics: Principles with Applications, 6th edition
Chapter 2 Describing Motion: Kinematics in One Dimension
CSCE 441: Keyframe Animation/Smooth Curves (Cont.)
Chapter 2 Describing Motion: Kinematics in One Dimension
Physics: Principles with Applications, 6th edition
Describing Motion: Kinematics in One Dimension
12.5: Vector PVA.
Physics: Principles with Applications, 6th edition
Physics: Principles with Applications, 6th edition
Describing Motion: Kinematics in One Dimension
Last Class: Naming Name distribution: use hierarchies DNS
Presentation transcript:

Dead Reckoning References: Gamasutra (1), Gamedev (1)1 Forum articles (1)1

Fall Introduction Fast-paced interaction in twitch games Players expect the level of performance of distributed games to approximate that of single computer/player game Solution: dedicated network (end-to- end latency ms)

Fall Dead Reckoning From DIS (distributed interactive simulation) protocol of SIMNET project, DoD, USA Was for networking tank simulators Objectives: latency hiding, bandwidth reduction Basic Ideas: Agree in advance on a set of algorithms that can be used by all players to extrapolate the behavior of entities Update threshold: how far reality should be allowed to get from these extrapolations before a correction is issued

Fall Dead Reckoning [point-to-point] [quadratic] [linear] If the motion is still within the DR threshold (on Owner), no updates required.

Fall DR Algorithm (point-to-point) No path Noticeably jerky unless one packet is received per frame New packet [p]

Fall DR Algorithm (linear) moves along this v, until … New packet [p,v] Path does not consider change of velocity

Fall DR Algorithm (quadratic) moves along this v and a, until … NewPosition = OldPosition + Velocity*time + 0.5*Acceleration*(time) 2 New packet [p,v,a] Path does not consider change of acceleration – jerk

Fall PDU (protocol data unit) Data packet representing each entity Kinematic state: position, velocity, acceleration, orientation Other info: damage level, turret … Which dead reckoning algorithm to use Threshold: jerkiness vs. more PDUs to be sent

Fall Smoothing Jerkiness: due to sudden update of position Use smoothing algorithm to lessen the apparent jerkiness [more later]

Fall Extension Predictive Contract State-based, rather than kinematic-based State: “ drive along road to waypoint ”  If the definition of roads, the specific waypoint, the way of driving (right-side), … are known to all players, the vehicle could be computed w/o any network traffic Others: “ turn on/off the sensors ”, “ send out radio report ”

Fall Summary Dead reckoning is not free: every computer runs an algorithm to extrapolate each entity Trade processor cycles to reduced network use and apparent latency If all entities behave unpredictably all the time, DR offers little gain

Fall DR Smoothing with Cubic Splines (ref)ref Jerkiness is due to the sudden update of position The following method ensures smooth positional transition while ensuring accuracy by packet (server) updates Only cubic (parametric) curve can represent R 3 curve [quadratic curves are planar] Hermite curves are most common. Two points and their corresponding tangents need to be specified (by quadratic kinematics laws)

A Draftsman’s Spline Fall

Fall Math of Hermite Curves h1(s) = 2s 3  3s h2(s) =  2s 3 + 3s 2 h3(s) = s 3  2s 2 + s h4(s) = s 3  s 2 P(s) = P1h1(s) + P2h2(s) + T1h3(s) + T2h4(s) P ’ (s)=P1h1 ’ (s) + P2h2 ’ (s) + T1h3 ’ (s) + T2h4 ’ (s) h1 ’ = 6s 2  6s h2 ’ =  6s 2 +6s h3 ’ = 3s 2  4s+1 h4 ’ = 3s 2 – 2s Note: end tangent vectors are dP/ds

Fall s=0 t=0 s=1 t=T Reparameterization

Fall Algorithm When a packet [p,v,a] arrives, begin creating a cubic spline for next position Approximate (extrapolate) the [p,v] after time T A piece of Hermite curve is defined by two end points and two end tangents P1: current position T1: (scaled) current velocity P2: extrapolated position after T T2: (scaled) velocity after T T: estimated interval between packets

Fall Details New packet [p,v,a] Start a new spline by 1. Current [p,v] 2. New [p,v] computed by [p,v,a] after time T Move with current spline P1 T1 P2 T2 The position gradually changes from P1 (s=0) to P2 (s=1, t=T)