Soooo... Where's the "more information tomorrow" that we were promised?

Hitboxes and hitreg is essentially the same thing. The problem is so much more complicated than people on the subreddit make out though.

From a game developers viewpoint, CS:GOs hitboxes are incredibly well made. The tickrates of modern FPS games are:

  • BF4 - 10

  • Call of Duty - 30

  • Halo 4 - 10

There isn't much documentation on this kind of stuff so it's hard to find other tickrates in modern FPS games. Look up any and you might be surprised at how low it is though.

In official matchmaking, this means that the hitboxes, the models, the position, the items on the ground, any movable map items, any ragdolls and any events such as particle effects have to be updated on the clients side. As you can imagine, updating the hitbox 64 times every second is extremely problematic due to the way animations and hitboxes work.

In short, hitboxes and models are not connected in games where the models are as complex as counterstrike. Here is an image showing the hitbox overlaid on a model from CS:GO. As is obvious, the hitbox doesn't bare much resemblance to the actual model. This is because creating a more complex hitbox would come at the cost of significantly lower FPS, worse server performance or lower tickrate. As far as documented FPS hitboxes go, CS:GO is about on par. It's also adaptable to all of the models in the game though, perhaps to a variable degree though.

As for hitreg, it's probably an issue with lag compensation. Without the lag compensation in place, I'm sure you would notice problems a whole lot more. Interpolation is also most likely a problem in all of these videos people put out of them 'hitting' a shot.

First of all, I'll go over interpolation. This will take a certain number of ticks, depending on what your setting is, and take an average of all of the information from those ticks. It will then display that average on your client side. This means that your client side data could potentially be a couple ticks behind the server and in the end, the server is always correct. It will display client side hits because according to the inaccurate data on your client, it was a hit. The server, displaying the correct information however, knows that your shot didn't land. Setting your client interp to 0 fixed a couple hitreg issues I had.

Onto lag compensation anyway. This makes sure that your client is providing you with relatively accurate data despite excessive pings. A relatively reasonable ping of 60ms still means that between the server sending the client information, the client getting the information and the server receiving the information back from the client, there is just over 120ms of delay. In a game like CS where little twitches and reactions mean alot. That delay of just over 0.1 of a second all the time will be much worse than your client having occasionally incorrect data compared to the server. When pings start getting excessive (120 isn't unheard of), things get even worse. That would be approximately 1/4 of a second delay on that player, putting him at a huge disadvantage. The purpose of lag compensation is to put all players with a reasonable ping at an equal level instead of giving those with lower ping a distinct advantage.

Also on 128 tick, it's slightly helpful but also a bit of a placebo. It only distinctly beneficial for those with 120+Hz monitors, constant 120+FPS and inhuman reaction times. Even at 32 tick, the amount of time the average person can react to a given stimulus in is many time over the amount of time between each tick. There's a video on it somewhere but I can't find it.

/r/GlobalOffensive Thread Parent