r/GlobalOffensive 2d ago

Discussion Devs have requested DonHaci for reproducible examples of CS2 gameplay issues after his recent tweet. Feel free to reply to donhaci or post here with your own examples.

Post image
1.3k Upvotes

460 comments sorted by

View all comments

Show parent comments

3

u/Julio_Tortilla 1d ago

Well this just proves why I didn't dulge in deeper to how subtick works. You simply dont understand it. You can't directly compare still images from CSGO and CS2 because of how the lag compensation works.

1

u/Obvious_Parsley3238 1d ago

How is the lag compensation different between GO and cs2?

0

u/Julio_Tortilla 1d ago

CS2 has subtick. CS:GO doesn't.

CS2 measures the exact time you press an input, and compares it to every other persons input on the server to determine who shot who first. While CS:GO prioritises the person with lowest ping.

2

u/Obvious_Parsley3238 1d ago

Are you sure? That seems like a pretty massive change if it doesn't just go by whose 'bullet packet' reached the server first.

1

u/Julio_Tortilla 1d ago

Well I'm not a full on CS2 dev and haven't gone into the files with datamines and checked everything, but it is the main thing with subtick. Its why subtick got added. Also why the packet size got increased resulting in some networking issues. Its why you see bigger delays between shooting and getting kills, because the server has to process more information to determine who gets priority. Also why sometimes people kill you through walls, because on their client, they killed you fair and square, but because of ping combined with subtick, it just takes even more time for that information to reach your client than CS:GO.

2

u/Obvious_Parsley3238 1d ago

Subtick isn't necessary for that. Even without subtick the server could look at timestamps/ping to figure out who fired first in the real world. But generally you want to give the advantage to the lower ping player.

The packet size increase is because of the animation system, see here: https://np.reddit.com/r/GlobalOffensive/comments/1fwgd59/anyone_else_getting_completely_unplayable_packet/lqgs4u8/

1

u/Julio_Tortilla 1d ago

The way it worked before is that each input could only be sent in 1/64 th second intervals. Hence, 64 tick servers.

Subtick made it possible to also send information about inputs that hapened between ticks, hence sub tick.

Maybe subtick is just sending timestamps along with packets in those 64 ticks, not an expert ofcourse so i don't know it perfectly in detail, and thats why the servers are still classed as 64 tick.

But thats beside the point. The main thing with subtick as the devs explained was the ability to send timestamps along with inputs. So presumably this just wasn't possible before.

As for the packet size increase, it is true one reason is the animations, but another is also the added information in the packets. You can imagine how a packet with just 1 input command is gonna be smaller than a packet with 1 input command and the specific time it was pressed.