Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I really dislike games which rewind state based upon latency. It penalizes people with good ping and can lead to very weird game states where a large rollback can cause teleportation of a laggy player as seen by non laggy players.

Team Fortress 2 is particularly bad where high latency players can teleport around or you can shoot and hit a laggy player but it doesn’t register by the server due to a rollback. Some players purposely exploit this function by artificially increasing their ping values to absurd levels (700ms or more) which makes them very hard to hit. Many community TF2 servers enforce maximum ping limits for this reason.

Most notably high pings are used to exploit when playing as the Spy class due to the fundamental purpose of the class is to get behind you to backstab you. If you have 700 ping can abuse the fact that you you can get behind players due to the game being out of sync and if you can backstab a player the server will roll back and kill the non-laggy player even though you were no where near behind them from their non-laggy perspective.



While the exact logic TF2 uses leaves a lot to be improved, you absolutely need this kind of lag compensation. Without rewinding any amount of latency results in having to aim where an enemy gamer will be by the time your packet reaches the server instead of where they are on your screen. If you remember before they patched the Pyro class you had to aim significantly in front of players because the flames weren't lag-compentated.


I rather enjoyed playing Q2 on a modem and aiming the railgun where someone would be in 150ms. It took practice :)


There's a difference between backwards reconciliation (rolling the game world back to process a lagged player's input) leading to "shot around a wall", and packet loss/jitter leading to jumpy player and teleporting.

I make this distinction because I actually think backwards reconciliation is table stakes for any kind of precision game and is usually pretty easy to implement. It can also help solve teleporting: you run backwards reconciliation on movement commands also (not just shooting or other actions), and combine with a little player position extrapolation.

Nothing fixes a 700ms, actually I would guess the ceiling on competitive play is somewhere around 200ms with incredible netcode. But 200ms gets you pretty far: across the US or the Atlantic Ocean for sure (packet loss over those distances is another story though).


every game in existence where you can shoot at someone by simply clicking where they are either uses lag compensation or clientside hitreg, it's simply impossible to get around this

also players only teleport around on your screen in tf2 if you set your cl_interp very low


I’m not a game dev but I don’t really buy that being able to shoot other players requires compensation or client side hit reg. If you assume players have 35 ping (as Riot did) that is only 2 frames at 60fps which may make a small difference in edge cases, but I believe the game would still be very playable.


Spoiler alert: it wouldn’t be “very playable”. Not in a FPS. There’s a reason that basically every single FPS out there has it. You want headshots to happen when people click on people’s heads, not clicking ahead of them.


I stated a detailed reason why I think playing a game with 35 ping without rollback would be “playable”. If you would like to explain technically why it would not be playable I am willing to listen and learn, but posting some low effort Reddit-esque reply does not bring any value to this conversation.


no, it would not be playable, even with 35 ping




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: