Counter-Strike 2

Counter-Strike 2

View Stats:
Sixteen60 Apr 27, 2024 @ 7:46pm
How does Sub-Tick work?
Is it like an infinite number of ticks? Or do inputs work in between each tick? I don't fully understand it.
< >
Showing 1-9 of 9 comments
Babda Apr 27, 2024 @ 7:49pm 
something i very rarely say but a 1 min google search will give you all information you want to know about this.
Xsago797 Apr 27, 2024 @ 7:54pm 
Originally posted by Sixteen60:
Is it like an infinite number of ticks? Or do inputs work in between each tick? I don't fully understand it.
Cant give you answer , because Idk , and all I know is that players with lower ping has huge advantage over players with higher ping .
Outsider (Banned) Apr 27, 2024 @ 8:36pm 
It works like crap in the moment.
Renos Apr 27, 2024 @ 9:43pm 
Originally posted by Sixteen60:
Is it like an infinite number of ticks? Or do inputs work in between each tick? I don't fully understand it.
Its not a infinite number of ticks nut rather a combination of systems in play,
i'll try to give a rough explanation from how i understand how it works.
First is to discuss first how GO's netcode worked

In GO the game would update itself every tick. at 64 tick a tick was every 15ms on 128 tick its 7 ms.
In every tick the following would happen
User inputs polled
Game logic processed
physics calculations are ran
animations are played
Server sends back and receives information


There are some limitations to this setup.
Any action that happened outside of a tick simply did not exist and every action had to happen on a tick.
some examples would be in GO if you clicked mouse 1 to fire a shot the game would wait until the next tick to actually fire it, In the case your cross hair could have moved meaning your shot landed not where you actually clicked,

If you clicked a key to move you would not start moving until the next tick.

Now of course pro players will always try to make the game as accurate as possible, So doubling the tick rate from 64 to 128 makes it slightly more accurate (The game has less chances to actually miss user inputs) but does not fix the actual limitations of the netcode.
Upping the tickrate also brought some unintended side effects such as
the player movement speed is slightly faster
Grenade physics behave differently
Recoil is also different
So the community is effectively split playing 2 different games.

So with CS2 Valve decided to actually redo the netcode for the better fixing the limitations of source 1 's netcode
In cs2 The game IS locked to a tick rate of 64 that can't be changed But now some of the logic and actions get processed outside the tick rate.

So the following happens
User inputs polling
Critical player actions
player positioning
Are now all tracked outside the tickrate with a timestamp meaning the game can never miss when something crucial happens

Animations and certain things like showing a player died now happen on the very next rendered frame.

Player physics, recoil and grenade physics are now hard coded and modeled to behave similarly to 128 tick CSGO.

Now what happens on tick are the following
some game logic like bots or the bomb timer.
the server and client exchanging information.
since the client is time stamping all actions when the server gets this information it reads back through all the actions according to the timestamps and sends back its response on the next tick.

so compared to the example earlier with GO's limitations.
In cs2 when you fire your shot it will fire instantly and land exactly where your cross hair was when you clicked mouse 1.
When you press a key to start moving you will instantly start moving.

So effectively the only limiting factor with CS2's netcode is the 15ms between when the client and server exchange information. But realistically speaking say the delay was lower than 15 MS. That would mean every player connected to server would need to have a ping lower than 15ms. The average player has a ping of 20-60 MS.

Though while its mostly a much better setup than GO or even most games for that matter,
It still has some kinks that should get worked out over time,
And of course a decade of muscle memory from GO's jank netcode has been tossed out with cs2. (Such as people overfilcking with the awp in GO the account for the firing delay)
peon Apr 27, 2024 @ 10:02pm 
Originally posted by Outsider:
It works like crap in the moment.

Your not joking....

https://streamable.com/ciu2ek

Between this stuff, the bullets not registering for me, being matched up against dudes with 95 leetify aim in 10k premier lobbys. This is exactly why I refuse to play premier, thanks for reminding me valve.

I keep saying this, but im done, I might play for some drops every now and then, but this game is not worth taking seriously anymore for me. I am so, glad I never invested any real money into this game, what a state it has become.

And if your not careful mods banhammer you for speaking the truth. I wont be posting here anymore. Not worth it.

Very good job valve.

https://leetify.com/app/profile/76561198083169466

For example, and no this is not "witch hunting" mods,this is me showing my typical opponents. For it to be witch hunting, I would have to accuse him of hacking. The only thing im accusing anything of, is valve for rigging the game.

I dont think this guy is hacking, but how the hell do you have 95 aim, and your only 10k? Pros like simple and the like have aim that high. This guy should be like 20k, at least.
Last edited by peon; Apr 27, 2024 @ 10:16pm
Renos Apr 27, 2024 @ 10:27pm 
Originally posted by peon:
Originally posted by Outsider:
It works like crap in the moment.

Your not joking....

https://streamable.com/ciu2ek

Between this stuff, the bullets not registering for me, being matched up against dudes with 95 leetify aim in 10k premier lobbys. This is exactly why I refuse to play premier, thanks for reminding me valve.

I keep saying this, but im done, I might play for some drops every now and then, but this game is not worth taking seriously anymore for me. I am so, glad I never invested any real money into this game, what a state it has become.

And if your not careful mods banhammer you for speaking the truth. I wont be posting here anymore. Not worth it.

Very good job valve.

https://leetify.com/app/profile/76561198083169466

For example, and no this is not "witch hunting" mods,this is me showing my typical opponents. For it to be witch hunting, I would have to accuse him of hacking. The only thing im accusing anything of, is valve for rigging the game.

I dont think this guy is hacking, but how the hell do you have 95 aim, and your only 10k? Pros like simple and the like have aim that high. This guy should be like 20k, at least.
The classic CS community moment
Demos are heavily interpolated and it gets even worse when slowed down,
They shot the very edge of the hitbox as they were moving around the corner.
Clover ☘ May 15, 2024 @ 12:15pm 
simple, it doesn't. volvo to poor to afford 128
elite outsider May 15, 2024 @ 2:14pm 
Renos' post is pretty good, but a simplified way to say it is like this:

clients' inputs (think moving, aiming and shooting) are timestamped when your game sends them to the server, with subtick the server now looks at the timestamps to apply all the players' inputs in order inside each tick/frame

so for example at 64ticks/sec the server "ticks" every 15ms, during that time it it looks at all the inputs it has received, finds which ones should be applied in this next time slice, then applies them in order

before, it wouldn't necessarily apply them in order, so different inputs that arrived during the same tick might be applied out of order - an obvious consequence of this is that you could get shot by someone that you technically shot and killed first

keep in mind we're talking about a bunch of inputs happening during a 15ms wide slice of time, so this is too fast for you to see or judge yourself no matter how much adderall you take ... in csgo, only someone looking at the server and watching it work (or reading a log) would ever really be able to say "ah, he shot first but the inputs were applied out of order so he got killed instead" .. this isn't something any player could really judge themselves, so it's hard to even point at a situation where subtick would make it go differently for you! (hard to run an experiment and prove it makes a difference)

so..that's all subtick does, basically

it's very oversold, since what you see on your client is still driven by the server's (extremely pathetically low) 64 tickrate .. yes, your inputs are applied in the right order, but you still don't know to shoot at someone you can't see yet

this is where all the "ferrari peeking" stuff comes into play - you basically see a guy with an ak appear from behind cover with one leg in the air still running as he perfectly 1taps you and it feels like it doesn't make sense .. higher server tickrate means it updates the clients (to tell them where to draw enemies on screen, what animation frame they're in, which way they're facing) more frequently, so you as a player can then react to them and shoot..

you can't give a lot of different inputs in each tick time window, so it doesn't really have a big effect on movement, for example.. it's really just for making sure peoples' shots happen in the correct order ... subtick basically shouldn't make movement feel any smoother, but having higher client fps will improve that (since movement is predicted locally before being corrected by the server)
Last edited by elite outsider; May 15, 2024 @ 2:17pm
< >
Showing 1-9 of 9 comments
Per page: 1530 50

Date Posted: Apr 27, 2024 @ 7:46pm
Posts: 9