- BerserkerBarage
- |
- Exalted Mythic Member
MY LOVE FOR YOU IS LIKE A TRUCK...
Posted by: Langley
--on another note, I think MLG Chewhatever is an idiot.
Posted by: Achronos
There is a reason I am user ID 1 and my account creation date is before this site came online.
Posted by: MadroKurgan
I see what you mean. But most of their remarks are rather ignorant. Yours are not, and that is why i brought it up. There is no reason to "play" at their lvl. It just turns a discussion into a pissing match. Plus i hate when absolutes are used in any situation.
Fair point. And you're right, if I want my opinion/viewpoint to be considered higher than theirs I can't exactly do the same petty things they are.
Yes that is true, but not what i'm referring to.
With client side netcode the clients will see the latency, such as the delay from when pulling the trigger to the bullet hitting, sliding, etc. But regardless of visual delay, if you see your bullet hit, or grenade explode, then it also happened on everyone else's screen. Visual latency for reliable bullet, grenade, etc. is the trade off. With host side you get the appearance of negligible latency, but the trade off is dropped bullets, etc.
Every sniper bullet in CoD2 or pistol bullet in H1 over xbc that i am aware of counted for me IF I SEEN IT HAPPEN ON MY SCREEN. Not just pulling the trigger, but actually seeing the bullet hit. Some times in CoD2 when ping is high (350 and above), i can be dead on with the sniper and fire, BUT if the host fires before my bullet info gets to him, then my bullet will not count. The first players bullet to hit will win, and the bullet that you shot will fade away. There is no double kills. The same thing happens in splitscreen. That is the design of the game, unlike H3 situation. That may be what you are referring to. But every single time that i am aware of when i use the scoped Kar or the Kar, when i see my bullet hit (and it might take up to a full second after i pull the trigger), my opponent goes down, or gets wounded. I don't need to go to theater to know that when i empty my entire BR clip into someone, and my aim is tight, that bullets are not registering. BR bullets not registering happens all the time to me, in every game multiple times.
Plus i'd much rather have client side, rather then host. With client side i can adjust my shot according to the latency. I therefore can still dominate at very high pings. And what i see on my screen counts MOST of the time. With host side, latency is covered up significantly. And what you see on screen is not what you get a lot of the time. It is a role of the dice as to whether the host will agree with you or not.
Now, I'm not an expert in this field and I really haven't done much work with this stuff since high school (which was almost a decade ago) but the differences in netcode come down to the differences in TCP and UDP. While TCP is great and all it doesn't work at all with complex things over the internet. Which is why pretty much everything over XBL (that I know of) uses a UDP-type system.
I'm not sure if COD2 used a TCP-based system for their netcode, but it sounds like it or something similar. With TCP, it ensures packet arrival (and multiple "handshakes") but can make things 'chug' which produces many lurches and lunges in on-screen display. The problem with this and client-end services is that it produces just as many "WTFBBQ!" moments as UDP/host-end does. On my screen in a TCP/client-end you could not even be facing me and not firing, however on your screen you're looking dead at me and shooting me in the face. You send the packet saying that you're making my face a pin-cushion, and I die because the TCP/client-end makes sure that all packets are sent/received and reflect in gameplay. This isn't a good scenario because I certainly would have adjusted my interaction if I would have known you were actually looking at me. With TCP/client-end and especially in games of high ping levels you can never know for sure if someone is looking at you, moving towards you, firing at you, etc.
And like you said, in COD2 you could have shot someone on your screen but it doesn't matter if they shoot you "first". Especially if the game negates shots that happen in later packets (you can't kill me even if you shot if you were dead when you "sent" the packet). Since TCP ensures all packets are received and ordered correctly, if you consistently get a lower "rank" packet number than I do, the game could consistently negate shots I fire because you're packet sends and receives then my packet does, but my packet doesn't produce the result because I am "dead" because of the information contained in your packet.
Now, I'd love to just be able to roll back the clock and just return online gaming to to the simple times of P2P netcode. Especially since that's all my personal experience has let me do. Back when Doom and DukeNukem were gods and that netcode was amazing. Lock-steps made some things easier to do but made a lot of other things very complex. Can you imagine trying to do a BTB game in H3 on a P2P/Lock-step connection all the time? You're 360 would melt so quickly it would be ridiculous. Would it be nice that even in a server-proxy architecture (like H3 uses) that it could redo the "game state" from the server to the client at each "tick"? Hell yeah. Do I think that it is even remotely possible even in today's technology? Hell no. The amount of bandwidth required for something like that for a game like Halo 3 would be monstrous.
Now I don't like being a "proxy" any more than you do and I'm not sure why Bungie and pretty much everyone else uses UDP over TCP. But I'd imagine there has to be a reason. I hope that one day that even with a server-proxy architecture that there will be sufficient bandwidth so that the server can send an accurate "game state" to all proxies which would effectively end host advantage. I just also know that won't be happening anytime soon. Again, it seems bandwidth and the interwebz are to blame.
~B.B.