4 ms·
Valve is getting rid of tick rate entirely. Here is a video which explains it briefly: https://www.youtube.com/watch?v=GqhhFl5zgA0 https://www.youtube.com/watch
by takoid 4y ago
Valve is getting rid of tick rate entirely. Here is a video which explains it briefly: https://www.youtube.com/watch?v=GqhhFl5zgA0 https://www.youtube.com/watch?v=GqhhFl5zgA0
- nonethewiser 4y agoInteresting, I will watch that when I get a chance. Maybe it addresses some of these thoughts already. I wonder how much this is just reframing the concepts though. It kinda seems like they are just increasing tick rate tremendously because the type of system we call tick rate has changed. I mean, there has to be some interval at which the game is updated right? Wouldn’t that be the tick rate?
- Thaxll 4y agoThere is no such thing as removing tick rate, the video is confusing, I think it's improvement with rollback and also gameplay improvements with how grenades work etc ...
- haunter 4y agoSounds more like rollback netcode to me. You can’t just remove tick rate.
- bakugo 4y agoThe concept of "rollback netcode" is something that generally only applies to fighting games, shooters with dedicated servers use lag compensation instead which just means that, every time you shoot someone, the hit detection is done on the server but the server rolls back the player's position depending on your ping to make sure their position roughly matches what you saw when you shot. CSGO2 is just improving this so the rolled back player positions can be interpolated between frames instead of only being able to roll back to wherever a player was on an exact tick, which is what it currently does.
- Laremere 4y agoDefinitely not. Games operate in a loop: gather input, run update (tick), and then render the frame. The problem with the above is when sub-frame timings matter. What they're doing is being smarter about how they're calculating things. Eg: A 'naive' approach to movement could be: forward_pressed() { moving_forward = true; } update_position() { if (moving_forward) { pos += time_since_last_update * player_speed; } } But an approach which would improve timings is: forward_pressed() { forward_pressed_at = time.now(); moving_forward = true; } update_position() { if (moving_forward) { time_since_pressed = forward_pressed_at - time.now(); if (time_since_pressed < time_since_last_update) { pos += time_since_pressed * player_speed; } else { pos += time_since_last_update * player_speed; } } } Except things are more complicated as you need to consider exact position someone was when someone else pressed the shoot button, etc. To answer grandparent's question: They'll likely reducing tick rate to save server costs. However they can't lower too much without having noticeable effects for systems which don't account for sub-frame accuracy. Nits: Above is a simplification and theoretically you could do things differently, but as this is in Source Engine 2, they're definitely using ticks still.
- adamwk 4y agoAren’t you describing frame rate? Tick rate is different; it’s when the server synchronizes state across clients
- squeaky-clean 4y agoFrame rate is often an interpolated and predicted view over a fixed tickrate.