|
Author |
Thread Statistics | Show CCP posts - 0 post(s) |
R F Gyro
ZionTCD Legacy Rising
315
|
Posted - 2012.11.20 11:04:00 -
[1] - Quote
I've been reading various threads about "hit detection" and have been interested enough (as a software developer myself) to want to understand a little more about it. One thing that I feel might help would be to clarify the terminology used when talking about hit detection as there are a number of factors in play here.
The following is an initial attempt to clarify some of the terminology relating to perceived hit detection issues, in the hope that promoting use of the terminology will lead to more accurate descriptions of the issues we are seeing in-game. When someone describes a problem with perceived hit detection we can then start to narrow down the potential causes.
Most of this is speculative and possibly (probably?) even wrong. I'd love to see a CCP dev blog on the subject.
Hit Detection (a) Perceived hit detection The ability of the game to apply damage to a target that a player believes they should have hit. Perceived hit detection is affected not just by technical hit detection but also by latency, lag and desync, as well as weapon falloff and spread. (b) Technical hit detection The process by which the game engine determines that a shot hit a target within a single, self-consistent model of the environment.
Latency (a) Network latency The time taken for network packets to travel between two systems. Generally ranging from a few tens to several hundreds of milliseconds on the context of online FPS games. (b) Game latency The time taken to propogate updates from one model of the environment to another; includes network latency and the time taken to process updates by the receiver. Game latency leads to situations in which, for example, a shooter and his target each have a different view of their relative positions and it becomes impossible for both to agree on whether the shot hits or misses. Latency tends to affect hit detection in situations where the shooter and/or target are moving rapidly.
Lag Issues caused when the system maintaining a model of the environment cannot keep up with the pace of updates it is receiving, leading to ever increasing levels of game latency until the rate of updates falls to a sustainable pace. In high lag situations the delay between a shot being fired and the model registering it as a hit may be so long that it does not make sense to process it. Lag can be caused when servers are overloaded, for example.
Desync Issues caused when two models of the same environment become permanently desynchronised, ie. they have different values for positions, orientations & state for objects in the environment. Often caused when an update from another model is missed or cannot be processed. By "permanently" we mean that there are no pending updates that will restore the models to synchronised status.
Falloff In Dust, weapons have optimal ranges and a falloff distance; damage decreases rapidly beyond optimal range. At the extreme end of the falloff range for a weapon it is possible to hit the target and yet do almost no damage.
Spread Weapons in Dust have a "spread"; at longer ranges the effects of the weapon are spread over a larger area and therefore diluted. At extreme ranges the spread may be so severe that a hit does almost no damage.
Client hit animation When a shooter in an FPS pulls the trigger they expect to see an instant response (shield flash in Dust 514); their own client is often best placed to display this. In the presence of latency, lag, desync or other hit detection issues the client hit animation may be displayed in situations where the hit is not actually registered by the server. From the shooter's perspective it looks like the server "got it wrong"; from the server's perspective the client displayed the hit animation when it should not have.
|
R F Gyro
ZionTCD Legacy Rising
315
|
Posted - 2012.11.20 20:15:00 -
[2] - Quote
Apparently I need to add client-side lag to the list as well. Seems there is a client bug that uses up loads of memory and prevents the client from reliably sending to the server. |
R F Gyro
ZionTCD Legacy Rising
315
|
Posted - 2012.11.22 09:07:00 -
[3] - Quote
Garrett Blacknova wrote:Very long-winded way to say "DUST uses server-side hit detection" and "lag screws with you sometimes" - but good post. +1
There are legitimate hit detection issues as well as some of the problems people call hit detection which are really latency-related.
Thanks for the +1.
I wanted to give a bit of explanation in addition to the headlines, differentiate between lag & latency (important to the devs more than players probably) and also thought it was important to include other reasons why a hit might not do significant damage.
My hope is that the next time someone posts "OMG HIT DETEKSHUN IS BROKEN!!!!!!!" we can use this terminology to help understand what happened. Was the target moving rapidly? Latency issues. Were they consistently missing some targets but consistently hitting others? Desync. Were they at the extreme edge of their weapon's range? Falloff or spread. |
R F Gyro
ZionTCD Legacy Rising
315
|
Posted - 2012.11.24 19:58:00 -
[4] - Quote
Gonna bump this to get the proposed terminology a bit more exposure. |
|
|
|