America's Army Forums
http://archive2.forum.americasarmy.com/

Net-whatever
http://archive2.forum.americasarmy.com/viewtopic.php?f=45&t=13581
Page 15 of 19

Author:  [Dev]Grubber [ Sat Jun 21, 2014 4:40 am ]
Post subject:  Re: Net-whatever

Don Quixote wrote:
Ok.
I will leave here this small reading that explains in a comprehensive way (I think) what I have been saying in this already long thread. I hope the four (but small) chapters can help to give a clear idea about this subject, to everyone.
http://www.gabrielgambetta.com/fpm1.html
To you, I really hope this can give a extra will to build a server side network code. Dont know if at this point this is even possible just because the network code that the game have now is part of game code and from what I know a server side network code needs to be built separately from game code and incorporated later.


Did you read the whole article? Like all parts I-IV? Because if you did, the article clearly explains lag compensation as we use it and why its used in the methods that we use it with the exception that our servers don't take shots just the clients. In fact I wish I had that article to give everyone when this thread started.

Author:  JoseyWales [ Sat Jun 21, 2014 11:25 am ]
Post subject:  Re: Net-whatever

Thanks for the article. I read it. The writer stresses his point of view through out a few times and it is a little less techincal. Its more about the authors generalized opinion about a few concepts in netcode. He even states in the last bit about 'lag compensation' that it is a trade off... A term I here a lot when reading about this stuff. It is his opinion that it is a better method and most people are hunky dorry with it. I'm not a fan.

For example, he sees it like this, that sniper is aiming at this guy in the open, he shoots, lag comp awards him the kill cause when he shot, his POV showed the guy standing there. From the perspective of the enemy, he moved to cover and still got owned. Enemy unhappy, who cares, sniper wins he's glowing.

I'd like to point out another school of thought. IMO, bullets do take time to travel, they arc through the air, etc.. etc.. In a server side system, you aim ahead of a moving target the same as you would IRL. Maybe its not spot on perfect but it makes a lot more sense. Sniper has to actually think, and enemy is happy when he reaches cover and doesn't get sucked back out 5 feet in the open.

Author:  bart3097 [ Sat Jun 21, 2014 12:11 pm ]
Post subject:  Re: Net-whatever

I agree with Josey here. His other way of thinking is what I would prefer, as long as the server shows me when the bullet will arrive in the wall, I will know I had to aim more in front of him.

Now I don't know when it's smart to take cover as it doesn't always help me anyways, plus the way aiming works now is different for every opponent. With more server sidedness, if I have a low ping, I always have to aim the same lot in front of the enemies, and the only enemies who can shoot me are the enemies who are actually able to shoot at me at that point.

Author:  BCPull [ Sat Jun 21, 2014 12:15 pm ]
Post subject:  Re: Net-whatever

bart3097 wrote:
the way aiming works now is different for every opponent


What do you mean on this point in particular? This shouldn't be the case.

Author:  JoseyWales [ Sat Jun 21, 2014 2:00 pm ]
Post subject:  Re: Net-whatever

Everyone is in there own world. I mean everyone is technically I suppose either way, but he's saying there is more contrast. Sniper aiming at you because there you are from his POV, yet from your POV yoru not there no more, yet from some bistander maybe your both doing something else. Since the server doesn't keep everyone in check its creates a broader gap.

Another take on that guys same example, with server side it doesn't make any difference, if he's standing still its the same in both cases except for the last split second when the enemy decided to move, after which, i'd say, well your bullet wasn't quite fast enough, we are only talking a few 10ths of a second here, its acceptable.

Serverside ftw!

Author:  Don Quixote [ Sat Jun 21, 2014 6:49 pm ]
Post subject:  Re: Net-whatever

JoseyWales wrote:
Thanks for the article. I read it. The writer stresses his point of view through out a few times and it is a little less techincal. Its more about the authors generalized opinion about a few concepts in netcode. He even states in the last bit about 'lag compensation' that it is a trade off... A term I here a lot when reading about this stuff. It is his opinion that it is a better method and most people are hunky dorry with it. I'm not a fan.

For example, he sees it like this, that sniper is aiming at this guy in the open, he shoots, lag comp awards him the kill cause when he shot, his POV showed the guy standing there. From the perspective of the enemy, he moved to cover and still got owned. Enemy unhappy, who cares, sniper wins he's glowing.

I'd like to point out another school of thought. IMO, bullets do take time to travel, they arc through the air, etc.. etc.. In a server side system, you aim ahead of a moving target the same as you would IRL. Maybe its not spot on perfect but it makes a lot more sense. Sniper has to actually think, and enemy is happy when he reaches cover and doesn't get sucked back out 5 feet in the open.

Exactly my objective with article.
Being obvious the author preference for these network methods, he clearly points the flaws of these methods. Also I am happy that finally Grubber agreed that these are the network methods with this version, not so happy when he show his preference for it.
Without going into technical details I will quote the ones which are the base of these methods that only by itself are reason enough to hate these methods.
Quote:
When using an authoritative server, you need to give the player the illusion of responsiveness, while you wait for the server to actually process your inputs.

Quote:
But what if he was in an open position, got behind a wall, and then got shot, a fraction of a second later, when he thought he was safe?
Well, that can happen. That’s the tradeoff you make. Because you shoot at him in the past, he may still be shot up to a few milliseconds after he took cover.
It is somewhat unfair, but it’s the most agreeable solution for everyone involved. It would be much worse to miss an unmissable shot!

What he call "tradeoff" and "agreeable solution", I call nonsense.

Also, in Part One, with the small approach that he makes to server side option, he points how bad a game could be, with a server side network method, having the players "a lag of half a second", well .. he is just stating the obvious, any FPS is unplayable with 500 ms.
However the curious part is, he believe and implies that these network methods (lag compensation/client side prediction) are able to surpass network constraints caused by the lag due to such high latency, by the simple fact of giving to the user a "illusion of responsiveness" mixed with some "logical calculations".

For today's game developers will be a bit hard to understand or even consider different alternatives for these "smoothing' network methods, but those who were in the business through the last decade and know the real reason why these methods were widely spread, surely will not be supporting these methods in a platform exclusively aimed for PC.
I perfectly understand the need of these network methods in multi platform solutions, a server side network method will be infeasible when we speak about consoles, also I perfectly understand the need of game engines to move in to these solutions, not being able to provide solutions ready for multi platforms they would be completely excluded from the market (with rare exceptions).
I have nothing against these methods when we speak about a console game, in fact is not even important, we just need to look at all kind of artificial help that the titles for these platforms have to understand the level of reliability.

When we speak about a title exclusively made for PC, I am unable to understand why this "smoothing" network method was chosen.
In fact I have placed the same question for podcast, but unfortunately it was removed. Guess I will never know.

Author:  shhfiftyfive [ Sat Jun 21, 2014 7:17 pm ]
Post subject:  Re: Net-whatever

wtb server side. i really want that back where we aim in front of moving targets. i could care less how this affects people with 250 ping. i can get 150 ping from central US to London... 250 ping is catering way too much to people who don't belong on said servers.

Author:  [Dev]Grubber [ Sat Jun 21, 2014 7:27 pm ]
Post subject:  Re: Net-whatever

shhfiftyfive wrote:
wtb server side. i really want that back where we aim in front of moving targets. i could care less how this affects people with 250 ping. i can get 150 ping from central US to London... 250 ping is catering way too much to people who don't belong on said servers.


If all you want is leading the targets then we can just slow bullet speeds down. With a server-side you would have to change your lead based on the targets ping.

Author:  [Dev]Grubber [ Sat Jun 21, 2014 7:31 pm ]
Post subject:  Re: Net-whatever

bart3097 wrote:
Now I don't know when it's smart to take cover as it doesn't always help me anyways, plus the way aiming works now is different for every opponent. With more server sidedness, if I have a low ping, I always have to aim the same lot in front of the enemies, and the only enemies who can shoot me are the enemies who are actually able to shoot at me at that point.

On a server-side if you have low-ping you are still going to be aiming at every target slightly different if their pings vary enough.

Author:  [Dev]Grubber [ Sat Jun 21, 2014 7:54 pm ]
Post subject:  Re: Net-whatever

Don Quixote wrote:
Also I am happy that finally Grubber agreed that these are the network methods with this version, not so happy when he show his preference for it.
Without going into technical details I will quote the ones which are the base of these methods that only by itself are reason enough to hate these methods.

I'm not sure what I am agreeing to here that I have not been saying this whole time.

Quote:
When using an authoritative server, you need to give the player the illusion of responsiveness, while you wait for the server to actually process your inputs.

Client-side prediction, not lag compensation just so everyone is clear since it was taken out of context.


Don Quixote wrote:
Also, in Part One, with the small approach that he makes to server side option, he points how bad a game could be, with a server side network method, having the players "a lag of half a second", well .. he is just stating the obvious, any FPS is unplayable with 500 ms.

What the writer fails to note is that packet loss and other general internet issues can add random skips in actions. If you run at 44ms and you drop a packet you will be waiting longer than normal for an action to complete if it completes at all.

Don Quixote wrote:
However the curious part is, he believe and implies that these network methods (lag compensation/client side prediction) are able to surpass network constraints caused by the lag due to such high latency, by the simple fact of giving to the user a "illusion of responsiveness" mixed with some "logical calculations".

Client-side prediction does allow for a more seamless and responsive game when playing on the internet. Its a fact, it was invented to do just that. So now you want to get rid of client-side prediction? Cause the start of this thread everyone wanted it (despite us having it).

Don Quixote wrote:
For today's game developers will be a bit hard to understand or even consider different alternatives for these "smoothing' network methods, but those who were in the business through the last decade and know the real reason why these methods were widely spread, surely will not be supporting these methods in a platform exclusively aimed for PC.

I can't speak for all game developers but I was taught both methods and their pros and cons. Also, has America's Army always been exclusively PC? :)

Don Quixote wrote:
I perfectly understand the need of these network methods in multi platform solutions, a server side network method will be infeasible when we speak about consoles, also I perfectly understand the need of game engines to move in to these solutions, not being able to provide solutions ready for multi platforms they would be completely excluded from the market (with rare exceptions).

Those would be some reasons for sure.

Don Quixote wrote:
I have nothing against these methods when we speak about a console game, in fact is not even important, we just need to look at all kind of artificial help that the titles for these platforms have to understand the level of reliability.

You make it sound like a cripple needing a cane. These methods are perfectly valid and can stand on their own two feet and have a wide range of applicable situations.

Don Quixote wrote:
When we speak about a title exclusively made for PC, I am unable to understand why this "smoothing" network method was chosen. In fact I have placed the same question for podcast, but unfortunately it was removed. Guess I will never know.

Maybe if I am on the podcast Daley will ask me :).

Page 15 of 19 All times are UTC - 5 hours [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/