In MWO, as in many online games, weapon fire/hit detection/movement are all determined on the server rather than on your client. This prevents many forms of cheating because regardless of what happens on the client, the server is the ultimate authority.
However, this also means that if you see something on your client, it may or may not be actually happening on the server. This includes weapon fire (if you 'see' something hit a target, it may not) and movement (warping that occurs when you collide with another 'Mech on the server).
Technically, you need to 'lag shoot' to hit ALL 'Mechs, not just Light 'Mechs. However, the amount of 'lag shooting' required to hit a 'Mech is a function of that 'Mech's speed. As Light 'Mechs are the fastest movers, they require the most compensation.
What is "Lag Shooting"?
Lag shooting is the process of compensating for the network code. It involves predicting the 'real' position of a target on the server.
Since the server is the 'authority' for 'Mech position and action, each player's client communicates with the server to provide player actions and to receive server information (damage done, sensor contacts, 'Mech positions, etc). This communication has a latency which is effectively the time it takes for a signal to travel from the server to the client or vice versa. This is effectively the 'ping' of the player to the server. In fact, in a player/player interaction (such as shooting), there are two latencies... the shooting latency and the target latency. Both affect lag shooting.
"Lag Shooting" involves predicting the current 'server' position of a 'Mech and then directing your weapons fire to that location accounting for all latencies.
How can you predict the position of a target on the server?
Simple, you need to do complex trigonometry in real-time while simultaneously controlling your leg and torso position and dynamically accounting for two parallel network latencies. HA!
No, really... you do. (wait for it)
How to I learn how to 'lag shoot'?
1. Pick a weapon that makes it easy to practice. Get a 'Mech with lasers (to start with).
2. Create a mental picture of the server position of your target. Imagine your target has a big spear stuck in its chest. Now put a tennis ball on the end of that spear. When that 'Mech runs, that tennis ball sticks out in front of the 'Mech by the length of the spear. That tennis ball represents the 'real' server position of the target 'Mech.
3. Determine the maximum lead required. The length of the spear is the combination of the latencies for you/the target to the server. Determine the length of the spear by trial-and-error. When the target is moving EXACTLY perpendicular to you (crossing your T), shoot in front of your target and then sweep back until you see your recticle light up (red) indicating a hit. This is the MAXIMUM lead you will need. Keep an eye on the target 'Mech's armor diagram and look for the flash telling you where the shot went. You can adjust your 'spear' until you see your shot hitting the part of the 'Mech you're aiming at.
4. Recognize that the angle of the target 'Mech compared to your fire vector makes the server position (tennis ball) change. If the target is moving directly at your or away from you, the tennis ball (server position) is directly overlapping with the client target, but may be slightly closer/further away than you expect. If the target is moving laterally in front of you (perpendicular), it maximizes the lead. For any angle of movement in-between, use the tennis ball analogy is critical. If the target is moving away/towards you at an angle, you need to decrease your lead from the maximum but not to zero. This is the trigonometry part of things... technically the angle of the target relative to your fire direction determines the scalar on the lead vector.
5. Recognize that YOUR movement also creates a distortion. By the time your command to 'fire' hits the server, YOUR server position will have changed. This makes it possible for you to completely miss a target that is stationary if you aren't also compensating for your movement vector in your shot.
5. Practice. Always remember to shoot the mental tennis ball rather than 'Mech on your screen. Keep track of your success by watching your target's armor indicator.
Caveats/things to consider
- Keep in mind that when you're trying to hit specific parts of 'Mechs (legs, arms, head), you need to mentally attach the spear/tennis ball to that part of 'Mech.
- The leg should generally be your target for lights for two reasons: 1) You only have two hit locations if you aim low (RL and LL) and 2) If you destroy one leg... the Light loses the lag shield and tends to explode soon after.
- If the target is torso twisting, you must also mentally compensate for that rotational effect, but the 'spear/tennis ball' effect is mostly in the direction of the target 'Mech's leg movement.
- If a target 'Mech is moving on terrain that changes elevation, you MUST compensate for the expected elevation change at the tennis ball point. Imagine that the tennis ball must always be at the same height above the ground. It will help.
- Ballistic/slower than light weapons (including SRMs) require an ADDITIONAL compensation for the travel time of the weapon. Thus, you will have multiple spear/tennis balls... one for each weapon with a different travel time.
- If PGI ever fixes their netcode, this may be less necessary. For now, it's REQUIRED to hit light 'Mechs moving >90kph.
- If you're dropping with friends on voice comms and they're spectating you, they can tell you exactly where the shots are going and help you re-calibrate. Of course... they have to be dead.
Edited by HRR Insanity, 26 December 2012 - 09:53 PM.