JohnWatson Posted December 29, 2016 Share Posted December 29, 2016 I don't really know how network stuff works in this game, but a lot of people seem to be complaining about lag, especially when kiting. I guessing that's because when they dodge an enemy, they will see on their screen that they are out of range of an attack, however because there is a delay before the information of the player running from one position to another is sent to the server, the server will think that the player is still in range of the attack and therefore should take damage. Spoiler In other multiplayer games, the same thing happens because lag is unavoidable. For example in TF2, let's say, somebody is chasing you while you are backpedaling. You both have your melee weapons out and take swings at each other, however only his hits register. The game makes you take damage from where you are and deal damage from where you were. That is because while you know your real position, where you see yourself on your screen, the server only knows your delayed position. How outdated your position is to the server depends on your ping. If you have 200 ping, then the server only takes into account your position from 0.2 seconds ago. 50 ping means a 0.05 second delay, 1000 ping means a 1 second delay, etc. Spoiler TF2 actually uses collision hulls for melee hit registration instead of hitboxes, but "hitbox" is a more familiar term for most players. Also here's the video which made me learn this. Currently, DST makes you take damage from where you were, even if the attack animation of the mob doesn't match up. This usually gives the illusion that mobs have doubled attack range and quicker attack wind-ups, which I can understand is frustrating. What if the game only let you take damage from where you are? This means the game only checks if you were in attack range or not when the mob performs its attack on your own screen instead of the server. I believe that would be a more reliable way to decide if a player should take damage or not. Again, I don't know how network stuff works in this game. If somebody with proper knowledge can provide a better solution, then that would be delightful. Note that I'm not saying I'm completely correct, this is all just guesses based on my limited knowledge. Also, don't laugh at the terrible drawings. Link to comment https://forums.kleientertainment.com/forums/topic/72940-take-and-deal-damage-from-your-own-screen/ Share on other sites More sharing options...
Diaboliko Posted December 29, 2016 Share Posted December 29, 2016 Game is server based on like 95% to prevent cheating. Disabling lag compensation could be done via video configurations or via console command ThePlayer:EnableMovementPrediction(false). It even is labeled as "predictive" lag compensation. To understand fully how it works you just have to toggle it a few times. Explaining it via text has no point since its obvious. // Also, speaking of 3D shooters, those I know of use linear interpolation by default, creating additional lag (just google how lerp works). Though some games are compensating this artificial lag entirely. Always gotta check if shooter you are playing at does that :> Link to comment https://forums.kleientertainment.com/forums/topic/72940-take-and-deal-damage-from-your-own-screen/#findComment-853960 Share on other sites More sharing options...
CarlZalph Posted December 29, 2016 Share Posted December 29, 2016 Yeah, disabling the prediction is the best route as it's just a client-sided predictor that makes no attempt at fixing discrepancies on the server while the server doesn't actually compensate for the lag. Having the server trust the client with important gameplay effecting things such as being hit or hitting others isn't a good way of doing things because it opens up the door for cheaters to gain unfair/physics-breaking advantages over others. For instance, having the client teleport its prediction away from targets when the client sees an attack happen to negate all damage. Link to comment https://forums.kleientertainment.com/forums/topic/72940-take-and-deal-damage-from-your-own-screen/#findComment-853967 Share on other sites More sharing options...
JohnWatson Posted December 29, 2016 Author Share Posted December 29, 2016 Ah, I guess they made hit detection server-sided to prevent cheating. Sounds reasonable. 17 hours ago, Diaboliko said: // Also, speaking of 3D shooters, those I know of use linear interpolation by default, creating additional lag (just google how lerp works). Though some games are compensating this artificial lag entirely. Always gotta check if shooter you are playing at does that :> Yes, I believe TF2 applies that by default. Though, there are console commands which allow you to disable it. Link to comment https://forums.kleientertainment.com/forums/topic/72940-take-and-deal-damage-from-your-own-screen/#findComment-853969 Share on other sites More sharing options...
PanAzej Posted December 29, 2016 Share Posted December 29, 2016 Yeah, combat in DST is a horrible experience. You'd think that in a SURVIVAL game you'd be able to actually survive with enough skill. But nope, unless you disable movement prediction. And even with movement prediction turned off you can screw up, since input gets reset when actual 'lag' happens, so you have to spam/hold your keys to kite properly. And it takes time to get used to play like that. Some complain that it's "horrible lag", some say that it's "horrible game engine". I'd say it's just networking done badly, but hey, I may be wrong. You'd think that ironing this out would be a top priority. But nope, we're out of beta, and it's still horrible. Link to comment https://forums.kleientertainment.com/forums/topic/72940-take-and-deal-damage-from-your-own-screen/#findComment-853983 Share on other sites More sharing options...
Diaboliko Posted December 29, 2016 Share Posted December 29, 2016 3 minutes ago, PanAzej said: Yeah, combat in DST is a horrible experience. You'd think that in a SURVIVAL game you'd be able to actually survive with enough skill. But nope, unless you disable movement prediction. And even with movement prediction turned off you can screw up, since input gets reset when actual 'lag' happens, so you have to spam/hold your keys to kite properly. And it takes time to get used to play like that. Some complain that it's "horrible lag", some say that it's "horrible game engine". I'd say it's just networking done badly, but hey, I may be wrong. You'd think that ironing this out would be a top priority. But nope, we're out of beta, and it's still horrible. There is, however, very little amount of content that can get you out of guard, so its currently not too big of an issue. Though surely grinds my gears. Link to comment https://forums.kleientertainment.com/forums/topic/72940-take-and-deal-damage-from-your-own-screen/#findComment-853984 Share on other sites More sharing options...
Ecu Posted December 29, 2016 Share Posted December 29, 2016 Unfortunately there isn't likely much that can be done about this at all. In a multiplayer game like this, prediction is used to keep the game looking smooth, when in reality it is not. The sync issues that are described here are generally unavoidable if you are actually experiencing reasonable lag between you and the server. You cannot trust the client to manage the positioning, as that would leave the game wide open to exploits. The general rule of thumb when developing anything multiplayer is to never trust the client. As prediction cannot actually read the player's mind, there is no method for it to truly determine what action you will take at any given time and correctly compensate for lag issues. The only real solution is to only play on servers with low ping, to prevent yourself from the lag issues to begin with. Link to comment https://forums.kleientertainment.com/forums/topic/72940-take-and-deal-damage-from-your-own-screen/#findComment-853988 Share on other sites More sharing options...
PanAzej Posted December 29, 2016 Share Posted December 29, 2016 51 minutes ago, Ecu said: The only real solution is to only play on servers with low ping, to prevent yourself from the lag issues to begin with. Or reworking combat entirely. But that won't happen. Link to comment https://forums.kleientertainment.com/forums/topic/72940-take-and-deal-damage-from-your-own-screen/#findComment-853999 Share on other sites More sharing options...
Maslak Posted December 29, 2016 Share Posted December 29, 2016 1 hour ago, Ecu said: The general rule of thumb when developing anything multiplayer is to never trust the client. I know nothing about these things, but what about an optional trust for clients? It would work well in private games, because a pack of friends won't care about cheaters since they won't invite any strange people anyway. Link to comment https://forums.kleientertainment.com/forums/topic/72940-take-and-deal-damage-from-your-own-screen/#findComment-854004 Share on other sites More sharing options...
Diaboliko Posted December 29, 2016 Share Posted December 29, 2016 12 minutes ago, Maslak said: I know nothing about these things, but what about an optional trust for clients? It would work well in private games, because a pack of friends won't care about cheaters since they won't invite any strange people anyway. That would require running async servers, and here comes the problem of some stuff being random in this game(and this random is calculated whenever the time comes, it doesn't come from some "seed" variable) and the problem of one user possibly having a lag. If one does not give any hecks about smooth and non senseless look - that can be done with mods (e.g. TES5:Skyrim has that kind of mode), but devs are unlikely to bother with that. Link to comment https://forums.kleientertainment.com/forums/topic/72940-take-and-deal-damage-from-your-own-screen/#findComment-854006 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.
Please be aware that the content of this thread may be outdated and no longer applicable.