Time Warp and Prediction Analysis in a Top-Down Shooter Game
Total Page:16
File Type:pdf, Size:1020Kb
Time Warp and Prediction Analysis in a Top-Down Shooter Game A Major Qualifying Project submitted to the Faculty of WORCESTER POLYTECHNIC INSTITUTE in partial fulfilment of the requirements for the degree of Bachelor of Science In Computer Science by Ben Hetherington Alex Osler Date: 6 March 2020 Professor Mark Claypool, Advisor Worcester Polytechnic Institute This report represents work of WPI undergraduate students submitted to the faculty as evidence of a degree requirement. WPI routinely publishes these reports on its website without editorial or peer review. For more information about the projects program at WPI, see http://www.wpi.edu/Academics/Projects. i Abstract: Online video games have grown in popularity, bringing latency as a challenge for game developers. We studied the impact of two latency compensation techniques, time warp and prediction, on player performance, player experience, and system load by developing a networked, top-down shooter with both techniques. We conducted a user study with 32 participants, varying the latency and enabled compensation techniques across 16 game rounds and experiments with up to a hundred AI players. While neither latency compensation technique substantially impacted player performance, prediction made latency less noticeable. Based on our data and time warp’s constraints it may not be worth including in a top-down shooter, whereas prediction is more effective as it reduces players’ perceptions of latency. ii Table Of Contents: Abstract ………………………………………………………………………………………….... i Table of Contents ……………………………………………………………………………….... ii 1. Introduction …..………………………………………………………………………………... 1 2. Background ……..……………………………………………………………………………... 4 2.1 Latency ………………………………………………………………………………. 4 2.1.1 Client Side Latency………………………………………………………..... 4 2.1.2 Internet Latency…………………………………………………………….. 5 2.1.3 Server Side Latency..……………………………………………………….. 5 2.2 Effects of Latency on Gamers.………………………………………………………...6 2.3 Latency Compensation Techniques……………………………..………………….… 7 2.3.1 Time Warp……….....……………...……………………………………….. 7 2.3.2 Prediction.……….....……………………………………………………….. 8 2.3.3 World Manipulation..……………………………………………………… 10 2.3.4 Visual Manipulation..………………………………………………………11 2.3.5 Displaying Ping….....……………………………………………………… 11 2.4 Summary……………………...……………………………………………………... 12 3. Methodology …………….……………………………………………………………....…… 13 3.1 Six Shooter………………………………....………………………………………... 13 3.1.1 Game Design....….....……………………………………………………… 14 3.1.2 Game Engine....….....……………………………………………………… 14 3.1.3 Game Logic......….....……………………………………………………… 16 3.1.4 Network Implementation………………………………………………….. 16 3.2 Time Warp………………….……………………………………………………….. 17 3.2.1 Why Implement Time Warp...…………………………………...…….….. 17 3.2.2 Time Warp Implementation...………………………………………….….. 18 3.3 Prediction……………………………………………………………………………. 19 3.3.1 Why Implement Prediction....………………………………………….….. 20 3.3.2 Prediction Implementation.....………………………………………….….. 20 3.4 User Study…………………………………………………………………....….…... 20 iii 3.4.1 Survey Design…………........………………………………………….….. 21 3.4.2 Study Procedure.………........………………………………………….….. 21 3.4.3 Study Environment……........………………………………………….….. 22 3.5 Experiments…………………………………………………………………………. 22 3.5.1 Performance Procedure…......………………………………………….….. 23 4. Results and Findings …………………………………………………………………………. 25 4.1 Study Data………………………………………………... ……………………….... 25 4.1.1 Survey Data…………..…......………………………………………….….. 25 4.1.2 Effects of Latency..…..…......………………………………………….….. 26 4.1.3 Effects of Latency Compensation..…………………………………….….. 28 4.2 Experiments……………………………………………..…………………………... 30 4.2.1 Time Warp Performance………....…………………………………….….. 30 4.2.2 Time Warp Duration…..………....…………………………………….….. 31 4.2.3 Networking Performance...……....…………………………………….….. 32 5. Conclusion……………………………………………………………………………………. 34 5.1 Analysis of the Impacts of Latency Compensation.………………………………… 34 5.1.1 Effects of Time Warp………....…………………………………….……... 34 5.1.2 Effects of Prediction.………....…………………………………….……... 35 5.1.3 General Conclusion...………....…………………………………….……... 36 5.2 Future Works…………………………………….…………………………………... 36 References ………………………………………………………………………………………. 38 Appendix A...……………………………………………………………………………………. 42 Appendix B...……………………………………………………………………………………. 45 Appendix C...……………………………………………………………………………………. 46 Appendix D...……………………………………………………………………………………. 47 1 1. Introduction The round trip time, or latency, a packet takes when traveling to and from a server will add an inherent delay to player interactions in any traditional client-server game. This delay can vary significantly, but it can easily affect a player’s experience and performance in time sensitive tasks. While the impact of latency can be mitigated by improving bitrate, one can never entirely remove its effects. Many users nowadays expect their applications to work over the Internet, and this is especially true with regard to video games. Making video games playable over the Internet substantially broadens the pool of potential players for a multiplayer game, but also increases the impact of network latency on the game. In many games latency has a definite effect on player performance, and as such latency compensation techniques are an important area of study (Quax et. al., 2004, p. 156). There is no consensus on which techniques should be used, but the five options we have chosen to consider are time warp, prediction, world manipulation, visual manipulation, and displaying ping. Time warp operates by changing the server’s game world so it emulates the client’s. Once the server receives an event from the client, the server calculates what game state the client was at when the event took place. The server then turns its game world back to that state. It applies the update to the game world and fast forwards the game back to its original state (Juckett, 2016). Using this technique, the client gets a reactive experience with a reduced number of distracting visual glitches. Many popular games such as “Counter-Strike: Global Offensive” (Valve Corporation, 2012) and “Overwatch” (Blizzard Entertainment, 2016) currently implement a form of latency compensation known as prediction (Ford and, Orwigg, 2016) (Source Multiplayer Networking, 2001). With prediction, the client takes the last game state and attempts to predict where the 2 other entities in the game will move. It then displays these to the player, and allows the player to interact with them. Once a new server state is received, it moves the out of place entities to their correct locations, and starts the process again (Source Multiplayer Networking, 2001). This creates a smooth experience for the player, even if their latency is high or the server updates infrequently. Both prediction and time warp have been researched for their effects on player performance, but these studies have stayed consistently separate. When prediction was studied in a paper by Pantel and Wolf, they found that it had a beneficial effect on player performance in a wide variety of game types (2002, p. 84). Similarly, when Palant, Griwodz, and Halvorsen tested prediction on a simple tank game, they found that it meaningfully improved player accuracy (2006, p. 5). Time warp has been shown to have similar positive effects. When studied by Sun, the author found that time warp increased users scores in a simple 2d game (2017, p. 29). In another study, Lee and Chang found that “Counter-Strike: Global Offensive” players had higher accuracy when playing with time warp (2015, p.3). While all of these studies provide evidence as to the effectiveness of these techniques, none set out to test them together. Even in Lee and Chang’s paper, where both techniques were studied, they specifically disabled time warp when testing prediction, and tried to minimize prediction’s effect on their testing of time warp. To fill this gap, the goal of our project is to evaluate latency’s effect on player performance, and specifically how effective prediction and time warp are when used in conjunction. We test these methods by adding latency to a network game and testing with human participants. We created a relatively simple top down player vs. player shooter, which creates a situation where players interact in a controlled environment. Using this game, we gathered and 3 examined metrics from players, such as their hit rate, to measure player performance. We collected these metrics under a variety of different latency and latency compensation situations, and used them to determine how differing latencies and compensation techniques affect player performance. Additionally, we gathered subjective data on players opinions of latency, and the visual glitches latency causes. This study was performed with 32 participants. The data from this made it clear that latency does not have a significant effect on player accuracy when using projectile weapons, however hitscan weapon accuracy decreases as latency increases. These results hold true with both forms of latency compensation on and off. Prediction does, however, decrease how noticeable latency is while time warp does not have the same effect on perception. In this paper, we first provide a chapter on the background information needed to understand our study and its results. It then outlines how our game was implemented, and why we choose time warp and prediction. Next it describes our study design, and a few performance experiments we performed on our game. Finally, it analyzes our study and experiment data, and provides conclusions based