Enough with the 95% crap!
Translation: As far as you can tell the random number generator in the "to hit" system is working just fine with a few minor quirks in the thousandth percentile range?
|
So in other words, when you roll 67.18%, the problem exists with the "8." It seems slightly more likely to be odd than even for certain ranges, and slightly more likely to be even than odd for other ranges, in a repeating pattern. If anyone can figure out how to exploit that, or even detect that without using a correlation analysis, I'm all ears.
Except for 0.00 and 100.00, every possible random roll from 0.01 to 99.99 seems to come up equally often, and no matter what you roll, each number still seems equally likely to come up after that roll. There's no tendency towards streaks, opposites, or other patterns that I've come up with so far.
When I have more data collected, in a couple days, I'm going to do a better entropy test, a spectrum test, a differential test, and a set of sliding window tests. If those all pass, it basically means they are using the rand() like they are supposed to, and no one got the bright idea to implement their own, seed it stupidly, reuse numbers, or otherwise tamper with it, which means its good enough so as to be effectively random. If the only thing that fails is the LSB error above, its still good enough for no player to have a beef with it, because no player could possibly detect that.
[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.)
More or less. The statistical oddity occurs with an anomalous pattern in the digit representing the hundredth of a percent (basically, the last one). Its not completely inconsistent with a binary random generator being asked to generate rounded decimal numbers, but I haven't looked closely enough yet. I only had time to look at the automatically generated correlated values.
|
In base-10, we all know that 1/3 cannot be accurately represented as it repeats infinitely (0.333...333...etc.)
But did you know that 1/10 (0.1 in base-10) has the exact same issue when represented in binary (base-2)?
The More You Know!
http://www.fimfiction.net/story/36641/My-Little-Exalt
More or less. The statistical oddity occurs with an anomalous pattern in the digit representing the hundredth of a percent (basically, the last one). Its not completely inconsistent with a binary random generator being asked to generate rounded decimal numbers, but I haven't looked closely enough yet. I only had time to look at the automatically generated correlated values.
So in other words, when you roll 67.18%, the problem exists with the "8." It seems slightly more likely to be odd than even for certain ranges, and slightly more likely to be even than odd for other ranges, in a repeating pattern. If anyone can figure out how to exploit that, or even detect that without using a correlation analysis, I'm all ears. Except for 0.00 and 100.00, every possible random roll from 0.01 to 99.99 seems to come up equally often, and no matter what you roll, each number still seems equally likely to come up after that roll. There's no tendency towards streaks, opposites, or other patterns that I've come up with so far. When I have more data collected, in a couple days, I'm going to do a better entropy test, a spectrum test, a differential test, and a set of sliding window tests. If those all pass, it basically means they are using the rand() like they are supposed to, and no one got the bright idea to implement their own, seed it stupidly, reuse numbers, or otherwise tamper with it, which means its good enough so as to be effectively random. If the only thing that fails is the LSB error above, its still good enough for no player to have a beef with it, because no player could possibly detect that. |
Less to do with random number, but interesting all the same:
In base-10, we all know that 1/3 cannot be accurately represented as it repeats infinitely (0.333...333...etc.) But did you know that 1/10 (0.1 in base-10) has the exact same issue when represented in binary (base-2)? The More You Know! |
a = "0.23"
b = "0.24"
c = "0.25"
d = float(a)
e = float(b)
f = float(c)
What pops out is:
>>> d
0.23000000000000001
>>> e
0.23999999999999999
>>> f
0.25
>>>
So, int(float(x)*100) ends up being 23, 23, and 25 for those three numbers. Which means that code fragment never sees "24" as a roll, even though there are such rolls. Which was an obvious error once I saw it, and required adjusting the code to eliminate the round/truncation error. The question is, does the to hit system contain such an error? If it does, its a much more subtle one than that. But again, unlikely to matter to almost anyone in actual play.
[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.)
GG, I would tell you that "I am killing you with my mind", but I couldn't find an emoticon to properly express my sentiment.
|
Let me never fall into the vulgar mistake of dreaming that I am persecuted whenever I am contradicted.
~Ralph Waldo Emerson
"I was just the one with the most unsolicited sombrero." - Traegus
Mmm
Despite of the 90% forced hit at every other time, that is simply not enough to compensate for essentially a defective randon number generator (you are being artificially corrected to 50% to hit); after all if you have a 95% chance to hit, you should "nomally" hit 95 times and miss 5 times within a reasonable standard deviation, say 85 times out of 100 sets of 100 rolls. I don't think the random number generator performs within a standard deviation performance of about 85%.
Having grown up in the days of paper and dice, I have seen the game masters generate ahead of time "roll tables of 4, 6, 8, 10, 20, and 100" which ensures that all the numbers are used once, they have used dice to actually generate the tables and ignore repeats. Perhaps CoX should abandon the random number generator, and simply have a table approach, in which your number look-up in the table is updated each time its used to the next number, till the entire table is used,and then subsequently the pointer goes back to the first table entry. It may not be needed for the game to keep up with were it was in the table, whn you left the game the night before and thus start you were you left at; but it would be a good thing.
With the comment about, one does not stab oneself in the eye with a fork once in twenty tries, I can easily agree with; but lets re-look at the situation from a peaceful sit at the table and eat, to a eat your dinner in an airplane when it hits turbulence, I would be willing to bet that the odds of poking oneself gets to be better than one in twenty, despite that eating is such a casual activity.
Hugs
Stormy
Ps: I get confused, but can someone please explain whats the difference between "To-Hit" and "Accuracy", mechanically how do they differ?
Mmm
Despite of the 90% forced hit at every other time, that is simply not enough to compensate for essentially a defective randon number generator (you are being artificially corrected to 50% to hit); after all if you have a 95% chance to hit, you should "nomally" hit 95 times and miss 5 times within a reasonable standard deviation, say 85 times out of 100 sets of 100 rolls. I don't think the random number generator performs within a standard deviation performance of about 85%. Having grown up in the days of paper and dice, I have seen the game masters generate ahead of time "roll tables of 4, 6, 8, 10, 20, and 100" which ensures that all the numbers are used once, they have used dice to actually generate the tables and ignore repeats. Perhaps CoX should abandon the random number generator, and simply have a table approach, in which your number look-up in the table is updated each time its used to the next number, till the entire table is used,and then subsequently the pointer goes back to the first table entry. It may not be needed for the game to keep up with were it was in the table, whn you left the game the night before and thus start you were you left at; but it would be a good thing. With the comment about, one does not stab oneself in the eye with a fork once in twenty tries, I can easily agree with; but lets re-look at the situation from a peaceful sit at the table and eat, to a eat your dinner in an airplane when it hits turbulence, I would be willing to bet that the odds of poking oneself gets to be better than one in twenty, despite that eating is such a casual activity. Hugs Stormy Ps: I get confused, but can someone please explain whats the difference between "To-Hit" and "Accuracy", mechanically how do they differ? |
Tohit is your base chance to hit. Any tohit buffs are added to that base. Unlike tohit, accuracy is multiplicative, and is applied after all the tohit buffs (and tohit debuffs, defense buffs, and defense debuffs) are added together.
For example. Base chance to hit an even level is 75%. If you have a 20% tohit buff your chance to hit is 95%. If instead you have 20% accuracy your chance to hit would be 90% (75 x 1.20). At that level the difference is often minimal. But because tohit debuffs and critter defenses both work like anti-tohit, or when fighting higher level critters where your base to hit is much lower than 75%, when you're dealing with these accuracy becomes increasingly less effective.
Example #2. You're fighting an even level. Base chance to hit is 75%. That critter hits you with a 35% tohit debuff. Your chance to hit is now 40%. With a 20% tohit buff that figure is increased to 60%. But a 20% accuracy buff would only be 48%. Huge difference. The less net tohit you have the less effective accuracy is and the more you need tohit buffs to compensate. Another way to look at it is that tohit buffs make accuracy buffs work better.
It's pretty well laid out here: Attack Mechanics.
The only thing that threw me was the streak breaker section. I'm so used to seeing to-hit values represented as a % value that for some reason looking at it expressed as the correct mathematical value, ie .9 (representing 90%) it left me scratching my head for a bit.
Throwing darts at the board to see if something sticks.....
Come show your resolve and fight my brute!
Tanks: Gauntlet, the streak breaker and you!
Originally Posted by PapaSlade
Rangle's right....this is fun.
|
Mmm
Despite of the 90% forced hit at every other time, that is simply not enough to compensate for essentially a defective randon number generator (you are being artificially corrected to 50% to hit); after all if you have a 95% chance to hit, you should "nomally" hit 95 times and miss 5 times within a reasonable standard deviation, say 85 times out of 100 sets of 100 rolls. I don't think the random number generator performs within a standard deviation performance of about 85%. |
The streakbreaker breaks miss streaks based on what your chance to hit is and how many misses you're allowed to have before the streakbreaker kicks in. For example, if your chance to hit is higher than 90%, then the streakbreaker will kick in after one miss. Miss once, and the next swing (assuming it is also at higher than 90% tohit) will be forced to be a hit without bothering to roll anything.. If your net chance to hit the target is between 80% and 90%, then you are allowed up to two misses before the streakbreaker forces the next swing to be a hit, again without rolling anything. And so on.
Having grown up in the days of paper and dice, I have seen the game masters generate ahead of time "roll tables of 4, 6, 8, 10, 20, and 100" which ensures that all the numbers are used once, they have used dice to actually generate the tables and ignore repeats. Perhaps CoX should abandon the random number generator, and simply have a table approach, in which your number look-up in the table is updated each time its used to the next number, till the entire table is used,and then subsequently the pointer goes back to the first table entry. It may not be needed for the game to keep up with were it was in the table, whn you left the game the night before and thus start you were you left at; but it would be a good thing. |
Under no set of circumstances is this remotely a good idea. It would be better if all attacks were autohit than to do something like this, and I think having all attacks autohit is a bad idea in general. This is worse.
Ps: I get confused, but can someone please explain whats the difference between "To-Hit" and "Accuracy", mechanically how do they differ? |
[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.)
Arcanaville, one more question, when have several IO sets which enhances accuracy, say 5 sets which gives say 7%, is that (1.07*1.07*1.07*1.07*1.07)*([Tohit+ToHit Buff]-Defense)
or 1.35 * ([ToHit+ToHitBuff]-Def)
mathematically on the first set, the 7% are cummulative versus the second set is additive
Stormy
Ah, now I see how that works, thank you.
Arcanaville, one more question, when have several IO sets which enhances accuracy, say 5 sets which gives say 7%, is that (1.07*1.07*1.07*1.07*1.07)*([Tohit+ToHit Buff]-Defense) or 1.35 * ([ToHit+ToHitBuff]-Def) mathematically on the first set, the 7% are cummulative versus the second set is additive Stormy |
1.35. You add them together the same as you would enhancement buffs.
|
However, they do *not* add to the intrinsic accuracy of a power. If a power has 1.05 accuracy (i.e. +5% accuracy) intrinsicly in its definition, that is *multiplied*. So if you have three 10% accuracy buffs, slot 33% accuracy, and use an archery attack with 1.155 accuracy, your net accuracy becomes:
1.155 * (1 + 0.33 + 0.1 + 0.1 + 0.1) = 1.88265, or about +88%.
[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.)
I recall at one point suggesting the combination of Hide +Build Up + AS be incapable of missing. I mean, you're stabbing a totally unaware target, and even preparing yourself beforehand. If your character cannot land a blow like that, they seriously need to be put back in the Zig lest the kill themselves while attempting to cut open a grapefruit.
I tend to call this "The Quarter". Because in the same instant I attacked, my target bent over to pick up a shiney quarter. It's the only feasable explaination for something so ridiculous.
The off-beat space pirate...Capt. Stormrider (50+3 Elec/Storm Science Corruptor)
The mysterious Djinn...Emerald Dervish (50+1 DB/DA Magic Stalker)
The psychotic inventor...Dollmaster (50 Bot/FF Tech Mastermind)
Virtue Forever.
I first noticed something was a little "curious" with the accuracy system with my Kin Corr. I would swoop down to zap a gray to get Speed Boost and it would almost always miss. I found myself wishing I had the accuracy of the grays shooting back at with me with 5% and nailing me.
I can't claim that the percentage rolls are rigged or railroaded to go a certain way in certain situations - First attacks, killing blows and post Build Up seem to miss more but I haven't tested anything - but what I DO know is that a 5% chance to miss is a lot larger than it sounds. There have been more times than I care to think about where I bounced back and forth between Miss! and Streakbreaker for about 6 or 7 hits. That's aggravating. And makes one suspect things.
As super heroes, especially at levels 50 and such, we don't need to be whiffing against grays.
What I recommend is just to bump both numbers up 2 points or so. 97% chance at the high end and 7% chance at the low end. THAT is closer to the whimsical miss that's bound to happen every now and then, AND gives those pesky grays a little more hope.
Quite frankly, this is why I cannot get myself motivated to play a defense-based character. I would much rather take reduced damage or simply heal the damage rather than suddenly get owned because everyone suddenly decided they were only going to roll between 1 and 4. At least with Resistance and Regen, the damage you take is reliably consistant, and your survival is based 100% on skill.
The off-beat space pirate...Capt. Stormrider (50+3 Elec/Storm Science Corruptor)
The mysterious Djinn...Emerald Dervish (50+1 DB/DA Magic Stalker)
The psychotic inventor...Dollmaster (50 Bot/FF Tech Mastermind)
Virtue Forever.
Equip Nerve
Ignore hit cap
Everything went better than expected?
I mean, come on, throw Nerve a bone here, lol
Thread stay dead....
Having grown up in the days of paper and dice, I have seen the game masters generate ahead of time "roll tables of 4, 6, 8, 10, 20, and 100" which ensures that all the numbers are used once, they have used dice to actually generate the tables and ignore repeats. Perhaps CoX should abandon the random number generator, and simply have a table approach, in which your number look-up in the table is updated each time its used to the next number, till the entire table is used,and then subsequently the pointer goes back to the first table entry.
|
If you tried to use the M19937 algorithm as a table, you would need (2^19937 - 1) entries. That would take up more data storage space than the universe is capable of encoding. Alternatively, you could just use M19937 which requires just a handful of bytes and processor cycles.
http://www.fimfiction.net/story/36641/My-Little-Exalt
Psst... Fleet, your answering to an 8 month old post.
Anybody got a wooden stake and a hammer? We need to put this out of it's misery.
Throwing darts at the board to see if something sticks.....
Come show your resolve and fight my brute!
Tanks: Gauntlet, the streak breaker and you!
Originally Posted by PapaSlade
Rangle's right....this is fun.
|
Also, just for giggles, I've decided to take another look at the rand used by the tohit system. In the past I've data-harvested combat rolls over long periods of time, and theoretically speaking that could create a skew all its own if the rand was somehow affected by game patches: I could be datamining across radically different implementations. However, its now possible to harvest millions of random rolls in a very short period of time, without any real effort from me. I've been looking at those. I want to analyze about a hundred million combat rolls just to see if there is *any* evidence of a problem with the rand. Frankly, I doubt there is one, but just from the data I have so far I can say there's still no evidence of statistical anomalies with one exception which would probably be impossible to detect in actual play (a hint of a spectral anomaly affecting the least significant bits of the rolls, which some non-cryptographically hard random number generators are subject to, and which most people don't care about - this would only affect how often the decimal part of the roll was a particular value across all random rolls, which is unlikely to affect anyone materially).
Translation: As far as you can tell the random number generator in the "to hit" system is working just fine with a few minor quirks in the thousandth percentile range?
Throwing darts at the board to see if something sticks.....
Come show your resolve and fight my brute!
Tanks: Gauntlet, the streak breaker and you!