Jump to content

To hit roll may be bugged


Audax

Recommended Posts

54 minutes ago, macskull said:

There is no "invisible tohit check" to turn on. When the streakbreaker code determines the next hit is going to be forced, there's no check - it simply forces the power to hit (unless I'm misunderstanding how it works).

The 'invisible hit check' I am referring to is things like auras, not attacks.

18 minutes ago, UberGuy said:

So if you have at 90%+ chance, when you miss once, on the next attack roll, the force check will be "true" and the next roll will be forced to hit.

Edit: for clarity, you don't have to actually miss a second time (1 in 400 chance at 95% hit chance) for the streak breaker to engage. With a 95% hit chance, you just have to miss once, (20% chance) and your next hit is guaranteed.

This is exactly what I wrote. I will believe it is 'perception bias' if we have data that shows Streakbreaker firing less often than 1-in-20 attack rolls (on average, for Final ToHit at the 95% ceiling), but it is very difficult to collect (a lot of) this data in a controlled way.  I totally believe that the RNG is fairly filling the probability space, I just think that Streakbreaker isn't improving actual averages at the one end of the spectrum.

 

There is some content where I am convinced )my personal) 'perception bias' is playing a role in my own attitude: enemies who self-buff their defenses or (massively) debuff the attacker... as soon as the final ToHit is less than 90%, the Streakbreaker count will increase (on top of just having a moving average instead of a constant ToHit)... but this isn't the case for the extremely low-level enemies. I'd like to be able to set up targeting drones in AE (to test AoE and PBAoE), but no one has ever confirmed that this is possible.

Link to comment
Share on other sites

2 minutes ago, tidge said:

I totally believe that the RNG is fairly filling the probability space, I just think that Streakbreaker isn't improving actual averages at the one end of the spectrum.

Can you explain more fully what you mean here? What does "improve averages" mean here? 

 

Why do you need targeting drones? Why can't you just set up durable (but 0 defense) critters in the AE and spam attacks on them? Since you can make yourself invulnerable, you can spawn a mission full of +0 AVs if you want and they won't be able to kill you, and then fire AoEs on them overnight or something like that.

Link to comment
Share on other sites

13 minutes ago, tidge said:

The 'invisible hit check' I am referring to is things like auras, not attacks.

This is exactly what I wrote. I will believe it is 'perception bias' if we have data that shows Streakbreaker firing less often than 1-in-20 attack rolls (on average, for Final ToHit at the 95% ceiling), but it is very difficult to collect (a lot of) this data in a controlled way.  I totally believe that the RNG is fairly filling the probability space, I just think that Streakbreaker isn't improving actual averages at the one end of the spectrum.

 

There is some content where I am convinced )my personal) 'perception bias' is playing a role in my own attitude: enemies who self-buff their defenses or (massively) debuff the attacker... as soon as the final ToHit is less than 90%, the Streakbreaker count will increase (on top of just having a moving average instead of a constant ToHit)... but this isn't the case for the extremely low-level enemies. I'd like to be able to set up targeting drones in AE (to test AoE and PBAoE), but no one has ever confirmed that this is possible.

When I want to run tests like this I run an AE mission in test mode on something like the asteroid, make myself invincible, and put the attack in question on auto. I'll set up the game to log all my chat and then go back and look at the generated text file, doing a quick search in the word processor of my choice for the stuff I'm looking for. I did this overnight as a test for someone and on 2732 attacks I saw a 95.02% hit rate.

 

EDIT: I'm also a bit confused what exactly you are trying to say. Streakbreaker isn't really there to improve averages but rather to prevent long strings of misses, though by its very existence it does improve actual % of attacks that land. The amount of improvement varies depending on the final hit chance. @Bopper and I had a discussion on this a while back and I don't remember the exact conclusions but they were basically "streakbreaker does result in higher-than-expected hit percentages but not significant enough to really matter."

Edited by macskull

"If you can read this, I've failed as a developer." -- Caretaker

 

Proc information and chance calculator spreadsheet (last updated 15APR24)

Player numbers graph (updated every 15 minutes) Graph readme

@macskull/@Not Mac | Twitch | Youtube

Link to comment
Share on other sites

41 minutes ago, UberGuy said:

Can you explain more fully what you mean here? What does "improve averages" mean here?

If the RNG was truly 'fair', then if a player had always had a 95% chance of final to hit, then Streakbreaker should appear "on average" only 1-in-20 times. I have a suspicion that it appears more often than that. I'd like to be able to test this directly...which is why I ask for practice drones, because they could be positioned for PBAoE and AoE attacks.

 

Alternately: I'd like to be able to see if (on average) Streakbreaker is discarding no more than 95% of to hit rolls (that is the expected fraction which would have hit otherwise). If Streakbreaker is throwing away MORE than 19-in-20 rolls (for 95% final to hit chances)... I'd like to get rid of Streakbreaker.

 

I'd have far less of a problem with Streakbreaker if it actually 'waited' until it was needed (i.e. to break a streak) instead of auto-firing. A better name for it would be as implemented would be "StreakPreventer".

Link to comment
Share on other sites

1 hour ago, UberGuy said:

With a 95% hit chance, you just have to miss once, (20% chance)

What?

Check out my stories in the Mission Architect. Just search for "@Take One" or "SFMA". Here are some enticing titles:

  • Praetoria-related: Earth Revolution Red, Earth Revolution Blue
  • Mercenary Action: West Libertalia: Born And Raised, West Libertalia: Global Empire, West Libertalia: Love And Rockets
  • Soldier of Arachnos Arcs: The Tangled Weave, A Taste For Evil, Faultline By Night, The Warburg Connection,
  • Various: Project Dragon, Evolve Or Die, The Murders in the RWZ Morgue, The Last Crystal Out Of Cimerora
Link to comment
Share on other sites

11 minutes ago, tidge said:

If the RNG was truly 'fair', then if a player had always had a 95% chance of final to hit, then Streakbreaker should appear "on average" only 1-in-20 times. I have a suspicion that it appears more often than that. I'd like to be able to test this directly...which is why I ask for practice drones, because they could be positioned for PBAoE and AoE attacks.

Again, I don't understand this AE request. I am right now running this test in the AE with custom mobs. I have 17 things aggro'd (the cap) and have pulled them onto another spawn. My test AoE can hit a max of 16 targets. I'm up to 2600 hit rolls now.

 

The streak breaker, as implemented, must make the player with a 95% hit chance hit more than 95% of the time. It makes you miss less than you would "naturally" by converting some natural misses into hits.

 

It's a streak "breaker" for people with less than 90% chance to hit, because it allows miss streaks of >1 miss. And it seems nitpicky to go after it for the fact that it allows a degenerate definition of "streak of one" for very high tohit.

 

Personally, I can't imagine why you have a problem with it. The last thing most players want is a way to miss more often.

 

Link to comment
Share on other sites

My point is that this method is controlled.

 

The targets are sitting still. They aren't dying. They aren't killing me, which means I don't need any other powers. I can repeat the same attack over and over ad-nauseum. 

 

If there's a way that's not adequately controlled, please explain.

Link to comment
Share on other sites

4 minutes ago, UberGuy said:

My point is that this method is controlled.

 

The targets are sitting still. They aren't dying. They aren't killing me, which means I don't need any other powers. I can repeat the same attack over and over ad-nauseum. 

 

If there's a way that's not adequately controlled, please explain.

I outlined the controls earlier: the main one is to have no other powers which require RNG checks (such as auras and %procs in attacks)

Link to comment
Share on other sites

Right. I've got that going on. That doesn't require "formal" targeting dummies. Basically, you can make your own.

 

By the way, while I wouldn't argue the value in setting them aside for purity of testing, proc chances aren't hit rolls in the sense that they don't follow this toHit roll logic path at all. (Neither do damage "ticks" that can end, like those in lots of fire-themed powersets.)

 

My current test is using Fire Ball, so it has damage "ticks".

Link to comment
Share on other sites

I'm planning to get to 15,000 hit rolls or there-abouts. I'm at a little over 11,000. I took stock a little after 10k, and the stats were...

 

10252 rolls
511 misses
511 forced hits
9751 total hits

 

That's 95.02% average hit rate.

 

One other thing I thought I should mention - the game doesn't check for forcing hits on auto check powers. (I confirmed this by checking the code.) This matters because it's the code that performs the force check which updates the lowest hit chance in the streak. Skipping this for auto hit effects means that they can't modify your hit streak, even though they do exercise the hit roll logic. (Auto hit powers roll a hit check that's never used.)

Link to comment
Share on other sites

OK, final tally:

15098 attack rolls with Fire Ball

757 misses

757 forced hits

14341 total hits

 

That's 94.99% average hit rate on a nominal 95%. (I confirmed that every attack roll message lists a 95.00% hit chance.)

 

Attached is a zip file containing the attack roll logs and the files I used to create the arc. (I didn't create the costume you'll see just for this - it's a gag costume file I had and I couldn't resist setting it on fire for a few hours.)

 

The only powers I was using during the test were auto powers like those in the Fitness Pool, Hasten, Accelerate Metabolism, and Ageless Core Epiphany, to speed up rate of fire. I didn't monitor the test the whole time, so I didn't activate these +recharge powers consistently, so if you go through the attack timestamps you'll be able to see my recharge vary. I also occasionally popped Secondary Mutation, and even got a Quick Reflexes at one point.

 

Fire Ball had 5 pieces of Superior Winter's Bite, one of which was the immob proc, which I swapped out for a L50 common recharge.

 

The foes in the attached mission are melee-focused AVs with no attacks and the resist+regen powers from Willpower. Since they have no attacks, you don't even need to use AE test settings to make yourself invincible. They'll run up to you and mill around. Eventually, most of them will find a "stable" place to be near you and sit still. During my test, one guy kept running around at the outside of the huddle, but I had 20 stationary targets clumped under me on a 16-target max power, which I achieved by dragging my aggro cluster onto another well-clustered spawn.

Hit_Roll_Testing.zip

Link to comment
Share on other sites

One additional comment on this.

 

The streak breaker is intended to have a narrow purpose - to reduce repeated missing. It biases attack roll outcomes so that, the better you are at hitting your target, the less often you'll miss multiple attacks in a row. This is important - it's not an arbitrary hit chance improvement, and it doesn't let you "bank" your automatic hits for future misses. It specifically seeks to break up runs of multiple misses that happen in a row. The fact that it forces a hit even when you might have hit anyway isn't particularly relevant to its job. A forced hit when you would have is still a hit, and a forced hit when you would have missed (and it was time for it to intervene) means it did its job. Checking to see if you missed before intervening isn't necessary for what the breaker was meant to achieve.

 

We still can experience frustrating miss patterns that the breaker will not help with. For example, if your best DPA or otherwise most important attack is in your chain every third attack, even with a 90%+ hit chance, the breaker will happily let you miss just that attack several times in a row, which can devastate your short term performance and maybe even get your character killed. But this kind of outcome is perfectly possible even with the purest and most entropic of RNGs. Truly random things can "clump" certain outcomes in the short term, and those clumps don't have to be delivered in a strictly successive streak of events. The streak breaker only aims to modify immediately successive misses.

  • Like 1
Link to comment
Share on other sites

  • 3 years later

I know this is an old thread but I've been searching far and wide for any users commenting on the 'roll mechanic' itself which I haven't seen anyone talking about. IE there's tons of talk/explanation of the defence mechanism, soft caps 'to hits' vs defence mechanics, etc, which is not quite the focus of this thread what I was trying to understand is how/where the 'roll mechanic' comes into it? For example let's say I'm planning a new toon, which I am, with good defence, and let's say I've got my defence up to the soft cap (45%) and let's say a same-level minion is attacking me who has a default 50% chance to hit me (and nothing more) then the game, I believe, does chance attack roll (a throw of the digital dice I imagine) and the game log says something like ... "critter needed 35 and rolled a 28" etc - so what is that scale and how does it relate to the 'net chance to hit' (after subtracting the attack to hit from the defence)? Just curious, if anyone know? But isn't that 'roll' also part of this discussion/maths around any flaws/bugs? Many thanks.

X

Edited by MisterX
typos
Link to comment
Share on other sites

Here's an actual example from a test I just made...

 

Razorvine MISSES! Spur power had a 34.86% chance to hit, but rolled a 71.33.
Razorvine HITS you! Pummel power had a 34.86% chance to hit and rolled a 9.03.
Razorvine hits you with their Pummel for 119.57 points of Smashing damage.
Razorvine MISSES! Thorn Blast power had a 34.86% chance to hit, but rolled a 82.83.
Razorvine HITS you! Pummel power had a 34.86% chance to hit and rolled a 19.34.
Razorvine hits you with their Pummel for 119.57 points of Smashing damage.
Razorvine MISSES! Spur power had a 34.86% chance to hit, but rolled a 99.94.

 

And so I can see that the 34.86% chance to hit that the Ravorine had must be its net 'to hit' score (after deducting my defence, etc, etc) but what are the 71.33, 9.03, 82.83 scores? I can only guess these are also % scores (and out of 100) but why do the lower scores 'HIT' and the higher scores 'MISS'? And that hit roll also entirely random and to me seem the 'wrong way round'. IE take the first one at 71.33 (%) and reverse that (out of 100) and you get a net 28.67(%) which to my brain then makes sense: The critter needed to score 34.86% or higher but only rolled 28.67% - which is not high enough. I guess the game/wording is doing the opposite is really calculating the 'chance to miss' at this point. Is that just me or are these numbers/calculations doing something completely different to what I think?

 

Anyways, would love to know, if any of you guys who have clearly done the maths and checked the code, and know.

 

X

Link to comment
Share on other sites

7 hours ago, MisterX said:

Here's an actual example from a test I just made...

 

Razorvine MISSES! Spur power had a 34.86% chance to hit, but rolled a 71.33.
Razorvine HITS you! Pummel power had a 34.86% chance to hit and rolled a 9.03.
Razorvine hits you with their Pummel for 119.57 points of Smashing damage.
Razorvine MISSES! Thorn Blast power had a 34.86% chance to hit, but rolled a 82.83.
Razorvine HITS you! Pummel power had a 34.86% chance to hit and rolled a 19.34.
Razorvine hits you with their Pummel for 119.57 points of Smashing damage.
Razorvine MISSES! Spur power had a 34.86% chance to hit, but rolled a 99.94.

 

And so I can see that the 34.86% chance to hit that the Ravorine had must be its net 'to hit' score (after deducting my defence, etc, etc) but what are the 71.33, 9.03, 82.83 scores? I can only guess these are also % scores (and out of 100) but why do the lower scores 'HIT' and the higher scores 'MISS'? And that hit roll also entirely random and to me seem the 'wrong way round'. IE take the first one at 71.33 (%) and reverse that (out of 100) and you get a net 28.67(%) which to my brain then makes sense: The critter needed to score 34.86% or higher but only rolled 28.67% - which is not high enough. I guess the game/wording is doing the opposite is really calculating the 'chance to miss' at this point. Is that just me or are these numbers/calculations doing something completely different to what I think?

 

Anyways, would love to know, if any of you guys who have clearly done the maths and checked the code, and know.

 

X

The game is telling you what they are. After all modifiers are accounted for, the Razorvine had a 34.86% chance to hit you. On a 1-100 (0-100?) scale, the game determined that the Razorvine rolled a 71.33, which exceeded the 34.86% chance of hitting, so it missed. On its next attack, the game determined it rolled a 9.03, which was within the 34.86% chance to hit you, so it hit you. So on and so forth.

 

(Edit: If you ever played games like D&D using percentile dice, it works the same way. If you have a 20% chance of accomplishing something, but you rolled a 21%, you failed.)

 

Edited by Rudra
Link to comment
Share on other sites

12 hours ago, MisterX said:

And so I can see that the 34.86% chance to hit that the Ravorine had must be its net 'to hit' score (after deducting my defence, etc, etc) but what are the 71.33, 9.03, 82.83 scores? I can only guess these are also % scores (and out of 100) but why do the lower scores 'HIT' and the higher scores 'MISS'?

The game uses a 'lower is better' hit mechanism, so that if you have a 57% chance to hit, you need to roll a 57 or less on the virtual D100. The game actually drops a step in the normal "dX" random-number generation, and just converts the internal random number to a 1-100 range, leaving all the decimal places (although you only ever see the first two digits after the decimal place), instead of truncating it to an integer; this allows for more subtle modifiers to be applied to random chances, instead of rounding to whole numbers (adding, say, three 5.4% modifiers to make a 16.12% modifier, instead of having three 5.4% modifiers each rounded to 5%, adding up to 15%). This isn't entirely altruistic on the original devs' part, though; skipping the integer truncation speeds up the RNG for combat resolution a small amount and lets the server make more combat rolls without slowing down.

  • Thanks 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...