First of all, technically the word netcode is a tad misleading: UTComp's Enhanced Netcode does not have any impact on the actual network data being sent between clients and servers. The better word would be predictive weapon firing. However, due to the fact that gaming communities typically refer to this as netcode, we decided to use a term that players would easily be able to identify. Please do not write us angry emails claiming Enhanced Netcode isn't really netcode: we know.
As opposed to past "netcode" modifying mutators for the Unreal Tournament series, our netcode does not decide anything clientside that would normally be decided server side, or change the position players are displayed at. Our netcode works similar to Half-Life's, by having the server remain the ultimate authority.
The entire point of this is to remove the aim differences between various pings: while many players can deal with "lagged" fire, (having to lead targets depending on their pings) several players cannot, or would rather not if they had the option. Players using Enhanced Netcode can simply fire directly at targets, regardless of their ping.
Technical facts about Enhanced Netcode:
Hitscan Weapons:
How it works: The client draws its own client effects. The client sends info to the server. The server decides if the player would have hit if he were not lagged.
The immediate downside is 'through the wall' hits. These are not nearly as noticable in UT as you might imagine. Most experience with it comes from counter-strike, where the movement caused by damage is also reverted to 0 ping conditions. What this means is, that unlike CS, you won't get stuck behind a wall being hit over and over. You will be hit only if you would have been hit versus a lower pinger. This is currently capped at 350 milliseconds.
Another downside is that the client may register hits, or misses that will not actually register on the server. These are rather infrequent, but will happen nonetheless. The majority of these come from already existing innaccuracies in UT's netcode. In ut2k4, when you fire a shot, the shot is not only not guaranteed to be fired when you shot, but also is not guaranteed to be even aiming in the same direction, or from the same place as you shot. For example, if you move your mouse *QUICKLY* from left to right or up to down. There is basically a random cone of fire, even on weapons like the shock rifle and lightning gun, and even on lan. This is why snap-shots are so innacurate in ut2k4. Basically, the errors are made more visibly noticable.
Projectile Weapons:
Projectiles are reverted much like the hitscan weapns, but are currently limited to 75ms. You cannot be hit behind a wall by the projectiles.
Downsides: The immediate downside is that the projectiles are actually slightly harder to dodge vs a higher pinger. However, the magnitude of this effect is equal to the effect that the high pinger feels from the lower pingers projectiles. For example in the case of a 10 pinger vs a 75 pinger, they will both have equal difficulty in dodging projectiles, the approximate difficulty of a 85 ping player. Above 75 ping, the lower ping player has an advantage in dodging.
Shock Combos:
Your own shock balls are moved forward approximately as far as your ping, so that you do not have to lead them.
Downsides: The shock ball will look to be in a slightly different position when the actual combo explosion occurs. This is only visible to the firer, and has no real impact on play, but it looks wrong.
Other facts about Enhanced Netcode:
* If the server has Enhanced Netcode enabled, every player can decide whether they want to use Enhanced Netcode or not. Players who prefer the regular UT2004 netcode can simply check an option in their F5, Miscellaneous menu and revert back to the normal netcode. This will have no impact on other players. Server admins who prefer not to use Enhanced Netcode can disable it entirely for all players by either changing the setting in their server.ini, or by voting the option off via the Voting--> Gametype --> Settings menu.
* Enhanced Netcode is in most cases as accurate than the normal netcode is. However, many effects now take place on the client instead of the server. This has the direct result of causing some innacuracies that would normally be transparent to the player, visible.
* Enhanced Netcode does not make it any "easier" to hit targets. It only makes it so that you don't have to fire ahead of opponents. For players who are unable to effectively adjust to their pings, it will make a difference, but it's not going to give them any better accuracies than they would get under lan conditions.
* Enhanced Netcode does not favor higher ping players. However, if those players had difficulties aiming in front of their targets to compensate for their ping times, it will obviously minimize their usual ping disadvantage. As much as we'd like to make things 100% even regardless of pings, this just isn't possible. For now, minimizing higher ping disadvantages is as good as we can do.
* Enhanced Netcode will not currently work with custom weapon mutators. So, for the time being, you would be best served to only use the enhanced Netcode with the standard weapon loadout.