Notes on new team difficulty settings


Abigail Frost

 

Posted

Quote:
Originally Posted by pohsyb View Post
This was caused by an uninitialized variable, in this case specifically it was a structure declared locally when awarding a drop table.

About four function calls deeper, something was using a member of that structure to determine if you were fighting something grey (no drop). Uninitialized variables can be anything, but often have tendency to be zero, which would not cause a problem (actually any positive value would not matter).

This bug as been in since Issue 9 and was not caused by specifically by anything related to I16 (Whenever code is changed the tendencies of uninitialized variables can change). I suspect the changes made with I16 caused drop rates to be closely scrutinized.
I liked BAB's explanation better. I can't make anything funny from yours.


total kick to the gut

This is like having Ra's Al Ghul show up at your birthday party.

 

Posted

Did the programmer who didn't set a value when it was declared have his shin kicked?


 

Posted

Quote:
Originally Posted by pohsyb View Post
This was caused by an uninitialized variable, in this case specifically it was a structure declared locally when awarding a drop table.
pohsyb,

When you say "locally" is this client-side or servers side?


 

Posted

Does this mean more shinies all around?


Main Hero: Chad Gulzow-Man (Victory) 50, 1396 Badges
Main Villain: Evil Gulzow-Man (Victory) 50, 1193 Badges
Mission Architect arcs: Doctor Brainstorm's An Experiment Gone Awry, Arc ID 2093

-----
Quote:
Originally Posted by Nethergoat View Post
it's NEVER too late to pad your /ignore list!

 

Posted

Quote:
Originally Posted by Canis_Lupus View Post
pohsyb,

When you say "locally" is this client-side or servers side?
I was thinking "locally" meant "in a function that's off on its own instead of where the most of the other structs were declared/initialized" as opposed to server vs client. I could be wrong, though.


Quote:
Originally Posted by PleaseRecycle View Post
it has gone from unconscionable to downright appalling that we have no way of measuring our characters' wetness.
Quote:
Originally Posted by Brillig View Post
It's hard to beat the entertainment value of Whackjob Wednesdays.

 

Posted

Quote:
Originally Posted by Mr. NoPants View Post
Did the programmer who didn't set a value when it was declared have his shin kicked?
I would have preferred he got a whipping . . .

. . .

What?


Blazara Aura LVL 50 Fire/Psi Dom (with 125% recharge)
Flameboxer Aura LVL 50 SS/Fire Brute
Ice 'Em Aura LVL 50 Ice Tank
Darq Widow Fortune LVL 50 Fortunata (200% rech/Night Widow 192.5% rech)--thanks issue 19!

 

Posted

Quote:
Originally Posted by Canis_Lupus View Post
pohsyb,

When you say "locally" is this client-side or servers side?
O.O


Quote:
I was thinking "locally" meant "in a function that's off on its own instead of where the most of the other structs were declared/initialized" as opposed to server vs client. I could be wrong, though.
I really hope you're right.


Be well, people of CoH.

 

Posted

Quote:
Originally Posted by Aura_Familia View Post
I would have preferred he got a whipping . . .

. . .

What?

Somehow I'm reading into this more than I should


 

Posted

Quote:
Originally Posted by Siolfir View Post
I was thinking "locally" meant "in a function that's off on its own instead of where the most of the other structs were declared/initialized" as opposed to server vs client. I could be wrong, though.
That would be my assumption too, but I wanted to bue sure I was thinking through things properly.

Edit: Big kudos again to the Dev team, especially Synapse for keeping up with his analysis, and Pohsyb and company for figuring out where this came from. To all the members of the foil-hat brigade, please note the nature of the issue here as well as the Dev team response to it....


 

Posted

Quote:
Originally Posted by pohsyb View Post
This was caused by an uninitialized variable, in this case specifically it was a structure declared locally when awarding a drop table.

About four function calls deeper, something was using a member of that structure to determine if you were fighting something grey (no drop). Uninitialized variables can be anything, but often have tendency to be zero, which would not cause a problem (actually any positive value would not matter).

This bug as been in since Issue 9 and was not caused by specifically by anything related to I16 (Whenever code is changed the tendencies of uninitialized variables can change). I suspect the changes made with I16 caused drop rates to be closely scrutinized.
makes sense to me!

good stuff!

Come visit the Burrow!


Ignoring anyone is a mistake. You might miss something viral to your cause.

 

Posted

Dear Synapse and Pohsyb,

Please check into PvP recipe drop rates as well. They seem awfully low and drop inconsistantly per character.

Just as an example, I have 2 toons with roughly the same kill count but...

Hero- 5 PvP recipes.
Villain- 1 PvP recipe.

Something is definately wrong or this is just additional proof that you hate Villains.


Thanks!


A very sad story about War Witch and the neglected kitty. http://boards.cityofheroes.com/showthread.php?t=219670

Quote:
Originally Posted by Black_Barrier
Guess it's hard to click while actively trying to keep the drool away from the keyboard...

 

Posted

Quote:
Originally Posted by Bill Z Bubba View Post
O.O




I really hope you're right.
Local Variables. Nothing to do with Client/Server architecuture :P


[url="http://wiki.cohtitan.com/wiki/User:SaintNicster"]ParagonWiki User Page[/url]

[url="http://cit.cohtitan.com/profile/214#list"]City Info Tracker[/url]

 

Posted

Quote:
Originally Posted by Canis_Lupus View Post
pohsyb,

When you say "locally" is this client-side or servers side?
If I had to venture a guess, I would think he meant a local scope variable. Either way, good to see this found out. Explains a few anomalies I've noticed here and there with the drop rates for a while now and just never bothered to look into.


 

Posted

Thank you. The bad part of my brain started working.


Be well, people of CoH.

 

Posted

Quote:
Originally Posted by pohsyb View Post
This bug as been in since Issue 9 and was not caused by specifically by anything related to I16 (Whenever code is changed the tendencies of uninitialized variables can change). I suspect the changes made with I16 caused drop rates to be closely scrutinized.
While the bug has existed, I suspect the behavior we saw it cause in I16 has not actually been widespread. There are many ways this can happen. Particularly if your uninitialized structure is created on the stack and not the heap (which a local variable would be), there may have been close to deterministic values in memory where the uninitialized variables were mapped.

While it's impossible to prove now, the investigation was driven by the sense of change, not the other way around.

One thing I have learned playing this game is that people are actually quite sensitive to even small changes in existing patterns when they actually experience the patterns frequently. I once had a long debate here with Arcanaville because I did not believe this to be true, but experience here has taught me otherwise.

As someone who finds humorous the nearly ever present claims of accuracy nerfs every issue, I once found myself with a nagging sense that something was wrong with my own after a new patch. I refused to post on it for some time, convinced that it was a streak, my imagination, or both. However, after some time, I broke down and started making more careful measurements with Herostats. (This was before the hit messages in the combat logs). I found that my measured per-attack hit probabilities were consistently lower than my slotting predicted over a very large number of attacks. There was another patch only a few days later, and the "problem" went away.

So while the potential for this has been around a long time, my strong suspicion is that not-really-random factors masked it until now. In I16, with some significant code reshuffling, something else ended up in those uninitialized memory positions. Something that was a lot more inconvenient, and a lot more noticeable to people with the right experience.


Blue
American Steele: 50 BS/Inv
Nightfall: 50 DDD
Sable Slayer: 50 DM/Rgn
Fortune's Shadow: 50 Dark/Psi
WinterStrike: 47 Ice/Dev
Quantum Well: 43 Inv/EM
Twilit Destiny: 43 MA/DA
Red
Shadowslip: 50 DDC
Final Rest: 50 MA/Rgn
Abyssal Frost: 50 Ice/Dark
Golden Ember: 50 SM/FA

 

Posted

Quote:
Originally Posted by pohsyb View Post
This was caused by an uninitialized variable, in this case specifically it was a structure declared locally when awarding a drop table.

About four function calls deeper, something was using a member of that structure to determine if you were fighting something grey (no drop). Uninitialized variables can be anything, but often have tendency to be zero, which would not cause a problem (actually any positive value would not matter).

This bug as been in since Issue 9 and was not caused by specifically by anything related to I16 (Whenever code is changed the tendencies of uninitialized variables can change). I suspect the changes made with I16 caused drop rates to be closely scrutinized.
i9 hey? wonder why so many people just now realized a difference because iirc i9 was when inventions came out, so if it was active then and is the same now there would be no difference right?

Since i9, but not plaguing the system till now?


 

Posted

Quote:
Originally Posted by Frosticus View Post
i9 hey? wonder why so many people just now realized a difference because iirc i9 was when inventions came out, so if it was active then and is the same now there would be no difference right?

Since i9, but not plaguing the system till now?
To be honest, it sounds like it existed and affected things to some extent all along, but was exacerbated with some of the other items that changed in i16.


 

Posted

Quote:
Originally Posted by Canis_Lupus View Post
pohsyb,

When you say "locally" is this client-side or servers side?
"Locally" has an entirely different meaning when referring to variables. It refers to the scope of the variable--how long its contents are kept around. A local variable usually refers to a variable stored only while the structure it is in is being executed.


- Garielle
Quote:
Originally Posted by Frosty_Femme View Post
I said "ur" which is not a word. It's a sound dumb people make when you ask them to spell out "you are".

 

Posted

So... If this has been an error since the launch of issue 9

That means were going to be seeing even more recipes?

Personally ima sell all me LOTG's etc whilst prices are hot then rebuy my stock when prices go down again(:

Long term maketing ftw!


Global: @NR
POHSYB: We've been in this meeting for six hours. Can I go back to my box?
BLUE STEEL: No.
Pohsyb sighs.

 

Posted

Quote:
Originally Posted by Garielle View Post
"Locally" has an entirely different meaning when referring to variables. It refers to the scope of the variable--how long its contents are kept around. A local variable usually refers to a variable stored only while the structure it is in is being executed.
As I mentioned earlier, I'm fairly certain this is indeed exactly what he's referring to. I asked merely to have it authoritatively confirmed.


 

Posted

Quote:
Originally Posted by Raccoon_ View Post
So... If this has been an error since the launch of issue 9

That means were going to be seeing even more recipes?

Personally ima sell all me LOTG's etc whilst prices are hot then rebuy my stock when prices go down again(:

Long term maketing ftw!
While it existed from i9, previous releases weren't necessarily affected in the same way as current release


 

Posted

Quote:
While it existed from i9, previous releases weren't necessarily affected in the same way as current release
</3


Global: @NR
POHSYB: We've been in this meeting for six hours. Can I go back to my box?
BLUE STEEL: No.
Pohsyb sighs.

 

Posted

Holy crap sell your sitting purples. They're going to be cheap in a month!

Pope


Check out my Screenshots
Suppressed 50 Spine/Regen Scrapper
Pope Jon Paul 50 Emp/Psi Defender
Jean Harlot 50 Arch/Fire Blaster
14 other 50s

 

Posted

Quote:
Originally Posted by NordBlast View Post
While it existed from i9, previous releases weren't necessarily affected in the same way as current release
I work in software development (nothing remotely as interesting as games sadly ) and we've recently dug a bug out of our system that had no effect for the first 9 months it spent in our live environment. It always ends up being a combination of factors with things like this and it took some other underlying data changes for the bug to start causing things to misbehave.

It made it a complete sod to track down!


 

Posted

Quote:
Originally Posted by Raccoon_ View Post
So... If this has been an error since the launch of issue 9

That means were going to be seeing even more recipes?

Personally ima sell all me LOTG's etc whilst prices are hot then rebuy my stock when prices go down again(:

Long term maketing ftw!
I did that back when it first became apparent through statistical analysis that recipe drop rates were lower than they should be.

I've been noticing a slow rise in recipe prices since I16, likely as the supplies dry up. Once it was confirmed by Synapse I put all my market activity on hold, since recipe prices will likely fall once the patch that fixes this goes in.