Technical solution to eliminate desync in single-player sessions

I've mentioned it a few times, I operate a cloud computing platform.
Last edited by qwave#5074 on Nov 20, 2013, 5:41:47 AM
"
[
"action": {
type: "attack",
target: "23497",
damage: 15,
timestamp: "2748827722"
}
]


I feel that it is better as follows:

"action": {
type: "attack",
target: "23497",
action ordinal number: "2122",
timestamp: "2748827722"
}
]

The damage must be calculated in the same way both by the client and by the server, following item and character stats.

Space required:
type: 3 byte
target: 2 byte
action number: 3 byte
timestamp: 3 byte.

Total: let's say 16 byte (128 bit) for each command.
Roma timezone (Italy)
"What?" and "where?" are two different questions.
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.
From my home in Maryland? What does 'where' have to do with it? Haha
qwave, I think you missed one thing from Rhys's last post: How do you determine the leniency for different rounding of floating point numbers?
"
LogoOnPoE wrote:
qwave, I think you missed one thing from Rhys's last post: How do you determine the leniency for different rounding of floating point numbers?


By using FIXED point numbers
Roma timezone (Italy)
"
qwave, I think you missed one thing from Rhys's last post: How do you determine the leniency for different rounding of floating point numbers?


Like I keep saying, the leniency only needs to apply to the data that needs to be validated for the 'sanctity' of the game. In other words, the leniency would be applied to the damage, using a heuristic over time. So if the player said he dealt 1284 damage, but the server arrived at 1283.4 damage, then the server can safely let it slide. It can then use heuristics over time to adjust the player as necessary to align the rolls.

The leniency is at GGG's discretion, not mine. I'm recommending this because Rhys has insisted that floating point precision is not fixable on their side. It's the best solution I believe there is to that problem.

And yeah, it would help if they reduced the usage of high precision floating point numbers as well.
;-)

But hey, im trying to work with whatever they give me here.
Last edited by qwave#5074 on Nov 20, 2013, 5:54:01 AM
"
HellGauss wrote:
"
ungalunga wrote:
I have made a suggestion countering solo desync with replay system.


This is exactly the same thing. The only problem with a completely offline mode is that you can calculate the entire instance gameplay, and this can leads to cheat by repeating the simulation several times until desired result is achieved. Furthermore you cannot handle loot while offline.

A partial solution is send an rng each x seconds, it would blinds the bot with a very limited time window. With a little rng-seed buffer it would allow to keep synced anyway.

I'm pretty sure GGG knows about this solution. The only problem is that they need to entirely redesign and rewrite the core of the game, and they are worried that a single mistake would destroy the economy.

I completely forgot about save states and speeding up the game for desired results.

Save state system is the ultimate, undetectable, unbeatable cheating method for offline games with replay system. My experience with online games is almost nonexistent. I figured providing a time window would eliminate save states, but it doesn't. I don't know if it is possible to solve various issues that arise due to replay system. I haven't read the whole thread yet.




I've had replay desync due to floating point calculations(not a platform dependence issue, but i wanted to share anyway):
.29 * 100 = 28.999999999999996
This in turn resulted in 28, not 29 as expected and caused replay desync. Finding the cause of desync took hours and in this case was solvable and solved by proper precision rounding.
Last edited by ungalunga#3646 on Nov 20, 2013, 5:59:45 AM
What now you talk about single player sessions only?

Why this change, got kind of nocked out by Devs and you want to try it again?

ps: this is totally racist for the people that are able to play with others because of their social skills.
Why you should try Harcore http://www.pathofexile.com/forum/view-thread/209310/page/1
Last edited by tadl#0113 on Nov 20, 2013, 5:55:50 AM
"
qwave wrote:


Even if I told you, why would you have reason to believe me? I could type any profession I wanted. I've provided answers to each and every query on this forum. I have answered extremely technical programming questions and even provided source code on several occasions. I am a senior software architect and operate my own company in the cloud computing / online gaming industry. But even if I was a plumber, I believe ive exhibited that I know what im talking about.


Translation: I have no relevant credentials to speak of, so I won't answer, because any professional worth his certifications would take any opportunity to wave them in your face.
I am a (one-man code monkey at a small firm) senior software architect and (rent out virtual hosting server instances that I sublet off datacenters using a custom UI templated CPanel) cloud computing /online gaming industry. Even if I was a plumber, I believe I've exhibited that (I have no idea of what I'm talking about and are resorting to googling keywords and looking for the first pdf that I can get from bing) I know what I'm talking about.

Report Forum Post

Report Account:

Report Type

Additional Info