Technical solution to eliminate desync in single-player sessions
The problem with UDP is that the packets are not guaranteed to arrive. TCP provides headers that can guarantee the order and arrival of packets. With UDP, desync would be even more rampant. =(
HOWEVER, if they are truly bandwidth-starved, then they should definitely send a portion of non-vital data using UDP. Last edited by qwave#5074 on Nov 18, 2013, 9:02:42 AM
|
![]() |
Qwave I know exactly what you're saying. You're not the only software engineer who can write netcode.
I also know that your proposed 'solution' would leave the game vulnerable to hacks and exploits, which I consider unacceptable. I do not consider what you're proposing a solution at all. A small amount of desync, namely your ping in duration, is completely unavoidable, which is what GGG has stated. More desync than that however, which is what we're seeing in PoE, is avoidable by sending more information more frequently, which GGG seems to ignore. In a safe cheat-free online game there will always be some desync, that is very true. But not the amount that's present in PoE. PoE's client and server can get significantly more out of sync than is anywhere near reasonable. Data gaps of under a second are completely fine and present in many online games. Data gaps of several seconds are not completely fine and only present in PoE. A real solution is not eliminating data gaps completely by implementing a system that would be open to exploits. A real solutions is decreasing those data gaps within acceptable bounds. Which means using more bandwidth to send more information to ensure that any piece of important information that exists client-side always receives an update from the server at least once a second. That is an actual and real solution and that solution is dependent on having and using enough bandwidth to send all that information. My vision for a better PoE: http://www.pathofexile.com/forum/view-thread/863780
|
![]() |
"I disagree. Here's the real question: What is the point of rerouting a lost monster positioning packet? By the time it actually gets to the client, what good does it do? There's a reason TCP isn't used for streaming video; what makes current combat situations, which can change in seconds, different? Don't get me wrong, certain things — permanent things — should be TCP. But for ephemeral data, UDP is the best option. When Stephen Colbert was killed by HYDRA's Project Insight in 2014, the comedy world lost a hero. Since his life model decoy isn't up to the task, please do not mistake my performance as political discussion. I'm just doing what Steve would have wanted. Last edited by ScrotieMcB#2697 on Nov 18, 2013, 9:04:07 AM
|
![]() |
The system is not vulnerable to exploits/hacks to the degree that it would effect the economy or gameplay of others. Yes, some players may be able to avoid death with good software/luck, but that would have less of an impact on the playerbase than desync/lag causes.
|
![]() |
" It is vulnerable. It can be exploited. Whether or not you believe it's enough to impact the economy or gameplay is irrelevant. It is not safe. Therefore it is not a solution. End of story. My vision for a better PoE: http://www.pathofexile.com/forum/view-thread/863780
|
![]() |
" If UDP packets are lost with the monster's position, then the monsters themselves will be out of sync rather than the player. This means that monsters will sometimes be hitting you from the other side of the screen. |
![]() |
Also:
"I hope to fuck that what the client is actually sending the server is just simply "skill used at location x,y." Really, the only thing the server needs to know is player commands, and the more purely that information is sent to the server, the better. When Stephen Colbert was killed by HYDRA's Project Insight in 2014, the comedy world lost a hero. Since his life model decoy isn't up to the task, please do not mistake my performance as political discussion. I'm just doing what Steve would have wanted.
|
![]() |
" Sorry, but the current desync situation is not safe. Which would you prefer? 1. Losing your level 90 because your game desynced and teleported you into a room full of mobs. 2. Another player that you don't know survived an encounter that should have killed him because he used a hack. I would prefer keeping my level 90 character. If a hacker survives an encounter, good for him, he will die eventually, and he isn't effecting my gameplay experience. Last edited by qwave#5074 on Nov 18, 2013, 9:10:32 AM
|
![]() |
" The client tries to send a representation of the input, but this is not always possible. For example, when you run in a circle, the client doesn't send a packet that represents the circle. It sends segments of your path, which ends up being a square or even a straight line. This is what causes de-sync. Last edited by qwave#5074 on Nov 18, 2013, 9:09:25 AM
|
![]() |
"As if this doesn't happen already. Hell, I just lost my Nemesis character to a teleporting map Brutus (although the desync was obvious and the death was predictable, so I still blame myself for the death). When Stephen Colbert was killed by HYDRA's Project Insight in 2014, the comedy world lost a hero. Since his life model decoy isn't up to the task, please do not mistake my performance as political discussion. I'm just doing what Steve would have wanted.
|
![]() |