Antilag

From QWiki

Summary

Antilag is a term used for all the code that makes the game feel as though you had low ping, even if you have high ping. This includes movement, hitscan weapons and nowadays projectiles.

  • antilag = 0, no antilag (only movement prediction)
  • antilag = 2, server side prediction - existed for a long time,
  • antilag = 1, also known as andehlag, server side prediction of projectiles, client side prediction, the option for a low latency feel client side

The numbering of Antilag might seem confusing at first. Why would Antilag 2 come before Antilag 1 chronically? There are reasons to this.

Antilag 0

QuakeWorld introduced movement prediction to Quake, to make high ping games feel a bit more responsive.

Antilag 2

This update contained prediction of hitscan-weapons. This made Shotgun, Double-Barreled Shotgun, and Lightning Gun emulate 0 ms between client and server.

This version of antilag changed QW to it´s core and many people started to rely more on the Lightning Gun, where the Rocket Launcher previously had been the single most dominating weapon.

Antilag 1

Antilag 1 ("andehlag", "the new antilag") is a project that involves trying to modernize the netcode of QuakeWorld on both the server and client side, to facilitate better matches between high ping and low ping opponents.

What commands are new in the antilag 1 client?

It is recommended that the default commands are used to begin with. However, the following cvars can be changed for your preferences.

  • cl_predict_beam
  • cl_predict_jump
  • cl_predict_projectiles
  • cl_predict_smoothview
  • cl_predict_weaponsound


Each cvar has in-game documentation but I'll give you a quick explanation here:

cl_predict_beam - use either 1 or 0 - this predicts the lightning gun beam, as in drawing it when you click for a 0 ping feeling. Can misbehave in water (seeing a beam before a discharge happens, for example). Use whatever you prefer.
cl_predict_jump - use either 1 or 0 - this plays a jump sound when you click jump, to go along with the regular movement prediction of QW. This is prone to error, but some might like it anyway. Default is 0.
cl_predict_projectiles - this is the biggest one if you ask me. Default is 0 to avoid confusion for any returning player, but I would recommend setting this to 1 in every situation. What this does is it draws a projectile animation when you click +fire, even before the server has received the packet. This makes your projectile weapons (ng, sng, rl, gl) feel low ping when you shoot. Be aware though, if you die before the server knows you were trying to shoot, the rocket animation will be cancelled and no rocket will be shot, and this can be confusing if you don't understand it. However, the feeling of low ping rockets is very desirable and the trade-off is very small.
cl_predict_smoothview - Did you ever play on high ping and it absolutely sucks when somebody shoots you and you jolt around all over the place with no idea what's going on? Yeah, me too. This setting smoothes out how your predicted position and true server position blends together, to create a smoother feeling being knocked from point A to point B. This might be a little difficult to understand, but it essentially just makes the jolting less annoying. It'll never be perfect of course, as high ping is simply high ping, but at least it helps a little. This works in increments of 0.1, from 0 to 2.0. I use the default value - 1.0 - but you may want to make it even smoother by setting it to 1.5 or 2.0, or turn it off altogether by setting it to 0 if you want the familiar jolt. Personally, I set it to 1 and never touch it. On low ping, the difference between predicted position and true server position is close to eachother, so it doesn't do much then.
cl_predict_weaponsound - This is exactly what it sounds like. It makes your weapons make sounds when you press +fire, instead of when the actual shot happens serverside. I'd leave this on its default, 1, and forget about it. If you however want to tweak it, you can manually disable predicted weapon sounds for each weapon. The in-game documentation will help you with that, in case that's something you want to do.