Why desync is fixable:
The discussion is mainly about this GGG statement:
" And their reasoning for dismissing that strategy Last edited by Startkabels#3733 on Sep 16, 2013, 6:16:51 PM
|
![]() |
" You seem to always disagree with people who have more experience. A simple example: You write some code that adds two numbers together. You input numbers 2 and 3, and you get '6' as the output. This means you have to go through, and check each variable, is one of them recording incorrect? You find the problem is that it was overwriting the first number with the second, so it was going 3+3. Now lets add 1,000,000 variables. Now you have each of them assigned the number 1, and then add them. You get 562,141. Where did you go wrong? Good luck finding that. Error codes are things that you PROGRAM yourself. A good code has well written annotations and also well written error captures that help to navigate those variables, objects, functions, to narrow down where the error code is. You can test individual parts for SOME systems, but certain setups you can only test by testing other parts of them. It is like how with the LHC they can't actually interact with the particles they are sending around, or view them. What they can see is the results of these particles, and then through theory can draw conclusions about what those particles were. This is not as simple as looking at a piece of wood and saying "this is wood", its like looking at a termite hive and saying "there is wood under there somewhere, otherwise there would not be termites" but you can't see any of the wood. Bug checking is 99% of good code, and its also the hardest part, because as soon as you have more than 2 inputs, it becomes compounded in how you can solve the issue. |
![]() |
Ok, you missed the part about logging while it was in capitals, ok....
You simply do not even understand logging lol Last edited by Startkabels#3733 on Sep 16, 2013, 6:19:04 PM
|
![]() |
" Are you a psychic? " No you watch the logging that you customized to capture the specific calculations and look for unexpected behaviour " No let's not add 1000000 variables, I said you first reproduce and isolate. " That is called a reproduction scenario " What you are comparing programming to the Large Hadron Collider? Have you lost your mind now? " I clearly disagree Last edited by Startkabels#3733 on Sep 16, 2013, 6:29:53 PM
|
![]() |
" OK, I tried answering your question with a considerate reply, and you exposed yourself as an arrogant and insulting troll. Finding it harder to provoke other posters these days? Here's why: http://userscripts.org/scripts/show/176577 |
![]() |
I was not trolling but being as clear is I could, unlike your "if you can't convince them, confuse them" answer.
And don't get me wrong, I am not saying that what you say about programs and programming is incorrect. But clearly you have no experience with debugging. |
![]() |
Whats interesting is that you don't seem to understand the word "analogy"
Go look it up. The LHC is an analogy. We are learning words today! YAY The fact that you say 'why are you comparing to the LHC' shows that you completely misunderstood all the things that have been said so far. The issue with debugging code. You can't see what the code is actually doing, you can only see the output. It is trivial to go 2.0 + 2.0 = 3.0 and then look at the actual variables, but lets make a more complex thing. Lets say you have a deck of 52 cards. Your game draws a card for you, then throws up an error. You made the error code, so you can see the error is that it drew a card that doesn't exist. Now you have to find out why the card doesn't exist. In this case the 'discard' didn't apply properly and left the card in the main deck to be drawn. So you input it so that it discards properly. This seems like a simple solution. But in fixing it, you would have to isolate the function that produced the error, in this case its NOT the draw card function. The draw card function threw up the error, because thats when it broke. But the discard function was what CAUSED the problem that needed fixing. To solve this you have to check the draw function, it seems to be fine, then you check the play function, it seems fine, then you check the discard function, it seems fine. So now as everything seemed to run just fine, you have to check the functions against the variables, discard leaves a variable in the wrong place, theres your problem. Then you have to fix discard so it discards properly, but make sure that the draw and play functions still work as normal. Looking through all 52 card variables to make sure they are in the correct place, not to mention there are probably different arrays for 'hand' 'discard' 'deck' and such, then following each card to see where it went. This is not a SIMPLE task, and thats just with 52 cards. The issue for 'real' computer coding, not just the simple script stuff that you seem to be familiar with, is scale. Take those 52 cards. Imagine they are 52 users. Now make it 520,000 users. Now track all of their data, and find out why one of them is having an error someone else isn't. Now fix that error, WITHOUT breaking it for anyone else. |
![]() |
" I could not agree more. I have no problem dying due to my own stupidity, but it's disheartening to know that the game itself is working against me every minute I play it. I don't know about you, but I'm not willing to waste dozens or hundreds of hours spent leveling in hardcore simply because of something in the game other than the enemies trying to kill me. I'm more than willing to sacrifice responsiveness in return for improved playability. Left unchecked, the game will practically destroy itself. All of my friends who've played the game thus far have quit. You know what each and every one of them says to me when I ask them to play? "Tell me when the desync gets fixed." Desync is a burden on us all, and something must be done about it. Beating around the bush and coming up with a laundry list of excuses about why you won't (not can't) change the way the networking is handled isn't going to solve anything. The fact is, desync is a terrible plague hanging over this game like a disease, slowly sucking the life out of it. Last edited by MrAuntJemima#4079 on Sep 16, 2013, 7:37:19 PM
|
![]() |
" Wow, this post echoes my own sentiment so much (except maybe the friends quitting part. I only had like one friend that played POE and he might have quit for other reasons liks Standard's economy. Also the hardcore part. I'm not much of an HC player). The thing is, it might be unreasonable to say that it's a laundry list of excuses, but that's exactly what it came off as in the dev manifesto. It is ridiculous the number of desync deaths that I have with 60 ms stable ping. "play around desync, build tankier," they say. Is limiting build diversity because of (what is perceived as) horrible synchronization code really a good thing? Nope, and I think the devs recognize that and are probably working on it behind the scenes. We can't be sure for sure though. Need game info? Check out the Wiki at: https://www.poewiki.net/ Contact support@grindinggear.com for account issues. Check out How to Report Bugs + Post Images at: https://www.pathofexile.com/forum/view-thread/18347 Last edited by adghar#1824 on Sep 16, 2013, 7:47:52 PM
|
![]() |
" lolwut? I believe sir, that you couldn't tell the difference between C# and D flat. [Hardcore] Soldiers of the Wasteland - sotwguild.com
------------------------- Skill Resets are the last refuge of the weak and incompetent. |
![]() |