Hit registration algorithms in First-Person Shooter games define how the server processes gunfire from clients. Network conditions, such as latency, cause a mismatch between the game worlds observed at the client and the server. To improve the experience for clients when authoritative servers are used, the server attempts to reconcile the differing views when performing hit registration through techniques known as lag compensation. This thesis surveys recent hit registration techniques and discusses how they can be implemented and evaluated with the use of a modern game engine. To this end, a lag compensation model based on animation pose rewind is implemented in Unreal Engine 4. Several programming models described in industry and research are used in the implementation, and experiences from further integrating the techniques into a commercial FPS project are also discussed. To reason about the accuracy of the algorithm, client-server discrepancy metrics are defined, as well as a hit rate metric which expresses the worst-case effect on the shooting experience of a player. Through automated tests, these metrics are used to evaluate the hit registration accuracy. The rewind algorithm was found to make the body-part-specific hit registration function well independently of latency. At high latencies, the rewind algorithm is completely necessary to make sure that clients can still aim at where they perceive their targets to be and expect their hits to be registered. Still, inconsistencies in the results remain, with hit rate values sometimes falling below 50%. This is theorized to be due to fundamental networking mechanisms of the game engine which are difficult to control. This presents a counterpoint to the otherwisegained ease of implementation when using Unreal Engine.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:liu-180464 |
Date | January 2021 |
Creators | Jonathan, Lundgren |
Publisher | Linköpings universitet, Informationskodning |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0019 seconds