Ex_interp And Ex_extrapmax

KmartKmart Honourary Euro Join Date: 2005-01-06 Member: 32966Members, NS1 Playtester
<div class="IPBDescription">Polling people who've tweaked these vars</div> I'm just curious about what values people have found to be most effective for these two cvars.

I remember being advised (don't remember by who) to just type ex_interp 0 in console and let the game reset it to the lowest value possible for my cl_updaterate (I use cl_updaterate 60), but this made my picture stutter way too much for me. Right now I've sort of settled on ex_interp 0.05.

So if lower values for interp are more desirable, do people play with choppy model motion? Is the picture choppy because of my system or because of Steam? Does having really high interp mean that I could put my crosshair exactly on a skulk model and fire but totally miss because my client made a bad guess ("interpolation") of where the model+hitbox is (even though these two don't usually go together in NS <!--emo&:p--><img src='http://www.unknownworlds.com/forums/html/emoticons/tounge.gif' border='0' style='vertical-align:middle' alt='tounge.gif' /><!--endemo-->)? And as kind of a followup on that last question, isn't that considered "bad hit registration" ?

As for ex_extrapmax...like I said I can only sort of guess what it does. extrap = extrapolation, max = maximum, and it has something to do with the way frames are displayed on my screen. Anyone know for sure?

So yeah, just hoping to start a discussion on this.

Comments

  • Minstrel_KnightMinstrel_Knight The truth and nothing but the truth... Join Date: 2002-11-21 Member: 9562Banned
    Having a higher interp setting delays the drawing of stuff on your screen so .1 = 100ms delay .01 = 10ms. Lower settings will equal choppier players due to the server having not yet recieved a command update from them.

    Ex_extrapmax can be used to help smooth out choppyness from lower interp settings or it can be set to 0 and will only show true hitboxes but be choppy.

    Having an interp higher than 1/update rate will cause the model to be displayed slightly ahead of the actual hitbox location.

    <a href='http://www.usaklig.net/rates.html' target='_blank'>http://www.usaklig.net/rates.html</a>
    <a href='http://www.foom.net/fortressfiles/netcode.htm' target='_blank'>http://www.foom.net/fortressfiles/netcode.htm</a>
  • TrakenTraken Join Date: 2004-11-14 Member: 32797Members
    So with ex_interp set to normal (or whatever...) you want to aim behind the model? I wish I knew that a long time ago <!--emo&???--><img src='http://www.unknownworlds.com/forums/html/emoticons/confused-fix.gif' border='0' style='vertical-align:middle' alt='confused-fix.gif' /><!--endemo-->
  • Minstrel_KnightMinstrel_Knight The truth and nothing but the truth... Join Date: 2002-11-21 Member: 9562Banned
    <!--QuoteBegin-Traken+Apr 1 2005, 07:11 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Traken @ Apr 1 2005, 07:11 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> So with ex_interp set to normal (or whatever...) you want to aim behind the model? I wish I knew that a long time ago <!--emo&???--><img src='http://www.unknownworlds.com/forums/html/emoticons/confused-fix.gif' border='0' style='vertical-align:middle' alt='confused-fix.gif' /><!--endemo--> <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
    I believe current default interp is set to 1/update rate so hitboxes will be in line with the displayed model postion theoretically.
  • KmartKmart Honourary Euro Join Date: 2005-01-06 Member: 32966Members, NS1 Playtester
    Default interp: 0.1
    Default extrapmax: 1.2
  • SariselSarisel .::&#39; ( O ) &#39;;:-. .-.:;&#39; ( O ) &#39;::. Join Date: 2003-07-30 Member: 18557Members, Constellation
    edited April 2005
    interp = 1/(the server's max updaterate to the client)

    That way, you're interpolating for every frame the server sends to you and not for every frame that you would like for it to send you (which happens if you just do 1/cl_updaterate).

    If cl_updaterate>=sv_maxupdaterate, then interp should be 1/sv_maxupdaterate.
    If cl_updaterate<sv_maxupdaterate, then interp should be 1/cl_updaterate.

    Usually, sv_maxupdaterate is about 30 unless the admin changes it.
  • FaskaliaFaskalia Wechsellichtzeichenanlage Join Date: 2004-09-12 Member: 31651Members, Constellation
    And because most servers use the default: "sv_maxupdaterate 30" you are most times on the right track, when using cl_updaterate 30 and ex_interp 0
  • HellbillyHellbilly A whole title out of pity... Join Date: 2002-11-02 Member: 3931Members, NS1 Playtester, Constellation
    The rate settings i have been using lately seem to work for me and my DSL...

    rate 9999;cl_updaterate 30;cl_cmdrate 40;ex_interp 0.033

    Maybe some more experienced tweakers can tell me if i can improve on that or have any other suggestions to me or other players?
  • FaskaliaFaskalia Wechsellichtzeichenanlage Join Date: 2004-09-12 Member: 31651Members, Constellation
    <!--QuoteBegin-Hellbilly+Apr 2 2005, 03:19 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Hellbilly @ Apr 2 2005, 03:19 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> The rate settings i have been using lately seem to work for me and my DSL...

    rate 9999;cl_updaterate 30;cl_cmdrate 40;ex_interp 0.033

    Maybe some more experienced tweakers can tell me if i can improve on that or have any other suggestions to me or other players? <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
    Your settings are perfect for nearly any server <!--emo&:D--><img src='http://www.unknownworlds.com/forums/html/emoticons/biggrin-fix.gif' border='0' style='vertical-align:middle' alt='biggrin-fix.gif' /><!--endemo-->

    You might raise cl_cmdrate a little bit. (the max possible value is determined by your upload) Try 50 and then 60. If you do not get any choke with these, keep them. Rate 12000 might help you out in big firefights as well.

    ex_interp 0.033 is the corrosponding value for your cl_updaterate 30

    you can set ex_interp to 0 and it will automatically adjust, when you change cl_updaterate
  • EmanonEmanon Join Date: 2003-05-13 Member: 16254Members, Constellation
    edited April 2005
    With an ex_interp of 0.033 what is the corresponding ex_extrapmax value? Is there another cvar to smooth things out?

    For instance, my server has a max updatrate of 50 so my settings would be;
    rate 25000 (quality cable)
    cl_updaterate 50
    cl_cmdrate 60
    ex_interp 0.02 (1/50 = 0.02)
    ex_extrapmax <!--emo&???--><img src='http://www.unknownworlds.com/forums/html/emoticons/confused-fix.gif' border='0' style='vertical-align:middle' alt='confused-fix.gif' /><!--endemo--> (10 or 12?)
  • Jmmsbnd007Jmmsbnd007 Join Date: 2002-11-24 Member: 9793Banned, Constellation
    I use ex_interp .05 and ex_extrapmax 6 (sometimes 5, I don't even notice).
  • c4tc4t Join Date: 2003-09-06 Member: 20619Members
    like 6th months ago jmms told me to use those values and its what ive been using ever since.
  • CxwfCxwf Join Date: 2003-02-05 Member: 13168Members, Constellation
    My default ex_interp is 0.1

    I tried changing it to 1/updaterate (0.033 for me), but too many players looked very choppy...I know its technically more accurate information, but it looks really bad. I find I have to raise it to about .07 or .08 in order to get smooth motion on most players.

    However, I am interested in the comments about ex_extrapmax being able to smooth out that choppiness? How does that work? I'd like to be able to drop my interp rate without giving up video smoothness.
  • ultranewbultranewb Pro Bug Hunter Join Date: 2004-07-21 Member: 30026Members
    Interpolation is filling in the gaps between the expected update packets from the server. Extrapolation is filling in the gaps when you don't have the expected packet on time. net_graph 3 appears to tell you (in milliseconds) the amount of unexpected time spent waiting on packets. Note that this definitely isn't your ping since this can be close to zero using a low update rate durring good conditions.
  • HarrowerHarrower Join Date: 2005-03-16 Member: 45478Members
    On fear of ressurecting a dead thread, and/or looking like a bad coder, wouldn't there be a better way of doing this in the actual game coding other than interpolation and extrapolation?
  • FaskaliaFaskalia Wechsellichtzeichenanlage Join Date: 2004-09-12 Member: 31651Members, Constellation
    <!--QuoteBegin-Harrower+May 10 2005, 09:02 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Harrower @ May 10 2005, 09:02 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> On fear of ressurecting a dead thread, and/or looking like a bad coder, wouldn't there be a better way of doing this in the actual game coding other than interpolation and extrapolation? <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
    Witheout increasing the needed bandwith or a better compression code, there is no way, i know of, to avoid the need of interpolation.
  • HarrowerHarrower Join Date: 2005-03-16 Member: 45478Members
    CS doesn't seem to do the same thing, is it just because the models are moving slower or something?
  • 2_of_Eight2_of_Eight Join Date: 2003-08-20 Member: 20016Members
    <!--QuoteBegin-Harrower+May 10 2005, 11:21 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Harrower @ May 10 2005, 11:21 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> CS doesn't seem to do the same thing, is it just because the models are moving slower or something? <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
    I'd assume so... players surely don't move as fast there as leaping skulks/blinking fades/celerity lerks/etc.
  • DrummerDrummer Join Date: 2004-02-18 Member: 26654Members
    <!--QuoteBegin-2 of Eight+May 10 2005, 11:07 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (2 of Eight @ May 10 2005, 11:07 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> <!--QuoteBegin-Harrower+May 10 2005, 11:21 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Harrower @ May 10 2005, 11:21 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> CS doesn't seem to do the same thing, is it just because the models are moving slower or something? <!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
    I'd assume so... players surely don't move as fast there as leaping skulks/blinking fades/celerity lerks/etc. <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
    ive heard that even a vanilla marine can move faster than anything in cs
  • SwiftspearSwiftspear Custim tital Join Date: 2003-10-29 Member: 22097Members
    <!--QuoteBegin-Drummer+May 11 2005, 02:40 AM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Drummer @ May 11 2005, 02:40 AM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> <!--QuoteBegin-2 of Eight+May 10 2005, 11:07 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (2 of Eight @ May 10 2005, 11:07 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> <!--QuoteBegin-Harrower+May 10 2005, 11:21 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Harrower @ May 10 2005, 11:21 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> CS doesn't seem to do the same thing, is it just because the models are moving slower or something? <!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
    I'd assume so... players surely don't move as fast there as leaping skulks/blinking fades/celerity lerks/etc. <!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
    ive heard that even a vanilla marine can move faster than anything in cs <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
    Ya, cause vanilla marines can railhop.
  • HarrowerHarrower Join Date: 2005-03-16 Member: 45478Members
    edited May 2005
    I am partially wondering this because I'm looking to do my own mod at some point, and I REALLY don't want to make players skip around when moving fast, like they do right now in NS.

    Even if NS can't be fixed (which to me would be a real shame, because I honestly think they really did a great job with the actual game design)..

    Is there any solid way to do it differently that anyone knows of, so that fast-moving players are tracked accurately?
  • SwiftspearSwiftspear Custim tital Join Date: 2003-10-29 Member: 22097Members
    <!--QuoteBegin-Harrower+May 11 2005, 10:21 AM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Harrower @ May 11 2005, 10:21 AM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> I am partially wondering this because I'm looking to do my own mod at some point, and I REALLY don't want to make players skip around when moving fast, like they do right now in NS.

    Even if NS can't be fixed (which to me would be a real shame, because I honestly think they really did a great job with the actual game design)..

    Is there any solid way to do it differently that anyone knows of, so that fast-moving players are tracked accurately? <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
    Go for source. Movement code is very managable and almost compleatly fixed.
  • HarrowerHarrower Join Date: 2005-03-16 Member: 45478Members
    On the assumption that Source is the same thing as creating a HL2:Deathmatch mod, that's what I was planning on. Thanks.
  • kalimxskalimxs Join Date: 2005-04-30 Member: 50543Members
    does tfc have this ****? stuff moves very fast in there, and i don't remember ever hearing about reg problems on concers.
  • TheGivingTreeTheGivingTree Join Date: 2003-01-09 Member: 12070Members
    Can anyone tell me what to set my
    cl_cmdrate
    cl_updaterate
    rate
    ex_interp
    ex_extrapmax

    for the most accurate and dead on settings? I don't care about choppiness I want to aim at what I see and hit it, not aim behind it or infront.
  • meepmeep Join Date: 2004-02-04 Member: 26034Members
    edited May 2005
    <!--QuoteBegin-Harrower+May 10 2005, 10:21 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Harrower @ May 10 2005, 10:21 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> CS doesn't seem to do the same thing, is it just because the models are moving slower or something? <!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->

    Yes. Prediction obviously starts to break down the more complex it has to be.

    All online games use some form of prediction. If you've every played a MMO and experienced "rubberbanding" it was because your game predicted a particular result X and the server then responded with result Y which your client then had to correct for. I don't know if many people here played HL mods a long time ago, but before patch 1.1.1.0 I believe, HL prediction used to be a lot more extensive than it is now which meant you were able to play with higher pings but everyone had to learn to cope with aiming strangely. I remember getting hit with rockets in TFC from 100 feet away.

    Also, Source (HL2) prediction isn't magically better. Play a 32 player HL2 Deathmatch server with everyone flinging around toilets and you still see a lot of warping and stuttering.
  • HarrowerHarrower Join Date: 2005-03-16 Member: 45478Members
    edited May 2005
    <!--QuoteBegin-Hellbilly+Apr 2 2005, 08:19 AM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Hellbilly @ Apr 2 2005, 08:19 AM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> The rate settings i have been using lately seem to work for me and my DSL...

    rate 9999;cl_updaterate 30;cl_cmdrate 40;ex_interp 0.033

    Maybe some more experienced tweakers can tell me if i can improve on that or have any other suggestions to me or other players? <!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
    ex_interp 0.1 for me. Those settings seem to aim very well, despite the fact that "absolute" positioning is ex_interp 0.0

    The fact is, with 0.0, it's not more accurate because the skulk jumps around the screen like mad, because it.. well I don't know.. try it and see.


    I really don't know what happens but 0.1 works really well for me on every server I've played on. I aim right at the skulk and it dies.




    Last, if anyone has any ideas on how to fix this problem when making a mod using.. pretty much ANY method, and still maintaining functionality, I'd be ecstatically interested.
  • ultranewbultranewb Pro Bug Hunter Join Date: 2004-07-21 Member: 30026Members
    If you wish some concrete fact instead of guessing, use <b>cl_showerror 1</b> to see how many units of error the predition is creating. You'll likely see errors of 10 units when fighting higher ping skulks - and my guess is that 10 units is roughly a foot in distance.
  • FaskaliaFaskalia Wechsellichtzeichenanlage Join Date: 2004-09-12 Member: 31651Members, Constellation
    <!--QuoteBegin-TheGivingTree+May 14 2005, 12:30 AM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (TheGivingTree @ May 14 2005, 12:30 AM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> Can anyone tell me what to set my
    cl_cmdrate 60
    cl_updaterate 30
    rate 20000
    ex_interp 0
    ex_extrapmax 1.2

    for the most accurate and dead on settings? I don't care about choppiness I want to aim at what I see and hit it, not aim behind it or infront. <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
    A save setup for pubs:
    cl_cmdrate 60
    cl_updaterate 30
    rate 20000
    ex_interp 0
    ex_extrapmax 1.2

    a setup for high-end server:
    cl_cmdrate 101
    cl_updaterate 101
    rate 20000
    ex_interp 0
    ex_extrapmax 1.0

    And dont touch tycs <!--emo&:p--><img src='http://www.unknownworlds.com/forums/html/emoticons/tounge.gif' border='0' style='vertical-align:middle' alt='tounge.gif' /><!--endemo-->
  • TheGivingTreeTheGivingTree Join Date: 2003-01-09 Member: 12070Members
Sign In or Register to comment.