Dead Reckoning Andrew Williams. Dead reckoning Process of estimating a position using known information from the (recent) past. If you know the speed.

Slides:



Advertisements
Similar presentations
TCP/IP MODEL Maninder Kaur
Advertisements

Dead Reckoning Objectives – –Understand what is meant by the term dead reckoning. –Realize the two major components of a dead reckoning protocol. –Be capable.
Parallel and Distributed Simulation Lookahead Deadlock Detection & Recovery.
Lookahead. Outline Null message algorithm: The Time Creep Problem Lookahead –What is it and why is it important? –Writing simulations to maximize lookahead.
Cheat-Proof Playout for Centralized and Distributed Online Games By Nathaniel Baughman and Brian Levine (danny perry)
Programming with Alice Computing Institute for K-12 Teachers Summer 2011 Workshop.
Navigating the BOE-BOT
Online Virtual Environments: Second Life. Networked Virtual Worlds Early interest in shared virtual spaces –Training –Social –Scalability Difficult issues.
1 By: Christopher Burgess (CS) and Nathan Roy (IMGD) Advisor: Mark Claypool.
Lessons learned from a multiplayer RTS development Based on: ures/ /terrano_01.htm - accessed on 17th December.
A Networked Racing Game Andrew Williams. Purpose We have seen with the incrementer program the fundamentals of network programming We are going to apply.
CS514: Intermediate Course in Operating Systems Professor Ken Birman Vivek Vishnumurthy: TA.
Fairness in Dead Reckoning Based Distributed Multi-Player Games Sudhir Aggarwal, Hemant Banavar, Sarit Mukherjee, and Sampath Rangarajan presented by Christopher.
© nCode 2000 Title of Presentation goes here - go to Master Slide to edit - Slide 1 Reliable Communication for Highly Mobile Agents ECE 7995: Term Paper.
Latency Compensating Methods in Client/Server In-game Protocol Design and Optimization I’m Curtis.
1 Experiment And Analysis of Dynamic TCP Acknowledgement Daeseob Lim Sam Lai Wing-Ho Gordon Wong.
Internet and Intranet Protocols and Applications Section V: Network Application Performance Lecture 11: Why the World Wide Wait? 4/11/2000 Arthur P. Goldberg.
1 By Vanessa Newey. 2 Introduction Background Scalability in Distributed Simulation Traditional Aggregation Techniques Problems with Traditional Methods.
General Purpose 3D Cellular Automata Modeller. A Regular Lattice of Cells, each obeying the same set of rules Simple rules for individual cells can produce.
Patrick Lazar, Tausif Shaikh, Johanna Thomas, Kaleel Mahmood
1 Constant Following Distance Simulations CS547 Final Project December 6, 1999 Jeremy Elson.
MV-4474 Virtual Environment Network & Software Architectures Michael Zyda
COMPUTERS By: Kevin Williams Pd. 8/9. Introduction  Computers are programmable machines that are able to receive data and then are able to manipulate.
Introduction to Networked Graphics Part 3 of 5: Latency.
Scalability Don McGregor Research Associate MOVES Institute
GPS(Global Positioning System) -An Introduction. What is the GPS? Orbiting navigational satellites Transmit position and time data Handheld receivers.
Chapter 9 How Do Users Share Computer Files?. What is a File Server A (central) computer which stores files which can be accessed by network users.
Time Manipulation.  The game states rendered at the clients are different because latency is dependent on the location of the client from the server.
The Internet Trisha Cummings ITE115. What is the Internet? The Internet is a world-wide network of computer networks that use a common communications.
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.
By Andrew Y.T. Kudowor, Ph.D. Lecture Presented at San Jacinto College.
Distributed Virtual Environments Introduction. Outline What are they? DVEs vs. Analytic Simulations DIS –Design principles Example.
The High Level Architecture Introduction. Outline High Level Architecture (HLA): Background Rules Interface Specification –Overview –Class Based Subscription.
Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server.
References: Wikipedia PHYSICS + VECTORS.  Why physics?  Good for every game developer to know.  Physics formulae are often vector-based  A good chance.
Darkstar. Darkstar is a Sun research project on massively parallel online games The objective (not yet demonstrated!) is to supply a framework for massively.
Improving application layer latency for reliable thin-stream By: Joel Fichter & Andrew Sitosky Src:
DIS: Other PDUs Don McGregor Research Associate MOVES Institute
Dead Reckoning References: Gamasutra (1), Gamedev (1)1 Forum articles (1)1.
Networked Games Objectives – –Understand the types of human interaction that a network game may provide and how this influences game play. –Understand.
IP addresses IPv4 and IPv6. IP addresses (IP=Internet Protocol) Each computer connected to the Internet must have a unique IP address.
Dead Reckoning. Outline Basic Dead Reckoning Model (DRM) –Generating state updates –Position extrapolation Refinements –Time compensation –Smoothing.
Network Computing Laboratory 1 Vivaldi: A Decentralized Network Coordinate System Authors: Frank Dabek, Russ Cox, Frans Kaashoek, Robert Morris MIT Published.
UNIT 2 LESSON 4 CS PRINCIPLES. OBJECTIVES Students will be able to: Describe the redundancy of routing between two points on the Internet. Send messages.
Chapter 7: Consistency & Replication IV - REPLICATION MANAGEMENT By Jyothsna Natarajan Instructor: Prof. Yanqing Zhang Course: Advanced Operating Systems.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 23 Performance of Computer Systems.
Aim: What is the importance of probability?. What is the language of Probability? “Random” is a description of a kind of order that emerges in the long.
Simulation Examples And General Principles Part 2
Ch. 23, 25 Q and A (NAT and UDP) Victor Norman IS333 Spring 2015.
A Fragmented Approach by Tim Micheletto. It is a way of having multiple cache servers handling data to perform a sort of load balancing It is also referred.
Chapter 1 What is Simulation?. Fall 2001 IMSE643 Industrial Simulation What’s Simulation? Simulation – A broad collection of methods and applications.
Basic Coastal Navigation
How Do Users Share Computer Files?
“Nodes of Distributed Systems”
Internet and Intranet.
Parallel and Distributed Simulation
Chapter 1 Introduction Computer Networks, Fifth Edition by Andrew Tanenbaum and David Wetherall, © Pearson Education-Prentice Hall, 2011.
Distributed Computing
The TESLA Broadcast Authentication Protocol CS 218 Fall 2017
Internet and Intranet.
Measuring the Speed of EMR
CIS 4930/6930, Spring 2018 Experiment 1: Encounter Tracing using Bluetooth Due Date: Feb 19, beginning of class Ph.D. student lead: Mimonah Al-Qathrady.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Net 412 (Practical Part) Networks and Communication Department LAB 1.
Internet and Intranet.
NET 424: REAL-TIME SYSTEMS (Practical Part)
Measuring the Speed of EMR
Internet and Intranet.
Last Class: Naming Name distribution: use hierarchies DNS
Presentation transcript:

Dead Reckoning Andrew Williams

Dead reckoning Process of estimating a position using known information from the (recent) past. If you know the speed someone was going, the direction they were travelling in and if you can assume they are going to continue going on in a straight line … Gamasutra article (accessed December 2008):

Dead Reckoning Used in the past in ocean sailing Used in (light) aircraft US Department of Defense (sic) – DARPA project called SIMNET Developed out of a DoD protocol called Distributed Interactive Simulation (DIS) – The original purpose was to construct distributed simulations of tank battles

Advanced Distributed Simulation Each client contains a protocol data unit (PDU) – Roughly equivalent to our CarStatusInformation and UserStatusInformation Each client sends this out around the network On receiving a PDU from another client, another machine has to update the location of that client’s object – What would be the problem with this? Answer: That would be very choppy!

Net Racing The five hundred series is not really client- server – I have called them Master-Slave to reflect that the Master does all the work (perhaps I have that backwards) – No need for dead-reckoning because the master keeps the canonical information about where everybody is up to This is OK because we would expect latency to be low within the single lab

Net Racing The six hundred series (version 600 is not finished yet as of 16 th December 2008) has more independent clients – Each client will simulate the race by receiving an update (from the server) of where everyone is up to and where they are going ( CarStatusInformation and UserStatusInformation ) What if a client misses an update from the server?

Dead Reckoning We need some shared measure of time – It only needs to be accurate for the duration between updates from the server In simple terms, the client keeps track of what all the other clients are doing If an update packet does not arrive – Calculate the new position of other clients using the time and the last known position and direction – BUT! Can you see a problem? Answer: What about when a corner is approaching?

Dead Reckoning The DIS system is more elaborate because their network was less capable. For their work the clients did not habitually send out updates – They sent updates only when the simulation was out of synchronisation – How did they know? Answer: Each client would also run the dead-reckoning algorithm about themselves; if their actual position was too far from the algorithm’s “guess” it was time to update the network with new information

Dead Reckoning Problems: – Obstacles (eg corners in a racing game) – Terrain ie hills etc (how accurate is your physics?) Suppose your tank is going at 10kph; is that 10kph come-what-may or 10kph on level ground and therefore slower going up a hill? Easier for flight simulations etc

Dead Reckoning It is not just for movement! What about a tank which is rotating its turret? If you know the turret is rotating do you want to be able to simulate that on other clients? – What extra information would you need to include in the “PDU”? – Is that something we would need to worry about these days? Experiment to find out!!