I've had it set to cl_smooth 0 and cl_smoothtime 0.01 forever, can anyone explain exactly what it does/doesn't do?
I've always wondered a lot what all the normal FPS commands actually do too. If anyone wants to be nice and explain all of them, that would be cool too. The only one that has been really explained was interp.
It smoothes the viewmodel after prediction errors. Chris said that in his config video. About all I know of it.
cl_smooth 0 while playing TF2.
cl_smooth 1 while watching TF2 STVs and .dem files.
If you have cl_smooth 0 while watching STVs or .dem files the game will appear to be choppy. Once cl_smooth 1 is set, the STV or .dem files play much smoother.
I actually have cl_smooth 0 in my autoexec, then a separate config I load only when I watch STVs or .dem files with cl_smooth 1 in it as well as a few other settings to make spectating more enjoyable.
cl_smooth 1 while watching TF2 STVs and .dem files.
If you have cl_smooth 0 while watching STVs or .dem files the game will appear to be choppy. Once cl_smooth 1 is set, the STV or .dem files play much smoother.
I actually have cl_smooth 0 in my autoexec, then a separate config I load only when I watch STVs or .dem files with cl_smooth 1 in it as well as a few other settings to make spectating more enjoyable.
After 100 milliseconds, the client will receive the server snapshot that contains the changes based on the user command he predicted earlier. Then the client compares the server position with his predicted position. If they are different, a prediction error has occurred. This indicates that the client didn't have the correct information about other entities and the environment when it processed the user command. Then the client has to correct its own position, since the server has final authority over client-side prediction. If cl_showerror 1 is turned on, clients can see when prediction errors happen. Prediction error correction can be quite noticeable and may cause the client's view to jump erratically. By gradually correcting this error over a short amount of time (cl_smoothtime), errors can be smoothly corrected. Prediction error smoothing can be turned off with cl_smooth 0.
Predicting an object's behavior only works if the clients knows the same rules and state of the object as the server. That's usually not the case since the server knows more internal information about objects than the clients do. Clients see only a small part of the world and just get enough information to render objects. Therefore, prediction works only for your own player, and the weapons controlled by you. Proper prediction of other players or interactive objects is not possible on the client at this point.
It doesn't matter what you set cl_smoothtime to if you have cl_smooth off, because cl_smoothtime is the correction time if a prediction error occured when cl_smooth is on. But yeah, if you want everything (hitboxes and probably projectiles) to be as accurate as possible on your screen, then keep cl_smooth at 0. It has nothing to do with altering your hitboxes or altering the enemy hitboxes, it just fixes how it looks on your screen.
Predicting an object's behavior only works if the clients knows the same rules and state of the object as the server. That's usually not the case since the server knows more internal information about objects than the clients do. Clients see only a small part of the world and just get enough information to render objects. Therefore, prediction works only for your own player, and the weapons controlled by you. Proper prediction of other players or interactive objects is not possible on the client at this point.
[/code]
It doesn't matter what you set cl_smoothtime to if you have cl_smooth off, because cl_smoothtime is the correction time if a prediction error occured when cl_smooth is on. But yeah, if you want everything (hitboxes and probably projectiles) to be as accurate as possible on your screen, then keep cl_smooth at 0. It has nothing to do with altering your hitboxes or altering the enemy hitboxes, it just fixes how it looks on your screen.
On this same note, what does cl_interp_ratio do?
should cl_predict be 0/1?
should cl_predict be 0/1?
TheFragile got it alright, I know some people who wouldn't like to read it though, so attempting to explain it in layman's terms:
TF2 does something called "input prediction", where it does your own movement on the client instead of waiting for the server to tell where you are. This has been a standard in online shooters for a long time, so people take it for granted. Sometimes, though, the predicted movement ends up being different from how the server says you moved. In these cases, it has to re-predict from the last correct movement state it knows. The more latency there is, the more jarring the difference between the wrong and right states is. Smoothing makes it slide to the new correct position instead of instantly teleporting there. The auto bunnyhop plugin on surf servers is a good example of this. If you have smooth disabled and go onto a 200 ping server with the bunnyhop plugin, your view will be teleporting into the air after you hit the ground each time. It's a good thing to disable smooth for competitive gaming, though, because your view is always in the most valid position the client knows about.
TF2 does something called "input prediction", where it does your own movement on the client instead of waiting for the server to tell where you are. This has been a standard in online shooters for a long time, so people take it for granted. Sometimes, though, the predicted movement ends up being different from how the server says you moved. In these cases, it has to re-predict from the last correct movement state it knows. The more latency there is, the more jarring the difference between the wrong and right states is. Smoothing makes it slide to the new correct position instead of instantly teleporting there. The auto bunnyhop plugin on surf servers is a good example of this. If you have smooth disabled and go onto a 200 ping server with the bunnyhop plugin, your view will be teleporting into the air after you hit the ground each time. It's a good thing to disable smooth for competitive gaming, though, because your view is always in the most valid position the client knows about.
Should I have cl_smooth set to 1 in the lawena cfg then? That way there is less twitchy movement?
# 10 is true
Without getting so technical, smooth does what it sounds like it does and will smooth the way you see the player model. In this way it is not so different from interpolation, though of course in terms of what it does within the engine, it is different. That sounds really dumb and confusing so let me just say my reason for adding to the conversation, which is that there are benefits to playing around with these commands, even if small.
ex: If you weren't worried about rockets appearing slow and delayed you could set interp to default (.1) and smooth to default (1) and you would have a much easier time tracking scouts movements when they were up close (visually, I mean).
Peoples PC's and monitors are so good now that this isn't a big problem anymore, and for obvious reasons people want interp low (0/.02/.3) and smooth off (0) for hit-reg purposes (what they do see being the closest representation of what it is they are trying to shoot at). Still with the way most competitive cfgs are set up, players are exposing themselves to the most disjointed visual representation of a player model that they could see. With a good connection, a good PC, and a good monitor this is no big deal.
However if you have an old PC like me and you try joining a crowded pub, comp settings will not work best. An interp closer to default and playing around with smooth-time will yield a better playing performance... the server will feel less choppy and you'll likely notice more registration. Now this, you might say, has nothing to do with a 6v6 game but it is symptomatic of a larger problem — that being that when you gain something you lose something else, and sometimes it's best to meet somewhere in the middle ground.
At the risk of coming in and ruining everyone's happy understanding of the way smooth is working for them, let me back-track and say that your settings are likely not effecting how you play. Experimenting with smooth (I only ever toggle it from off to on [0 off to 1 on] ) can be interesting and if your PC or connection isn't the best, may be preferable. Counter-intuitively, I have found that turning smooth back on (cl_smooth 1) can seemingly help hit registration when scouting and sniping against other scouts. So it is up to you to experiment and decide what is best for you.
Without getting so technical, smooth does what it sounds like it does and will smooth the way you see the player model. In this way it is not so different from interpolation, though of course in terms of what it does within the engine, it is different. That sounds really dumb and confusing so let me just say my reason for adding to the conversation, which is that there are benefits to playing around with these commands, even if small.
ex: If you weren't worried about rockets appearing slow and delayed you could set interp to default (.1) and smooth to default (1) and you would have a much easier time tracking scouts movements when they were up close (visually, I mean).
Peoples PC's and monitors are so good now that this isn't a big problem anymore, and for obvious reasons people want interp low (0/.02/.3) and smooth off (0) for hit-reg purposes (what they do see being the closest representation of what it is they are trying to shoot at). Still with the way most competitive cfgs are set up, players are exposing themselves to the most disjointed visual representation of a player model that they could see. With a good connection, a good PC, and a good monitor this is no big deal.
However if you have an old PC like me and you try joining a crowded pub, comp settings will not work best. An interp closer to default and playing around with smooth-time will yield a better playing performance... the server will feel less choppy and you'll likely notice more registration. Now this, you might say, has nothing to do with a 6v6 game but it is symptomatic of a larger problem — that being that when you gain something you lose something else, and sometimes it's best to meet somewhere in the middle ground.
At the risk of coming in and ruining everyone's happy understanding of the way smooth is working for them, let me back-track and say that your settings are likely not effecting how you play. Experimenting with smooth (I only ever toggle it from off to on [0 [i]off [/i]to 1 [i]on[/i]] ) can be interesting and if your PC or connection isn't the best, may be preferable. Counter-intuitively, I have found that turning smooth back on (cl_smooth 1) can seemingly help hit registration when scouting and sniping against other scouts. So it is up to you to experiment and decide what is best for you.
The reason I ask the question is because online when I play against scouts their movement is so jarring that it feels like my client is overshooting where they actually are when they are moving side to side, so when i shoot and they dodge their model warps away from my rocket/shotty, however this obviously doesn't happen on lan because everything is instant.
However the last time I turned cl_smooth on, I noticed my rockets going through people. Basically what I'm hearing is that I'm spoiled by Lan and just need to suck it up when playing people online?
However the last time I turned cl_smooth on, I noticed my rockets going through people. Basically what I'm hearing is that I'm spoiled by Lan and just need to suck it up when playing people online?
From my understanding, cl_smooth shouldn't affect how jittery/warpy scouts are. If it does more than valve "says" it does (documentation), though, it might. Warping enemy models are because of very low interp. I actually started using cl_interp_ratio 1.1 or 1.2 (and the equivalent cl_interp) instead of 1 when playing soldier because scouts would show up fractions of a frame behind (actually matters a lot with how fast they move) where they should be if my ping shot up.
Is there a benefit to changing your rocket launcher/shotty interp/interp ratio? I messed with doing that 2-3 years ago but don't remember liking it. Has anything changed? Does changing the interp ratio still allow for rockets to come out the fastest they can?
From my experience, I don't think so. A lot of people talk about changing interp all the time, and I feel quite often it's just a placebo effect. I just leave mine at lowest for interp and ratio.
To be fair, when I play in Australia I typically get <30 ping, sometimes 5 on some servers, so not necessarily the best example.
To be fair, when I play in Australia I typically get <30 ping, sometimes 5 on some servers, so not necessarily the best example.
Welp, I've always played with cl_smooth 1. Will changing it to 0, impact my gameplay significantly?
I too have always had it set to 1 until i read this thread. I just pubbed for an hour with 0 and seemed to have way better hit reg on shotty/scatter. Something i've always struggled with was up close shotty aim...always seeing sparks like it hits but does absolutely nothing or hitting for the dreaded '9' dmg....seems like i had alot better results just now, but since this is only my first time using this it could just be coincidence. Interesting none the less , i will have to mess around with this some more.
Interp is something you want to tinker with if you have higher ping. I live in northern Canada and ping has always been a problem for me. I randomly get spikes over 300. I use several different interps to adjust to it. General rule of thumb that I think is comfortable is your ping/1000. So if you have 200 ping set your interp to .2 ect...
Edit: I only recommend doing this if your ping is higher than 130.
Edit: I only recommend doing this if your ping is higher than 130.
You should never have to set your interp above 0.1 (100 milliseconds). If you do, your ISP has serious latency jitter or choke problems.
smooth has no effect on enemy player models as it is about correcting prediction errors, not interpolation errors
setting your interp based on ping is retarded and makes no sense
prediction errors are when your client tries to move you to a place you can't move because your info on other entities was not quite up to date, the most obvious and common example is when you're running into an enemy player
you know how sometimes in a point blank scout vs scout you're trying to strafe and you kind of warp around a bit as you "bounce" off their model? that's prediction errors / correction
setting your interp based on ping is retarded and makes no sense
prediction errors are when your client tries to move you to a place you can't move because your info on other entities was not quite up to date, the most obvious and common example is when you're running into an enemy player
you know how sometimes in a point blank scout vs scout you're trying to strafe and you kind of warp around a bit as you "bounce" off their model? that's prediction errors / correction