Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Dead Reckoning Andrew Williams. Dead reckoning Process of estimating a position using known information from the (recent) past. If you know the speed."— Presentation transcript:

1 Dead Reckoning Andrew Williams

2 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): http://www.gamasutra.com/features/19970919/aronson_01.htm

3 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

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

5 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

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

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

8 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

9 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

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


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

Similar presentations


Ads by Google