![]() |
| | #1 (permalink) |
| Newbie | Hello, Appologies if someone has already posted something to this effect, I couldn't find it if they have. Appologies on the length also, I'm a programmer so I'm going to get quite technical :-) I was reading the excellent article by 7thSerapHim The Guide to Lag, Ping and Lead Shot.. Personally the biggest problem I have with the game is lag. My connection is pretty good and I've played quite a lot of online FPS, but GunZ lags the worst by far. There seems to be two reasons for this (and hence two suggestions for a fix). SUGGESTION ONE: SERVER-CLIENT INSTEAD OF PEER-PEER. The single biggest reason for the lag problem is that if 7thSerapHim's description is accurate then GunZ is clearly using a peer-to-peer model rather than a server-client model. Almost ever other FPS uses server-client, and for good reasons, so one really wonders why GunZ is using peer-peer. What's the difference? Well in short in peer-to-peer networking each client decides for themselves whether someone has hit them or not. In server-client networking the server is the only computer that makes that descision, other clients say where they are and where they are firing but the server is the only one that decides whether it was a hit or not. The *really* big advantage of server-client over peer-to-peer is that when you're leading your shot the only thing that matters is your ping to your server (which is more-or-less constant) and not your ping to the other player, or even their ping to the server. It doesn't matter if they're ping is 0 or 10000, if you fire and the server thinks it was a hit then it was. The fact that only one ping matters (the ping to the server) also makes it easier to find games where you have a good ping. All that would be needed it some indicator in the list-of-games of what each server's ping was. You would then be able to see if it was acceptable or not and choose the server that's best suited. The other big advantage is that it's much harder to hack! In a peer-to-peer network a client can get God mode just by always saying "no you missed". In a server-client network they can only hack if they are the server, which makes life harder for the hackers. If GunZ had it's own dedicated servers (slightly more cost) then there would be almost no hacking at all! DISADVANTAGES There are only two disavantages to a server-client model, both relatively minor: - firstly in the current setting if the host leaves the game, no problem, someone else takes over. However life is slightly (though not vastly) more complicated with server-client, however, this problem isn't insurmountable. - secondly because the server is the "ultimate arbitrator" when a client moves they don't actually move, they're actually asking the server for permission to move (perhaps the server disagree's, someone might have just blown them against a wall with a rocket for example). This means that there can be lag in the clients controls, again this problem is well solved. A client can simply assume that what they're doing is permitted and proceed to display it to the user as if it's happened immediately, performing corrections when this turns out to be wrong. Again this is all in the QuakeWorld source. SUGGESTION TWO: CLIENT SIDE PREDICTION. Essentially the way this works is that the computer helps "lead" for you, it sees that your ping to the server is 100ms so it draws all players 200ms infront of where they were last said to be. In terms of 7thSerapHim's diagram it would be drawing the player in the blue box position, not the position indicated on the diagram. So in our above example, with client side prediction if you fire "straight at" the player (i.e. no lead) you're actually leading by 200ms. Which it just so happens is the perfect lead to hit them with. This technique is very old and well tried and tested (first implemented in QuakeWorld - you can even go and read the source code for it). That's because it makes perfect sense, the computer is much better at leading than the player, it has up-to-date idea of the ping and the calculation is trivial for it to make, so why not let the computer do it? Of course if your ping to the server is dreadful so will the accuracy of computer's leading, but then if your ping is dreadful you'd never hit anyone anyway. Client side prediction should work well in either peer-to-peer or server-client, it's just a little easier in server-client. DISADVANTAGES As far as I can tell there's not a single disadvantage to client-side prediction, even if just using the peer-to-peer model. If the ping's really bad then people might jump about quite a lot, but then it's not worse than the current situation where as far as hitting them is concerned they already *have* jumped about like that. It would then at least be easy for players to tell that they were shooting at someone with a dreadful ping and decide not to waste the ammo. |
| | |
| | #2 (permalink) |
| Gunzfactorian Patriot | Agreed, the most-stable and popular FPS's use the dedicated-server system. This way we can see who's really lagging and all that. There are so many advantages to this system, but the thing is I don't think it'll ever happen in GunZ =\. |
| | |
| | #5 (permalink) | |
| SUPER DOUBLE HOMO | Quote:
| |
| | |
| | #6 (permalink) | |
| Gunzfactorian Commando | Quote:
| |
| | |
| | #9 (permalink) |
| Gunzfactorian Commando | Even though this has been suggested before. Maiet orignally wanted "Localized" servers.. That means. IGunZ was an idiotic version to begin with. You understand what I mean? KGunZ - Good ping between Boreans. JGunZ - Good pings between Japanese. And so on... Unless MAIET decides to reprogram IGunZ and it's servers, this lag will remain here, always. |
| | |
| | #11 (permalink) |
| Gunzfactorian Soldier Join Date: Feb 2006 Location: California
Posts: 785
![]() | I think the client side predicition would be really great. Thats actually a good idea. But the problem is that it will never happen. It will never happen if you leave maiet to do the work that is. Good suggestions and good post. And to the people going "O u got owned" get a life. |
| | |
| | #12 (permalink) |
| Member | So your pretty much saying that ..if Gunz was more like Counter Strike ..hackers would cease to exist and lag wouldnt be as game killing as it is? hmm ..hopefully these MAIET people look into this .. it sounds promising ^-^ |
| | |
| | #13 (permalink) |
| Gunzfactorian Patriot | This suggestion would make kstyle even MORE wonky. Someone dashes left so their character teleports over a metre in that direction, then they finish off their hs and dash back.. it's going to be a mass of teleporting ninjas with shotguns :/ |
| | |
| | #14 (permalink) | |
| Gunzfactorian Commando | Quote:
MAIET: LOL NO WAI | |
| | |
| | #15 (permalink) |
| Banned | :/ First of all gunz would have to be radically changed internally and people are already whining about the lack of a full version. With your 2nd idea what happens if the player changes direction? With the first idea it would be more difficult for people to create their own games then as it is now because they would need a bigger connection and alot of people dont have the power to do that with their computers. |
| | |
![]() |
| Thread Tools | |
| |