▲ | shdh a day ago | |||||||
There are a number of issues with the Q3 netcode. When entities are culled due to Potentially Visible Sets (PVS), a player moving fast enough near a vis brush may appear to pop into existence out of thin air. This occurs because of latency. A simple fix would be for the QVM code to extrapolate the player’s position into future frames to determine whether the entity should be culled. The original Q3 netcode lacked lag compensation for hitscan weapons. As a result, players often had to "lead" their crosshair to register proper hits. This issue was later addressed by the Unlagged mod, which introduced lag compensation. Input commands had a back buffer to handle lost input frames, but instead of applying them with a delay, the inputs were applied to entities instantly. Consequently, other players' entities sometimes appeared "choppy" when the respective player had a poor connection. That being said, they got almost everything right: * Snapshots with entities: Efficiently delivering game state updates to clients. * Lerping entities: Smoothing movement on the client side using a snapshot buffer. * Delta encoding: Transmitting only changes in entity states within snapshots. * Huffman encoding: Compressing snapshots for reduced bandwidth usage. | ||||||||
▲ | monkburger a day ago | parent | next [-] | |||||||
Also; The server calculated projectile trajectories independently of client-side predictions.It was buggy on certain? versions. We (OSP) noticed this on earlier Quake 3 releases and it may have been fixed. This results in visible "misfires" where projectiles didn't behave as expected | ||||||||
▲ | BoingBoomTschak a day ago | parent | prev [-] | |||||||
Talking about Unlagged, I would kill for a clear explanation (with diagrams!) of various netcode improvements in it, CPMA and QL. I'm forced to try to piece together a mental model by finding crumbs on the web, with the current situation: https://github.com/minism/fps-netcode https://playmorepromode.com/guides/cpma-client-settings https://www.esreality.com/?a=post&id=2548041#pid2548771 https://old.reddit.com/r/QuakeChampions/comments/9jd3wv/for_... PS: the modern way of enjoying Q3 is https://github.com/ec-/Quake3e or CNQ3, these days. Don't know about https://github.com/ioquake/ioq3 | ||||||||
|