Accuracy and Fairness in Dead Reckoning Based Distributed Multiplayer Games

Distributed real-time multiplayer games are played over a network among a set of players competing against each other and/or against Artificial Intelligence (AI). A latency hiding and bandwidth reduction technique known as 'Dead Reckoning' is often used in these games. The games use dead r...

Full description

Bibliographic Details
Other Authors: Banavar, Hemant (authoraut)
Format: Others
Language:English
English
Published: Florida State University
Subjects:
Online Access:http://purl.flvc.org/fsu/fd/FSU_migr_etd-1047
Description
Summary:Distributed real-time multiplayer games are played over a network among a set of players competing against each other and/or against Artificial Intelligence (AI). A latency hiding and bandwidth reduction technique known as 'Dead Reckoning' is often used in these games. The games use dead reckoning vectors to inform other (at a distance) participating players about the movement of any entity by a controlling player. The dead reckoning vectors contain information about the current state of the entity and additional information that defines the projected path the entity is going to take. The state of the entity is made up of one or more of the following – position, velocity, direction, acceleration and other kinematics. When a participating player receives a dead reckoning vector, games traditionally put the entity at the position specified by the dead-reckoning vector and start projecting the path of the entity from that point based on the type of the dead reckoning algorithm, using the local clock of the receiver. This thesis shows that this traditional method of usage of dead reckoning vector brings in inaccuracy in the receivers' rendering of the entity. This inaccuracy can be substantial even with low network delay between the sender-receiver pairs and increases with network delay. We propose an accuracy model to overcome this inaccuracy problem. In the accuracy model we propose using globally synchronized clocks and timestamp augmented dead-reckoning vectors which allow the receiver to estimate the latency between sender and receiver and apply correction for the delay, thus rendering the entity accurately. An open-source game 'BZFlag' was modified to use timestamp augmented dead-reckoning vectors and globally synchronized clocks. The modified version showed significant quantitative improvement in the accuracy even for 100ms delay between the sender-receiver pairs and appreciable qualitative improvement in game playing experience. The thesis also explores the issue of fairness among the participating players in real-time multi-player games. In a sense, the inaccuracy would be tolerable if it is consistent among all players; that is, at the same physical time, all players see inaccurate (with respect to the real position of the object) but identical trajectory for an object. But due to varying network delays between the sender and different receivers, the inaccuracy is different at different players as well. This leads to unfairness in game playing. We first considered two scheduling approaches to achieve fairness. It was observed that, even though they achieve a high degree of fairness, they do it at the cost of increasing the mean inaccuracy of the system. This led to overall performance degradation of the game as compared to the original case. Next, we proposed a budget based probabilistic algorithm based on the intuition that using a fixed budget (same as in the base case) of DR vectors, by increasing the frequency of sending the dead reckoning information to receivers which are more inaccurate and decreasing the frequency of sending the dead reckoning information to receivers which are less inaccurate as compared to the sender, we can achieve fairness and at the same time improve the accuracy of the more inaccurate receivers in the system. The probabilistic nature of the algorithm led to a higher inaccuracy at the receivers when they did not get the dead reckoning information for a long time and hence increased the mean inaccuracy of the system. Hence, a budget based deterministic algorithm on similar lines was proposed and it was shown that it achieves a higher degree of fairness and at the same time maintains the mean inaccuracy of the system same as in the base case. The deterministic algorithm also succeeded in increasing the accuracy of more inaccurate receivers in the system. At the same time it achieved fairness with the same overall budget of dead reckoning vectors as in the base case and hence at no extra cost. BZFlag was modified to use the deterministic model to achieve fairness. It was shown that it achieved a considerably higher degree of fairness as compared to the base case and led to appreciable qualitative improvement of the game play. The last part of the thesis was to generalize the above work by extending an open source Game Networking Library – Open TNL to support dead reckonable game objects (DRObject). Game developers using Open TNL can make use of the DRObject class and create dead reckonable objects without worrying about the sending and receiving of dead reckoning vectors. Once the distance and the time threshold are specified, for the triggering of the dead-reckoning vector, the replication of the DRObject to all the receivers every time the threshold is crossed happens automatically. The accuracy model discussed above was also extended to Open TNL so that the DR Objects take into account the delay between the sender and the receiver and project the object at the receiver accurately. The deterministic model for fairness is to be integrated to Open TNL in the future. === A Thesis Submitted to the Department of Computer Science in Partial Fulfillment of the Requirements for the Degree of Master of Science. === Summer Semester, 2005. === June 1, 2005. === Distributed Multi-Player Games, Accuracy, Fairness, Dead Reckoning, Clock Synchronization, Network Delay, Latency, Network Games === Includes bibliographical references. === Sudhir Aggarwal, Professor Directing Thesis; Sarit Mukherjee, Outside Committee Member; Sampath Rangarajan, Outside Committee Member; Kartik Gopalan, Committee Member; Zhenhai Duan, Committee Member.