Snapshot? Can GGG even fix the mistake?

"
Jiero wrote:
Single threaded does not mean only a single thread...

Um... wut?

I guess I failed at Internets. You win. GG.
POE Serenity Prayer: GGG, grant me the serenity to accept the RNG I cannot change,
the courage to challenge any unbalanced content, and the wisdom to avoid the forums.
Mad: "Oh, it's simple and if you insist... I just think you're a dick. That's all."
QFT: 4TRY4C&4NO
Last edited by Phaeded on Apr 21, 2014, 5:50:20 PM
"
Jiero wrote:
"
Alea wrote:



"
ampdecay wrote:
snapshotting is hard coded into the engine and without a new engine they can't fix it.


"hard coded" would means they dont have the source of their own engine ....




No it doesn't and he was right in saying that it was hardcoded

http://en.wikipedia.org/wiki/Hard_coding

It sets the parameter of the function internally at the time of its initial call and cannot make another call to change those parameters once they are initially set since the function will not or cannot check another function after its called to make sure that those parameters are still valid.


edit - in otherwords, once a integer is created within a function its set and cannot be changed dynamically without making a brand new instance of that function


I've done a bit of programming and there's absolutely no reason this can't be changed. I know how this works and you're way wrong.

At the end of the day if all else fails, they rewrite the function to make the variable no longer hard-coded. But in reality, that isn't even necessary for them to fix the problem.

Everything you said is way off.

Now I'll grant you it may require a LOT of work to change something like that. But the way I see it, it's their own fault for using global hard coding like that when experienced programmers should know better. Everything gets modified at some point, this is exactly why using globals is specifically avoided.
my evasion is so high i only insta rip sometimes
-----
Bug Fixes:
People were using cyclone for actual melee builds, so we nerfed it and made blade vortex. Also, we went ahead and made cyclone great for CoC casters while we were at it.
Last edited by Legatus1982 on Apr 21, 2014, 6:00:27 PM
"
Phaeded wrote:
"
Jiero wrote:
Single threaded does not mean only a single thread...

Um... wut?

I guess I failed at Internets. You win. GG.



Think of it this way in terms of people waiting in line at a bank... does a single file queue mean that there is only 1 person allowed in the line at all? or that there are multiple people waiting in line to be served on a first come first serve basis but only one person in that line can be served at a time?

Adding multithreading is like having that line, but being able to serve more then one at a time by having multiple people pulling people out of the line to serve them and at more then 1 teller. Adding out of order operations is like being able to pull people out of anywhere in the line to serve in the order per their demands for your time (time sensitive). Hyperthreading was like having two people talk to the same teller at the same time, alternating in fixed durations with the teller swapping back and forth between them. Thread priority is like adding a VIP line that must be served prior to the standard customers no matter what (interrupts other threads).



Fibers being a newer concept that refers to the minor parts of the transaction that each customer can have as part of their whole interaction with the teller.


Yes, that is still oversimplifying things but its all that I feel like writing on it. As far as the bandaid mentioned... I just don't have faith that it can be done in a way that won't make the game worse.
Last edited by Jiero on Apr 21, 2014, 6:27:10 PM
I'm still waiting on seeing a summoner (snapshot or not) beat Atziri. All i've seen so far is RF and cyclone. The real question here might not be whether or not snapshotting is "bad" but how many skills/gems are bad that have zero chance of killing Atziri.
GGG listens to its fans!!! Thank you!
"
Jiero wrote:
"
Phaeded wrote:
"
Jiero wrote:
Single threaded does not mean only a single thread...

Um... wut?

I guess I failed at Internets. You win. GG.

I'm not your tutor.

You lied.

Believe it or not I get all of that. I just don't agree it has anything to do with snapshotting. :)
POE Serenity Prayer: GGG, grant me the serenity to accept the RNG I cannot change,
the courage to challenge any unbalanced content, and the wisdom to avoid the forums.
Mad: "Oh, it's simple and if you insist... I just think you're a dick. That's all."
QFT: 4TRY4C&4NO
Last edited by Phaeded on Apr 21, 2014, 6:12:12 PM
"
Phaeded wrote:


Believe it or not I get all of that. I just don't agree it has anything to do with snapshotting. :)




Oh, I didn't even get into 1% of 1% of the subject, lol

They have stuff like that broken down into multiple classes and it gets pretty mind numbing how complex that crap can get when you really want to go down that rabbit hole (still got a quite a way to go before I can even say I've more then scratched it's surface).

As far as having to do with snapshotting; not directly... but it does have to do with every function that needs to operate using internally declared variables and quite likely it also had a bit to do with their stance on object orientated programming with stand alone modular functions that act independent of other functions. Each function likely was required to stand alone and not interact with other functions since there were multiple programmers working on multiple projects with different timelines and they wanted to make make sure that nothing overlapped or broke what should be unrelated functions. Thus taken to its extreme creates this giant mass of micro ecosystems of code within each function that are isolated from all other code in the game.
There is so much wrong information in this thread about programming concepts, I wouldn't even know where to begin.
"
athrian wrote:
There is so much wrong information in this thread about programming concepts, I wouldn't even know where to begin.

You could start with "what does that have to do with snapshotting". Oh wait, BTDT. :D
POE Serenity Prayer: GGG, grant me the serenity to accept the RNG I cannot change,
the courage to challenge any unbalanced content, and the wisdom to avoid the forums.
Mad: "Oh, it's simple and if you insist... I just think you're a dick. That's all."
QFT: 4TRY4C&4NO
"
Phaeded wrote:
"
athrian wrote:
There is so much wrong information in this thread about programming concepts, I wouldn't even know where to begin.

You could start with "what does that have to do with snapshotting". Oh wait, BTDT. :D


well I guess its a question of whether or not their program allows such a thing to be easily fixed

and if it is fixable how exactly do they want to fix it if at all?
S L O W E R
"
Phaeded wrote:
"
athrian wrote:
There is so much wrong information in this thread about programming concepts, I wouldn't even know where to begin.

You could start with "what does that have to do with snapshotting". Oh wait, BTDT. :D


I won't even pretend to know how they might have designed their engine, but from the information they've given out, it suggests a problem with the design and coupling, not "hard-coded".

The previous person is somewhat correct in their description of what hard-coded is, but not how it applies here. Hard-coded means that something can't be dynamically changed through input or some type of function; once the program starts up, the value is set. It would be like removing the account name input from the client and always loading "athrian". It would almost certainly have nothing to do with snapshotting though, because they control the source. If there was some hard-coded variable somewhere in the code causing problems, it can be modified, recompiled, relaunched. It just can't be done as a hot-fix that doesn't require a restart or recompile. Hard-coded variables are more of an issue when you're dealing with a "black box" system (ie, can't see the internals or touch the source), or you are in an environment where a recompile and rebuild is not feasible.

A design and coupling issue would be more along the lines of having some type of common "updateSocketedGems()" function that everything calls when adding or removing a gem to an item. This function either directly or through other calls, would do all the cleanup of affects on a character, updates to skill damage, etcetc. And the behavior in this function is for example, to not remove certain affect types, which minion buffs may fall into, because of the desire to prevent some other type of exploit, such as someone mentioning removing RF burning when unsocketing a RF gem. In essence, there is one function with one behavior and that's the only option for everything else to call, when in reality they want multiple behaviors. This is where you get faced with "well, do I copy the function and modify part of it, but wind up with a bunch of duplicate code?" or "do I refactor and break up the behavior which possibly impacts having to refactor other modules, especially if there's a high degree of coupling".

Hard-coded would actually in this type of scenario be a quick fix, but a non-ideal one, where you just throw a check for say, specific auras or buffs into the code. "If it's Righteous Fire gem, do this. Else if it's Grace or Discipline or this unique's buff, do this. else, do this". That is an example of bad design, but what often gets done as a temporary fix for a critical problem when a major refactoring project is ahead, or a long-term solution can't be agreed upon.
Last edited by athrian on Apr 21, 2014, 7:12:59 PM

Report Forum Post

Report Account:

Report Type

Additional Info