Accuracy


Acetylene_Torch

 

Posted

[ QUOTE ]

Arcanaville makes me woozy...not sure if in a good way. ;-)


[/ QUOTE ]

So I guess a discussion of LFSRs is out, then. Oh well.

In any case, even with the best versions of rand() out there, its recommended to use the high order bits instead of the low order bits. This is even (and perhaps especially) for implementations like the linux glibc version that uses state tables and LFSRs, since the periodicity of the low order bits is (relatively) low.

but even the worst random number generator is unlikely to suddenly create very long streaks, though. However, you'd be surprised how easy it is to take a somewhat weak random number generator, and create a stupendous disaster by using it in non-recommended ways (i.e. the infamous "coin-flip" problem).

I doubt the random number generator on its own is creating massive problems. But there can be subtle problems in how things work that amplify things. I've seen a few.


[Guide to Defense] [Scrapper Secondaries Comparison] [Archetype Popularity Analysis]

In one little corner of the universe, there's nothing more irritating than a misfile...
(Please support the best webcomic about a cosmic universal realignment by impaired angelic interference resulting in identity crisis angst. Or I release the pigmy water thieves.)

 

Posted

[ QUOTE ]
[ QUOTE ]
Cross posted from another discussion:


To be honest I don't think that screwing up with a low Acc attack is going to hurt you all that much. Let's take a look at the math.

Let's say you have a bunch of regular attacks with the same net-to hit of 75%. And one crappy attack with net to hit of 20%. Let's say you unknowingly manage to utilize this attack each time after you hit, thus adopting the higher number for the streakbreaker value.

Effective to-hit falls from:
75.2941% to 75.0003%. ~0.3% difference!
The chance for a given attack to be somwhere between the 4rd and the 8th miss is 0.390%. (streakbreaker for 75% is 3)

[/ QUOTE ]

The thing is (as I understand it) is that your to-hit numbers are only quasi-random.

If you have a normal spread of numbers, the streak breaker has no effect (you are breaking th streaks naturally).

The problem occurs when you get a really power set of numbers in a row *and* you opened with a low total accuracy attack. So you use that low-ACC AOE on your firt hit (and miss) you now have a potential 5 streak of misses. Most of the time, you naturally roll high enough to hit.

Everyone once in a while, you just happened to miss. Because you opened with a low ACC attack, you potential miss streaks are much larger.

I do hope that the idea of hit-streak breaking for mobs against your defense is added though.

That should get rid of all the mobs just "lucking out" and flooring your ice tanker because they all just happened to roll in their 5% chance to hit you.

Continually.

[/ QUOTE ]

My analysis on this takes high-Acc attacks and applies a low-Acc streakbreaker. It provides a LOWER bound for effective accuracy for these attacks. (ie this is a worst case scenario, in that you've managed to get into the higher streakbreaker number all the time)

You have to understand the long streaks ARE natural. Streakbreaker BREAKS the natural streaks that occur in random number generators. And this one breaks it in such a way that effective accuracy can only increase. In this case the increase is 0.3% for the normal streakbreaker. No matter what "bad" streak" potential you accidentally started your accuracy cannot fall below 75% in this example. As shown the effective increase that we get from an sb of 8 instead of 3 is a measly 0.0003%! but it still is an increase.

If your complaints are about the quasi-random nature of RNGs that really has nothing to do with streakbreaker.


 

Posted

[ QUOTE ]
The issue hurts you more in PvP. For example, using a 5% accuracy attack and a string of 50% accurate misses is probably going to be very painful.

From my understanding (<- sucks at math), there's major bonus from the streakbreaker around 50%. However, at 5% tohit, the chances of the streakbreaker kicking in are about nil.

EDIT: of course, the most advanced math I've done in a few years now is subnetting/wildcard masking, so it's quite possible I'm off by a large amount.

[/ QUOTE ]

That's why I made the pretty plots for you to look at Blueeyed old buddy

From earlier:
[ QUOTE ]
Here is a plot of the effective accuracy vs accuracy. The Red line is the effective Acc. The Green line represents the regualr Acc.
The Blue line is the probability of having a swing be the first miss. Other lines could be plotted, but I am lazy.

Here is another plot of the same thing, except this time in blue is the probability that streakbreaker will become active.


[/ QUOTE ]

Of course sb provides a marginal advantage at each of the steps. Particularly at the step at 0.1.

Still even if our entire 50% accurate attack chain were somehow forced to use the 5% accurate streakbreaker, there will be virtually no difference between the exepcted peformance of your attacks at 50% and the effective accuracy of 50%.

With steakbreaker alone YOU CANNOT have an average below the net-toHit for any sufficiently large ensemble of attacks. (If your RNG or there are other funny conditions on the toHit themselves that is a seperate issue).

There is only a 3.125% chance of any given attack being in a miss streak from 5 to 100 misses long.

The most likely time streakbreaker will be triggered is of course when we have Acc = 90%.
90% -> 90.90909090909090.....%
with of course a 9.0909090909090909....% chance of 1 miss, and hence triggering streakbreaker.


 

Posted

[ QUOTE ]
Great, so that means Super Reflexes has a further achilles heal (not mentioned before) in that every fourth attack from NPCs will effectively 'auto-hit'.

[/ QUOTE ]
No, they have to miss four times in a row. And, for the streak-breaker to actually make a difference, they would have to have missed the fifth time, too. If you can get the to hit chance under 40% then they have to miss seven times for it to make a difference, and I think Elude is very capable of bringing to-hit chances down that far.


 

Posted

[ QUOTE ]
[ QUOTE ]
Great, so that means Super Reflexes has a further achilles heal (not mentioned before) in that every fourth attack from NPCs will effectively 'auto-hit'.

[/ QUOTE ]
No, they have to miss four times in a row. And, for the streak-breaker to actually make a difference, they would have to have missed the fifth time, too. If you can get the to hit chance under 40% then they have to miss seven times for it to make a difference, and I think Elude is very capable of bringing to-hit chances down that far.

[/ QUOTE ]

Because the streakbreaker uses a linear breakoff table (up to 20%, when it jumps to 100), the streakbreaker will act most strongly at the lowest breakpoint above the 100 streak-mark: 20%.

20%... hmm, base 50% to hit, 17.5% * 1.57 = 27.475% defense... 22.525% net tohit...


hmm...


[Guide to Defense] [Scrapper Secondaries Comparison] [Archetype Popularity Analysis]

In one little corner of the universe, there's nothing more irritating than a misfile...
(Please support the best webcomic about a cosmic universal realignment by impaired angelic interference resulting in identity crisis angst. Or I release the pigmy water thieves.)

 

Posted

22.525% -> 25.0435% modified to hit, with a 3.2% chance of any given attack in an ensemble being the 8th miss in a row.

(The worst deviation (from the perspective of DEF sets) occurs at exactly 20% to hit:
20% -> 23.100% modified to hit with a 3.87% chance of any given attack in an ensemble of being the 8th miss in a row.)


 

Posted

[ QUOTE ]
I stand corrected.

This was PM'd to me by a user who got the info from Pohsyb.
[ QUOTE ]
The streakbreaker will force a hit if there has been a long series of misses (only for heroes)

ACC / Length of miss streak before we force a hit
>90 / 1
80-90 / 2
60-80 / 3
30-50 / 4
20-30 / 6
10-20 / 8
1-10 / 100

The random number is calculated simply by the C stdlib rand().

[/ QUOTE ]

[/ QUOTE ]


It's interesting to understand how this stuff works. While playing last night I attacked a mob and missed three times in a row. Remembering this thread and judging that my accuracy (for all my attacks) was probabbly in the 60% - 80% range I expected the streak breaker to kick in and make my next attack an auto hit. Since I was lowish on health rather than fire off my next attack I decided to fired off my twilight grasp instead. It hit, I got healed and I went on to defeat the mob. In the very next fight I had another three miss streak so I did it again and again the heal hit. It could have just been luck but this seems to be an example of how knowing how the numbers work gives us an advantage. Now I'm thinking that if I can judge the net accuracy of my attacks (experience required I guess) and I get a miss streak I will pick an attack that I really really want to hit rather than the one that just happens to be next in the chain.


 

Posted

[ QUOTE ]
Great, so that means Super Reflexes has a further achilles heal (not mentioned before) in that every fourth attack from NPCs will effectively 'auto-hit'. Sorry, but I gotta then ask in light of all this why Devs consider 'Elude' to be so powerful.

[/ QUOTE ]

Only if the opponent in question has a modified ToHit value between 60% and 80%; that is to say, AFTER your DEF is accounted for. And if that's the case, then you're pretty much screwed regardless of the streakbreaker.

The way I read it -- and granted, I'm no math guru -- the streakbreaker can have a small adverse effect on DEF-based characters. But I think you're overreacting.


Quote:
Originally Posted by Iggy_Kamakaze View Post
Nice build

 

Posted

[ QUOTE ]
[ QUOTE ]
Then how is it possible to miss 3 or 4 attacks in a row while using Aim and Buildup?

[/ QUOTE ]
Aim and Buildup only affect the attacks you make after using them. If you missed with an attack before using Aim/Buildup, that miss is part of the miss streak tracker. Say it fell in the range where 5 misses are allowed. You can then miss the next 4 attacks no matter what their accuracy is - so the result you see is miss-Aim-BU-miss-miss-miss-miss. That's fine as far as the streak breaker is concerned. It's still an unlikely scenario, but it's working as designed.

[/ QUOTE ]

I had accepted this answer until I thought about it a bit. I am refering to an elec/energy blapper. Attack chain is Lightning Bolt, Power Thrust, Energy Punch, Bone Smasher and Total Focus. All attacks have 1 ACC SO in them, +3, never dropping below even level on him. So then against even con minion ACC never drops below 95%, Lt even con never below 90%. Unless I am fighting a lot of defense heavy enemies then I should not have 3-4 misses in a row.


 

Posted

[ QUOTE ]
I did locate a small bug, which is now fixed internally. Essentially the streak breaker would not become active until you landed your first hit (so you have to do it yourself, no freebies). Pretty minor in the grand scheme of all things accuracy-related, but it's fixed now regardless. Note that this bug affected players and non-players alike.

[/ QUOTE ]

Interesting. If it's true that the streak-breaker didn't kick in until the first hit, that would seem to refute my claim that the streak-breaker may be the cause of hit-clustering (in a low to-hit scenario anyway). [Note: I'm not saying hit-clustering doesn't happen, I believe it does, but the streak-breaker might not be the current primary cause.] Assuming the streak-breaker is tracked separately for each "critter", the clustering effect may be negligible for critters with a low to-hit, as each individual streak would start at a somewhat random time. However, when this bug fix goes into effect, it may make the hit-clustering issue even worse. Are we sure this was actually a bug and not intended behavior?

WierdBeard, would you reconsider fixing this "bug"? The current behavior actually seems like a good thing in that it should minimize hit-clustering. Maybe that's why it was written that way in the first place. Making this change will have little impact on players, who have long attack histories, but critters tend to have fairly short histories, which also tend to be in synch with those around them.

Actually, this brings up a related question. What events cause a player's streak to reset? Obviously hitting does, but is that it? Does logging out cause it to reset? Does zoning? Dying? Or, does the first streak start at the time the character is created and continues from there?


 

Posted

[ QUOTE ]
[ QUOTE ]
I did locate a small bug, which is now fixed internally. Essentially the streak breaker would not become active until you landed your first hit (so you have to do it yourself, no freebies). Pretty minor in the grand scheme of all things accuracy-related, but it's fixed now regardless. Note that this bug affected players and non-players alike.

[/ QUOTE ]
So if your first shot whiffs, the streakbreaker will not save you? Okay, that sounds about right. That orange lieutenant I was griping about was indeed untouched when my whole power tray whiffed. That shuts me up!

[/ QUOTE ]

Except that gets us back to the core issue: too many people have slotted their attacks to almost always have a 95% chance to hit with all their attacks, yet will miss 7 attacks or more in a row!

Streakbreaker aside, the odds of missing a 95% chance-to-hit-target so many times are way too high. Something else is still going on, and the problem seems to be compounded when facing >= +1 lvl enemies. Accuracy still needs to be examined across the board. I've got an EM/Inv brute and I've seen a lot of people saying EM is exhibiting odd accuracy behavior. I know I've had instances of missing 4-5 times in a row against orange minions, then brawl finally hits, and then missing 4-5 times again. There are too much anecdotal testimonies for something NOT to be going on.


 

Posted

Removed:My debates are too concise and it only riles up those determined to believe otherwise.


 

Posted

Guys let's remember, just because you do something that means the streakbreaker won't kick in for 100 misses, doesn't mean you're now going to have 100 misses. The odds of your 90% to-hit attacks missing 100 times in a row are STILL astronomically tiny. And the instant you hit with one of them the streak-breaker is re-set.

F


 

Posted

I have a SR scrapper that I only play once a week on a SG only team, with a bubbler, and I can tell you that during the roughly 3 hour play session I practically guarantee Iwill have what I usually term as catastrophic defensive failure.

IE every mob in the group will hit me at once, generally with some form of AOE or cone since we have an inv tank in the group.
It is like an Alpha-Strike that can happen at any time.

So yeah it does have an effect on defensive builds, it is practically a guaranteed amount of debt that none of the other folks in the group have to face.

I’m not screaming that the sky is falling but honestly I’ve started to notice that I’m lagging behind the group in leveling and the other 7 folks have a dead pool on me and bet on when it will happen, “I have 75 minutes in this week!”

Sometimes I even join in.

A hit-streak breaker seems reasonable idea to me although it would probably be horrible to implement.


 

Posted

[ QUOTE ]
It's interesting to understand how this stuff works...<snip example>....Now I'm thinking that if I can judge the net accuracy of my attacks (experience required I guess) and I get a miss streak I will pick an attack that I really really want to hit rather than the one that just happens to be next in the chain.

[/ QUOTE ]
This is an excellent point, and is exactly what I do. This is why I love to see the actual numbers and other details given out by the Devs. It lets us adjust our game to what is really going on in the game internals.


Skip
My Char. List and Market Transactions
HeroStats Developer
Legion of Valor
Iron Eagles

 

Posted

[ QUOTE ]
Reality always trumps theory.

Looks back at the testing of a single characters view of things from the developers themselves:
[ QUOTE ]

That is a 75.22% overall to hit chance against an even level critter with no defense powers.


[/ QUOTE ]

Low order bits, high order bits, entropy, better generators, none of that theory matters because of what reality shows. Theories and guesses about their random generators being broke and the effect of streak breakers doesn't match reality which means you need to reconsider your theories. Again, rand() is fine. It produces the desired results.

It's easy enough to get wrapped up in theory being reality, heck, I used to get wrapped up in that problem too. Theory is there to mimic reality not the other way around.

Theory is that this game should be fun. Hope that matches reality.

Kick back, enjoy the game for the highs and the lows. Bad streaks happend. Good streaks happen. Plenty of people see bad streaks. More people see good streaks.

Lets be heores and kick some villanous butt!

[/ QUOTE ]

Just because they achieved close to the desired average doesn't mean that the entropy of the RNG is fine, or that Def/Acc isn't being calculated wrong for different cons.

I mean I don't think there is really all that much wrong with the RNG itself, but there is certainly a lot more to it's characterzations than a single average value. (an RNG could have crap entropy and still have the correct average, for instance 25 misses in a row and 75 hits in a row)


 

Posted

[ QUOTE ]
[ QUOTE ]
[ QUOTE ]
Then how is it possible to miss 3 or 4 attacks in a row while using Aim and Buildup?

[/ QUOTE ]
Aim and Buildup only affect the attacks you make after using them. If you missed with an attack before using Aim/Buildup, that miss is part of the miss streak tracker. Say it fell in the range where 5 misses are allowed. You can then miss the next 4 attacks no matter what their accuracy is - so the result you see is miss-Aim-BU-miss-miss-miss-miss. That's fine as far as the streak breaker is concerned. It's still an unlikely scenario, but it's working as designed.

[/ QUOTE ]

I had accepted this answer until I thought about it a bit. I am refering to an elec/energy blapper. Attack chain is Lightning Bolt, Power Thrust, Energy Punch, Bone Smasher and Total Focus. All attacks have 1 ACC SO in them, +3, never dropping below even level on him. So then against even con minion ACC never drops below 95%, Lt even con never below 90%. Unless I am fighting a lot of defense heavy enemies then I should not have 3-4 misses in a row.

[/ QUOTE ]

Remember (and this is for everyone else as well asking "how can I miss if...") based on how the streakbreaker works, if you attack even one thing that has any defense at all you could, under the right conditions, find yourself "stuck" at the lowest streakbreaker setting for the next one hundred swings.

I.e. if you are in a high level Rikti mission that has drones in it, unless you use build up or Aim on every single drone, the streakbreaker might be effectively turned off throughout the entire mission.

You don't have to fight "a lot" of defense heavy enemies. Just one every so often is enough.


[Guide to Defense] [Scrapper Secondaries Comparison] [Archetype Popularity Analysis]

In one little corner of the universe, there's nothing more irritating than a misfile...
(Please support the best webcomic about a cosmic universal realignment by impaired angelic interference resulting in identity crisis angst. Or I release the pigmy water thieves.)

 

Posted

[ QUOTE ]


I did locate a small bug, which is now fixed internally. Essentially the streak breaker would not become active until you landed your first hit (so you have to do it yourself, no freebies). Pretty minor in the grand scheme of all things accuracy-related, but it's fixed now regardless. Note that this bug affected players and non-players alike.

[/ QUOTE ]

That might be what's been causing my pain, I'll have to take a look at it again. Against an even con minion I would sometimes miss 6-12 times in a row even if I had an accuracy enh in the power, and it would be against a minion I knew for a fact had no defense/res against that particular type of damage/attack. I'll have to see though if its the initial period of time that I'm attacking them that I'm getting all the whiffing. If that is the case, this will fix it for me.


 

Posted

[ QUOTE ]
[ QUOTE ]
[ QUOTE ]
[ QUOTE ]
Then how is it possible to miss 3 or 4 attacks in a row while using Aim and Buildup?

[/ QUOTE ]
Aim and Buildup only affect the attacks you make after using them. If you missed with an attack before using Aim/Buildup, that miss is part of the miss streak tracker. Say it fell in the range where 5 misses are allowed. You can then miss the next 4 attacks no matter what their accuracy is - so the result you see is miss-Aim-BU-miss-miss-miss-miss. That's fine as far as the streak breaker is concerned. It's still an unlikely scenario, but it's working as designed.

[/ QUOTE ]

I had accepted this answer until I thought about it a bit. I am refering to an elec/energy blapper. Attack chain is Lightning Bolt, Power Thrust, Energy Punch, Bone Smasher and Total Focus. All attacks have 1 ACC SO in them, +3, never dropping below even level on him. So then against even con minion ACC never drops below 95%, Lt even con never below 90%. Unless I am fighting a lot of defense heavy enemies then I should not have 3-4 misses in a row.

[/ QUOTE ]

Remember (and this is for everyone else as well asking "how can I miss if...") based on how the streakbreaker works, if you attack even one thing that has any defense at all you could, under the right conditions, find yourself "stuck" at the lowest streakbreaker setting for the next one hundred swings.

I.e. if you are in a high level Rikti mission that has drones in it, unless you use build up or Aim on every single drone, the streakbreaker might be effectively turned off throughout the entire mission.

You don't have to fight "a lot" of defense heavy enemies. Just one every so often is enough.

[/ QUOTE ]

Right. But before the non-mathheads in the audience get their panties in a knot. The change in the effective Accuracy due to the higher streakbreaker is miniscule. (You WILL see larger streaks, say ~3% of the time for 75% net-tohit attacks that have been somehow put into a bad streakbreak mode, however the mean itself only drops from 75.29-> 75. In order to see this change in the mean in a statistically signficant way, you'd need ~20600 attacks.)


 

Posted

[ QUOTE ]
[ QUOTE ]
I must report that in the past my energy defender would fire off an Aim or BU and then fire off a snipe --- and miss. Enough for it to be noticeable. He should've missed once in 20 against most things he was fighting. It certainly did not feel like that.

[/ QUOTE ]

I notice this most with my claw stalker.

Slash's Description: You perform a Slash with your claws, dealing a high amount of damage, but with a long recharge rate. This attack can reduce a target's defense, making him easier to hit.

From experience, I never ever lead with this attack anymore. The follow up will miss 3 out of 4.

[/ QUOTE ]

Ya. Kinda like if my Energy Stalker disorients a foe. Do you think I can hit him while he's disoriented? No way, Jose. I even tried popping some Acc insp's for this and still nothing but Nope. Sorry. Whiff Whiff Whiff Whiff... foe is oriented again and hits me right on the money for the next 4 strikes. I wasn't going to post this but going back to this has changed my mind. It was something I wrote in about concerning a level 14 Stalker of mine that was missing so much I just couldn't take it anymore. So I petitioned it. The answer comes first and then the original petition since that is how my email reads:

Discussion Thread
Response (Alec) 11/30/2005 08:35 AM
Hello (my name ),

Thank you for contacting CoH support team. This is a known issue. We are working on it and hope to have it resolved soon. Please refer to the patch notes for any updates.

Please let us know if you have any other questions or concerns.

Regards,
GM Alec
Customer (my name ) 11/30/2005 07:37 AM
Petition: XML Submission
Server: Pinnacle

Can someone look to see if when an Energy Melee punch disorients a foe... is it giving them a defense bonus of some sort? I am missing every swing until the disoriented foe becomes un-disoriented and I have my Accuracy slots with 1 acc +15 for a lvl 14



Question Reference #051130-007472
Product Level 1: City of Villains
Product Level 2: Pinnacle
Date Created: 11/30/2005 07:37 AM
Last Updated: 11/30/2005 08:35 AM
Status: Waiting
Department: Game Support
PlayNC Account: (my name )
Game Account: (my name )
Operating System: Unknown
Character Name: Slick Temper


 

Posted

[ QUOTE ]
Reality always trumps theory.

Looks back at the testing of a single characters view of things from the developers themselves:
[ QUOTE ]

That is a 75.22% overall to hit chance against an even level critter with no defense powers.


[/ QUOTE ]

Low order bits, high order bits, entropy, better generators, none of that theory matters because of what reality shows. Theories and guesses about their random generators being broke and the effect of streak breakers doesn't match reality which means you need to reconsider your theories. Again, rand() is fine. It produces the desired results.

It's easy enough to get wrapped up in theory being reality, heck, I used to get wrapped up in that problem too. Theory is there to mimic reality not the other way around.

Theory is that this game should be fun. Hope that matches reality.

Kick back, enjoy the game for the highs and the lows. Bad streaks happend. Good streaks happen. Plenty of people see bad streaks. More people see good streaks.

Lets be heores and kick some villanous butt!

[/ QUOTE ]

This is where I describe the (pretty infamous, in random number generator circles) notorious "coin-toss" bug.

Someone writes a random number program to simulate coin tosses. It looks like this:

function coin_flip()
toss = rand() % 2
if toss == 0 then return heads
else if toss == 1 then return tails


He runs it for a million iterations and discovers it generates five hundred thousand heads, and five hundred thousand tails.

Exactly.

So he gets suspicious, and has it print out each coin flip. The output looks like this:


heads, tails, heads, tails, heads, tails, heads, tails, heads, tails, heads, tails...


Whoops. The problem is a lot of the implementations of rand() that actually exist in reality alternate the low order bit, believe it or not. It has to do with how rand() works on a lot of systems: rand generates a pseudorandom sequence by taking the last generated number and doing a r2 = (r1 * p1 + p2) mod RAND_MAX kind of thing, and because p2 is odd, it will always change odd numbers even and even numbers odd. A lot of modern rand() generators drop the low order bit and return a 31 bit integer instead of the generated 32 bit integer, specifically because of this long-standing problem (and even LFSRs tend to have very low period low order bit cycles, and throw away the low bit as well).


Even some of the *worst* generators will pass the test of randomness you are suggesting rand() is passing. If rand generated all the numbers from 1 to 100 in sequence, over and over again, long term tohit accuracy tests would still pass properly. In fact, they would be basically dead on perfect.


Would that alternating coin-flip behavior get "smeared out" if a lot of people were calling it in a multiuser coin-flip system? Well, that depends on some sticky details: on most systems, rand() is not reentrant.


[ QUOTE ]

Theories and guesses about their random generators being broke and the effect of streak breakers doesn't match reality which means you need to reconsider your theories.


[/ QUOTE ]

You're currently talking to one of the only people that posted numerical tests on the streakbreaker, and the only person that has posted the results of looking at long term demorecords showing instances where the tohit calculator is absolutely, definitively, beyond any shadow of a doubt broken (I'm the person being referred to as having a demorecord of a villain doing things in triplicate over and over 44 times in a row).

And, I've also consistently pointed out where bad streaks are *within* the limits of statistical likelyhood, instead of not, and *not* direct evidence of any problem with the tohit calculator. So I'm not just attacking the tohit calculator exclusively and without reason.


[ QUOTE ]

Again, rand() is fine. It produces the desired results.


[/ QUOTE ]

Really? What results are those that you know it produces, exactly?


I've said "reality always trumps theory" myself a gazillion times when discussing accuracy, given how many people don't understand probability very well and come up with their own theories for it. And I myself have said that the imperfections in rand() cannot directly create the long streakiness that some people have observed. However, contrawise it *does* have failings, and those failings do crop up again and again in other software systems that attempt to rely on rand().


Theory is not there "to mimic reality." Theory hand-tweaked to mimic reality is worthless. And we're not talking about theory, we're talking about math. You can't tweak math like you can a theory: if the calculations say X, and you haven't made an error, then X is the truth, period.


Since I'm coming from a perspective of actually having looked, mathematically, at both accuracy and the streakbreaker, I think I'll stick with my theories for now. Since I've actually seen the source for rand(), I think I'll stick with my own opinions on how it works for now. And since I've been told by the professionals what they think of rand(), I think I'll stick with my original reply on whether rand() is "just fine" or not.


Forgive me for being a bit terse, but there have been people that have been claiming that accuracy is broken for a lot time: most of them are almost certainly wrong in the specific claim they are making, but not necessarily all of them. And a lot of other people have taken to parroting the dev auto-response: accuracy is fine, there's no problem, and most of them have no idea whether thats true or not either. Few people actually look at things in the detail necessary to see a problem definitively *and* have the mathematical skills to demonstrate that their observations exceed statistical likelihood. So complaints about accuracy pretty much get drowned out by noise: theoretical noise, observational noise, and just plain noise. There's so much noise, I can understand why the devs don't tend to take accuracy complaints seriously.

And yet: given the specific numbers on how the streakbreaker works, there *are* definitely regimes where the observed tohit will diverge significantly from what it ought to be: thats definite, and has nothing to do with rand() specifically. BUT, its PROOF that there were always instances where the "randomness" of tohit was being affected in a measurable way, but any measurements of that divergence would have been discarded as observer error, until now (that we have a concrete explanation for them). And interestingly, since the devs have always claimed that datamining showed that accuracy was working correctly, the implication was that whoever did that analysis actually did a statistical analysis of the streakbreaker, and had actual numbers as to what it did to accuracy - or else they couldn't have checked properly.

And if that is the case, then the devs always had in their possession a "chart" whereby they would know that the streakbreaker might do significant things to accuracy at the low end of the chart. That's also interesting: either they couldn't have fully checked accuracy as they have been suggesting, or they knew defense was being hit harder than normal because of the streakbreaker. Or: the left hand analyzing defense didn't know what the right hand checking accuracy knew. In either case, its additional insight into how the game is designed, implemented, and then verified.


I'm sorry, but "I think I miss too often so something must be broken" is not generally helpful, but "everything is fine, whatever you're seeing is what you are supposed to see, play on" is equally unhelpful. And if someone is going to speak authoritatively about something like the random number generator, given how confusing this topic already is, their facts should be unambiguously accurate. Especially if you're going to say something like "I can *prove* rand() is fine for MMOs." Because no one can prove that: you can only prove that a particular implementation *happens* to dodge all of its nasty effects. Or that a specific one *doesn't*.


[Guide to Defense] [Scrapper Secondaries Comparison] [Archetype Popularity Analysis]

In one little corner of the universe, there's nothing more irritating than a misfile...
(Please support the best webcomic about a cosmic universal realignment by impaired angelic interference resulting in identity crisis angst. Or I release the pigmy water thieves.)

 

Posted

JaggedBones: Are you suggesting we not discuss Accuracy in the Accuracy thread? Or are you saying the reality of 75.22% averages beats the reality of 6-miss streaks [which, like everyone, I have had]? I'm confused.

As far as RNG's: Humans are pattern-matching creatures- we see faces in clouds, we lose money at roulette tables, etc. What this means is that we WILL spot the streakiness, whether it's statistically plausible or not.

So, given that the stdlib.h rand() function has known awkwardness, and probably isn't terribly fast. . .

and we've got at least three experts here. . .

any suggestions from the audience for a good, fast chunk of code to generate solid pseudo-randoms?

Would it be worthwhile or useful reseeding it [e.g. with the local time in ms] every time a character logs in or out of the server?

I knew a little bit about this, 15 years ago- not enough to really contribute anything more than you could get with 15 minutes and Google, probably.

/em goes off to wikipedia

Edit: Arcana made most of my early points, far more eloquently, while I was writing this.


Mini-guides: Force Field Defenders, Blasters, Market Self-Defense, Frankenslotting.

So you think you're a hero, huh.
@Boltcutter in game.

 

Posted

bah, edited. I give up to your persistance. You win. :-) I go back to enjoying the game instead.


 

Posted

[ QUOTE ]

Quote:
Just because they achieved close to the desired average doesn't mean that the entropy of the RNG is fine, or that Def/Acc isn't being calculated wrong for different cons.
Groan.

If you thinks its broken, show that its broken. A ton of this thread and other threads is devoted to "what if" and "it might". How about "it does"? Some say the distribution could be skewed. Yes it could be skewed. (Actually the distribution is fine since the developers proved that). Some say the distribution could be clumped. Yes it could be clumped. OK, people have made hypothesis, now follow through with tests and a conclusion. Many players have done this which should be a good example for other players to follow.

Guessing that it is broken doesn't carry as much weight as showing its broken.

Theory is nice, reality is better and gaming is best. :-)

[/ QUOTE ]

Wow you really don't know what you are talking about. Arcana is one of the few people that HAVE done very thorough testing and knows more about this sort of thing then you obviously do.

I've done a lot of analysis and testing on game data specifically to look for excess streakiness (I found NO evidence of such in the data I was looking at but the setup was designed to isolate rand and streakbreaker, which is why I say I don't think all that much is wrong with it). Even with my null conclusion about autocorrelation, I cannot eliminate the possibility that something is amiss. Yet you do so (in a completely unjustified fashion) based on a simple average value?

Reality trumps theory to be sure, but ignorance trumps nothing.