Unlagged
From GTR-Wiki
Contents |
Unlagged
What is Unlagged
Unlagged is a special technique that makes it possible to give every player a fair chance to hit the enemy, even with higher pings. It makes hitting with instant hit weapons (like machinegun, lightning, railgun) as easy as on LAN.
Problems when playing over the internet
When you want to play a game over the internet you normally connect with you local client to a dedicated server, that is mostly far away from you. The result from this distance is that all the packets that you send and receive have to bypass this distance. And that needs some time.
The time a packet need to get from you to the server is normally called ping. The higher your ping the more problems will you get when you play on that server because you will lag, that means the packets you get from the server are "old" and so you can't react in time to whatever happens on the server. It also means that everything you send to the server is "old" for it and most of your actions will be to late to deploy their full potential.
A problem you often have when you play on a server with a high ping is that you aim at an enemy and shoot, but you wont hurt him. This is caused by the lag you have.
An easy example for this is the following: You see the enemy on you computer in a specific position and shoot. The information that you have shot will be stored in a packet and send to the server, but in the meantime the server is moving on with its calculations and the enemy you shot at will be moved forward. When the server than receives your packet it compares the position you shot at and the position of the enemy. But because the enemy moved forward during the time your packet needs to get to the server you wont hit him.
The solution Unlagged can provide
Unlagged is a server-side technique. A normal server only stores the current positions of all players. So the server forget where the enemy was when you shot at him.
In Unlagged the positions of all players are stored over a short period of time on the server.
When the server now receives your packet with the information that you shot at your enemy it can calculate, based on the knowlege about your ping, the position of your enemy back to the position where he stands when you fired at him. It can now see that you really hit him at the time when you pressed the fire-button and can give the enemy the damage he would get when you played with ping 0.
Is Unlagged the right solution
The biggest problem nowadays is the ping that often does not allow fair games. Unlagged is a really good solution for people with low and high ping (altough it cannot compensate extremly high pings). But the player with the better ping will still have slightly better chances in a fight, because the packet that he wants to attack reaches the server earlier than the one from the high ping player.
Unlagged cannot reduce the real ping to 0 and it will never be possible to really simulate a ping 0, but it is the way to go. It allows games between people with different pings and the game will be fair enough because everyone has the chance to hit where he actually fired.
With Unlagged you have a chance to win against an equally skilled player. You won't lose only because it's to hard to hit your enemy.
Sources and more informations
For more informations and more detailed examples see
- http://www.twincannon.com/article_netcode.html
- http://www.valve-erc.com/srcsdk/general/multiplayer_networking.html
- http://www.pro-hl.com/column_bomberman_1.shtml
- http://www.gamesurge.com/pc/interviews/netcode.shtml
- http://www.gamasutra.com/features/gdcarchive/2001/bernier.doc
- http://www.resourcecode.de/stuff/clientsideprediction.pdf
- http://www.ra.is/unlagged/
