Suspect: Greater Hitbox Lag Theory.

AlignAlign Remain Calm Join Date: 2002-11-02 Member: 5216Forum Moderators, Constellation
edited March 2004 in NS General Discussion
<div class="IPBDescription">Celerity vs leap = advantage?</div> After complaining (on a server while playing) about how I never seem to be able to avoid getting the "shots spark off the skulk" problem with my shottie, and claiming that I always get shot up rather easily when I'm flying around(leap, see sig), someone mentioned that he also found that annoying, but shooting leaping skulks is really easy for some reason.

So I got the idea that maybe it's because of just being in the air or not that causes hitbox lag. And, went in today and used leap as little as possible(celerity and cara early instead). It was insane. On co_faceoff I would run around a corner into 3(<b><u>3!</u></b>) <b>shotgun</b> marines, and survive to kill them all. This even without focus.
And the marines were NOT crappy, at least one of them was a clan player, and the others weren't doing too shabby earlier in the game.

A bit later during the end-game I used leap a bunch. As it was, the marines were usually busy shooting fades, and didn't aim for me, so it was a bunch easier than assaulting the marine base usually is. But, point is, now when I went head-to-head with shotgunners I would actually get shot when you'd expect to get shot, and not just... randomly.


So, in short;
Running around without leaping, preferably with celerity, means you get the infamous "hitbox lag", where shots just bounce off you harmlessly most of the time.
Leaping, while making you a harder target, means you actually get hit normally.
«1

Comments

  • ForlornForlorn Join Date: 2002-11-01 Member: 2634Banned
    I do believe you are 100% correct.

    However, realize that what you say only applies to a shotgun. For HMG's and LMG's, if you just run on flat they will never miss you due to hitbox lag in most cases, unless you are bugged.
  • taboofirestaboofires Join Date: 2002-11-24 Member: 9853Members
    My first thought was that leaping skulks have the bad habit of propelling themselves right into the face of the marine, making them really really easy to shotgun. Can't miss if you tried. Celerity is much less linear, and skulks forget to dodge the bullets less often.

    I can't promise that this is the case with your experiance, however.
  • AlignAlign Remain Calm Join Date: 2002-11-02 Member: 5216Forum Moderators, Constellation
    Really now, 3 shotgunners, and I run face-first into them. I ought to have died then. And haven't you seen a shotgun just "spark" on a skulk running around, rather than actually hit it, with blood splatches and stuff?
  • MMZ_TorakMMZ_Torak Join Date: 2002-11-02 Member: 3770Members
    <!--QuoteBegin-Align+Mar 24 2004, 09:52 AM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Align @ Mar 24 2004, 09:52 AM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> Really now, 3 shotgunners, and I run face-first into them. I ought to have died then. And haven't you seen a shotgun just "spark" on a skulk running around, rather than actually hit it, with blood splatches and stuff? <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
    Seen it; died because of it.
  • LichoLicho Join Date: 2002-11-02 Member: 3858Members, NS1 Playtester
    This is because you are chaning direction faster and in sharper angles with ground skulk than with leaping. (Lag compensation code cannot handle such things well and you are displaced -> they miss you)
  • AlignAlign Remain Calm Join Date: 2002-11-02 Member: 5216Forum Moderators, Constellation
    But why do the shots still "hit" the model, since it actually sparks off the model and not the wall behind?
  • ForlornForlorn Join Date: 2002-11-01 Member: 2634Banned
    <!--QuoteBegin-Align+Mar 25 2004, 12:52 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Align @ Mar 25 2004, 12:52 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> But why do the shots still "hit" the model, since it actually sparks off the model and not the wall behind? <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
    Question of year
  • SaltzBadSaltzBad Join Date: 2004-02-23 Member: 26833Members
    edited March 2004
    Maybe NS decals are intentionally drawn logically clientside (meaning they won't be drawn on the first object in their path), regardless of there being no hitbox there to the best of your clients knowledge ? (Otherwise, it would draw blood regardless of hitting)

    Of course, that'd be different than say CS does it.
  • WraithbladeWraithblade Join Date: 2004-02-11 Member: 26375Members
    Bullet hits on walls (sparks) are drawn client side, while blood hits are only drawn once the server confirms that it is in fact a hit.
  • AlcapwnAlcapwn &quot;War is the science of destruction&quot; - John Abbot Join Date: 2003-06-21 Member: 17590Members
    Maybe this could somehow be countered by setting the hitboxes slightly ahead of the atcual model? So when the box lags, it so happenw to fall right on the model...

    Of course this would raise the question of, that wouldnt be very fair if you were standing still and the hitbox wasnt on you.... <!--emo&???--><img src='http://www.unknownworlds.com/forums/html//emoticons/confused.gif' border='0' style='vertical-align:middle' alt='confused.gif' /><!--endemo-->
  • GadzukoGadzuko Join Date: 2002-12-26 Member: 11556Members, Constellation
    <!--QuoteBegin-Wraithblade+Mar 26 2004, 10:55 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Wraithblade @ Mar 26 2004, 10:55 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> Bullet hits on walls (sparks) are drawn client side, while blood hits are only drawn once the server confirms that it is in fact a hit. <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
    No, that's actually an option that you can turn on. Client side hit prediction causes blood when there was no hit sometimes.
  • SariselSarisel .::&#39; ( O ) &#39;;:-. .-.:;&#39; ( O ) &#39;::. Join Date: 2003-07-30 Member: 18557Members, Constellation
    Hitbox lag exists both in the air and on the ground, celerity increases it. To an extent, all weapons suffer unless you're aiming slightly behind the player if he moves.

    With your situation, there are two explanations (other than just 'luck'): a) you were hitbox-bugged, which is a seperate condition which renders you bulletproof as long as you keep moving and don't move directly towards fire, b) the location where you pulled off 3 kills was advantageous for you. I'd suspect there was a problem if you were playing against top-calibre clanners in open areas, but your evidence isn't strong enough.
  • Norml_E_HighNorml_E_High Join Date: 2003-03-30 Member: 15055Members
    Yeah I've been noticing this since I started playing 3.0b. Basically I thought I was sucking with the shotgun, and we all know how hard that is, until I finally was sure I had hit a skulk point blank with a level 3 shotgun only to be killed. This even happened to me in a vent, skulk is right in front of me, no way i can miss int he vent, two point blank shots, and he kills me. WTH? I asked him how much hp he had, and he claims he had 70/10 but theres no way for me to know for sure. I definately think this problem needs further investigating. Stupid little skulks need to start dying when they should.... <!--emo&???--><img src='http://www.unknownworlds.com/forums/html//emoticons/confused.gif' border='0' style='vertical-align:middle' alt='confused.gif' /><!--endemo-->
  • ForlornForlorn Join Date: 2002-11-01 Member: 2634Banned
    Things like this should not happen
  • SariselSarisel .::&#39; ( O ) &#39;;:-. .-.:;&#39; ( O ) &#39;::. Join Date: 2003-07-30 Member: 18557Members, Constellation
  • AlignAlign Remain Calm Join Date: 2002-11-02 Member: 5216Forum Moderators, Constellation
    That doesn't tell us anything Sarisel. We know it's because of the netcode, if that's what you were trying to say.
  • LichoLicho Join Date: 2002-11-02 Member: 3858Members, NS1 Playtester
    <!--QuoteBegin-Forlorn+Mar 25 2004, 09:02 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Forlorn @ Mar 25 2004, 09:02 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> <!--QuoteBegin-Align+Mar 25 2004, 12:52 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Align @ Mar 25 2004, 12:52 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> But why do the shots still "hit" the model, since it actually sparks off the model and not the wall behind? <!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
    Question of year <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
    This is simple, because on client, model position is different than on server, sparks are produced on client (you hit your model, you were aiming right), but server holds different position (due to latency problem and him changing direction) and so you miss it (no blood).. simple..
  • AlignAlign Remain Calm Join Date: 2002-11-02 Member: 5216Forum Moderators, Constellation
    ...so if I aim behind a person who is obviously having hitbox lag, I will see blood splatches in the air?
  • QwertyQwerty Join Date: 2003-06-30 Member: 17817Members
    lol its hard to hit the skulks im with hitting any other aliens especially fades.
  • SariselSarisel .::&#39; ( O ) &#39;;:-. .-.:;&#39; ( O ) &#39;::. Join Date: 2003-07-30 Member: 18557Members, Constellation
    <!--QuoteBegin-Licho+Mar 29 2004, 10:28 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Licho @ Mar 29 2004, 10:28 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> <!--QuoteBegin-Forlorn+Mar 25 2004, 09:02 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Forlorn @ Mar 25 2004, 09:02 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> <!--QuoteBegin-Align+Mar 25 2004, 12:52 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Align @ Mar 25 2004, 12:52 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> But why do the shots still "hit" the model, since it actually sparks off the model and not the wall behind? <!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
    Question of year <!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
    This is simple, because on client, model position is different than on server, sparks are produced on client (you hit your model, you were aiming right), but server holds different position (due to latency problem and him changing direction) and so you miss it (no blood).. simple.. <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
    That's what I meant when I said 'netcode'.
  • speedwaystarspeedwaystar Join Date: 2004-01-14 Member: 25307Members
    Okay, can someone explain hitbox lag to me?

    I thought the Half-Life netcode did away with this kind of **** ages ago, by making combat what-you-see-is-what-you-get. In other words, if your (local client) crosshair is on the enemy, and you press the trigger, you hit them, regardless of your lag state. This was deliberately implemented by Valve to prevent the kind of lag-induced "fire behind the target" **** which used to pertain where people with mismatched pings played on the same server.

    Does Natural Selection do something different?
  • LichoLicho Join Date: 2002-11-02 Member: 3858Members, NS1 Playtester
    This problem has no 100% reliable solution, it's not possible to make realtime game correct for all people who have high latency from main server.. Many techniques are used to soften the problem, but it has no real solution. It simply cannot be solved.

    Imagine this:
    - you jump with your skulk
    - 100ms later server gets info that you jumped with skulk
    - another 100ms later this information gets to player who is currently watching you
    - he aims and press fire
    - another 100ms later info about shot arrives to server

    and so on .. there are many dalays and thouh very advanced ways to soften problem are in use, it simply cannot be solved 100% correctly for every player and every situation. Even though events are "backdated" there must be only one "reality" that is common for everyone and that's the reality how server percieves it, not you, and you are delayed from server.
  • speedwaystarspeedwaystar Join Date: 2004-01-14 Member: 25307Members
    <!--QuoteBegin-Licho+Apr 1 2004, 07:20 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Licho @ Apr 1 2004, 07:20 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> Even though events are "backdated" there must be only one "reality" that is common for everyone and that's the reality how server percieves it, not you, and you are delayed from server. <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
    I know how server/client lag works, but thanks for the explanation nontheless. <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html//emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif' /><!--endemo-->

    I don't really understand why this is happening, unless Natural Selection has deliberately dumped the client-side hit detection features of the Half-Life netcode which were introduced way, way back in the CS beta cycle to solve this very problem. I thought client-side detection was used in all Half-Life mods. I know it's used in Day of Defeat, for instance, because I can see the results (typically, falling over dead after it seems like I've run around a corner intto cover).

    Client-side hit detection is somewhat controversial but there's a clear need for it, IMO. If you fire at someone when your reticle is centered on their head (on YOUR screen), and the server thinks they're somewhere else, and the person you're firing at thinks he's somewhere else AGAIN--then there's a major problem. Who's "point of view" do we accept? The server's? That would mean that we'd have to fire behind a fast-moving target to hit it, which would suck. It would also mean that people with high pings would be completely screwed--they'd never know where their opponent really was, because of lag, so they'd be firing at empty air most of the time (although to them it would look like their aim was perfect).

    Client-side hit detection prevents this problem by ruling that, if it looks to YOU like you hit someone, then you did hit them. If from your perspective it looks like your aim was dead on, then *it was dead on*. If on the your computer your shot went through the enemy's face (even thought the server has the enemy down the hall, and the enemy thinks that he's round the corner), then the shot goes through the enemy's face, the server updates this fact, and the enemy learns about it on his next update (when he falls over dead).

    Clearly, this isn't a perfect solution (because it leads to people with low pings being shot when from their perspective they've already run around a corner), and there's a long-running argument about whether this is a good thing or not which I won't get into here.

    Ignoring that argument, however, if Natural Selection used client-side hit detection, there would be NO LAGGING HITBOX ISSUE. Full stop, end of story. Is that not correct? So, why isn't it using it?
  • CalldownCalldown Join Date: 2003-02-12 Member: 13478Members, Constellation
    I'm probably wrong on this, but would this be a problem with the player-side prediction code? Like what I'm thinking here is your computer, given the state of the last update, saw the skulk running towards you. So it extrapolates that, skulk runs towards you, you smoke him with your shotty and see sparks. In fact what happened is after that the skulk zig-zagged - so server side and enemy side, he was out of your SG spread, but since you hadn't been updated and were still predicting a straight forward run, you saw sparks but didn't hit.

    Does that make sense to anyone? I don't really see a way that HLDS could include all the client-side predictions as well.

    -calldown
  • AlignAlign Remain Calm Join Date: 2002-11-02 Member: 5216Forum Moderators, Constellation
    Yes, that makes sense and all, but previously(ie earlier NS) hits were decided clientside, so if my client sends a "I hit that guy, kill him" to the server, the server will check where the enemy was, where I was shooting, and if my weapons spread allowed me to hit the enemy <b>at the point in time that my lag says that I am in</b>. So with a 100 ms ping, the server would go back 100 ms and check if I could possibly have shot an enemy then. If yes, the enemy took damage(unless spread was too large).
    Now however, it seems as if the server asks the enemy where he is first. Meaning it's dependant on where the enemy thinks he is, not on where the other client thinks he is.
  • speedwaystarspeedwaystar Join Date: 2004-01-14 Member: 25307Members
    <!--QuoteBegin-Align+Apr 2 2004, 02:38 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Align @ Apr 2 2004, 02:38 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> Now however, it seems as if the server asks the enemy where he is first. Meaning it's dependant on where the enemy thinks he is, not on where the other client thinks he is. <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
    Okay. Now we're getting somewhere. That's what I think has happened as well.

    Does anyone know why this decision was made (to use server or target-based hit detection, not client-side)? Client-side hit detection was introduced into the Half-Life netcode to make fast-moving CS deatchmatches with bunny-hopping fairer to people with marginal pings. It seems incredibly ill-advised to not use it in Natural Selection, which has even faster moving things (lerks, skulks, blinking fades) which make hit-box lag a very serious problem.

    Hello devs?
  • ForlornForlorn Join Date: 2002-11-01 Member: 2634Banned
    It was done this way so that on really laggy situations or for more laggy people it would be less of a disadvantage for them.
  • DantemssDantemss Join Date: 2003-12-13 Member: 24305Members
    This is not ns-only. Looks like I'm gonna have to post this site again. The author calls this half-life bug "deflection". This page shows an aimbot missing, the same way shotguns miss skulks (I think you need DivX):
    <a href='http://www.summerblue.net/games/cs_report/6_2_deflection.html' target='_blank'>Aimbot Missing Demo</a>
  • SariselSarisel .::&#39; ( O ) &#39;;:-. .-.:;&#39; ( O ) &#39;::. Join Date: 2003-07-30 Member: 18557Members, Constellation
    That doesn't explain the radical changes between 2.0 and 3.0 in terms of hitbox lag and difficulty in scoring hits.
  • LichoLicho Join Date: 2002-11-02 Member: 3858Members, NS1 Playtester
    edited April 2004
    Hits were never detected clientside (for damage purposes)! Never ever in any HL mod, it's not safe (everyone could send "cheated" hit event to server and caused bullets to hit people miles away around 3 corners!). They are still detected clientside just for some anims and sounds (like sparks, which are shown after clientside hit was detected). Blood on the other hand is drawn only if server detects hit.

    Only thing that was and is still in use are client side predictions (not detections). They work in similar way Calldown described... Your client extrapolates position of enemy based on last informations (direction, speed) and shows you image.. if he is not changing direction too quickly, chances are this "prediction" matches position of that player that will arrive to server, but since in combat skulks move with awesome speed and change direction quickly this system simply cant show you correct image everytime. Dont blame NS, dont blame steam.. although certainly some ways exists to soften the problem more, it has no real solution, it's not real "bug". People who dont play combat dont realize any changes between 2.0 and 3.0 hit detections and even majority players who play combat never noticed anything abnormal. I was regurally playing on server where everyone has ping around 20 (not LAN server) and nobody ever experienced these problems there..
Sign In or Register to comment.