"to hit" dice nerf'ed
DaveyL
Member Posts: 16
I have just finished playing BG:EE and I just could not believe the number of times I missed hitting a monster, so I turned on the more info lua/ini setting
'Game Options', 'Extra Combat Info', '1'
'Game Options', 'Extra Feedback', '1',
and the number of times my first hit roll was a 2 would have been 40%. The number of times I completed combat without rolling over 10 was astounding. There is SOMETHING WRONG with the random number generator for to hit rolls in 2.6.6 There just is! How many times should you roll two critical misses in a game IN A ROW ( yes the odds are 1 in 400 - I know ) I would say 10% of my rolls were in the teens, the entire game. Not happy
'Game Options', 'Extra Combat Info', '1'
'Game Options', 'Extra Feedback', '1',
and the number of times my first hit roll was a 2 would have been 40%. The number of times I completed combat without rolling over 10 was astounding. There is SOMETHING WRONG with the random number generator for to hit rolls in 2.6.6 There just is! How many times should you roll two critical misses in a game IN A ROW ( yes the odds are 1 in 400 - I know ) I would say 10% of my rolls were in the teens, the entire game. Not happy
0
Comments
The dice are fair. Your perceptions aren't. If your first roll is a 1 or 2 40% of the times you notice it, that just means that you rolled 6 or more and didn't notice it 75% of the time.
The bias here is obvious. When your rolls succeed and hit the enemy, you move on without noting what those rolls were. When they fail and miss, you notice and obsess over it.
Now, if you want to boost your chances of hitting, some tips:
- It's a lot easier to pile up attack bonuses on ranged attacks. Archers get bonuses from both their bows and their (magic) ammunition, while melee warriors are stuck with just the weapon's enchantment bonus. Archery is also just generally powerful, offering increased safety and a high damage rate.
- Many of the tougher enemies in the game wear plate mail, which has a bonus against slashing attacks. Want to hit that Battle Horror? You'll have a better chance with a crushing or piercing weapon.
- Accessories that grant attack bonuses, such as certain gauntlets and the Helm of Balduran, are very powerful. Pick up all that you can, and use them.
- Weapon specialization and especially mastery grants attack bonus. Your warriors should specialize in the weapons they use, and going to mastery or beyond is highly recommended for fighters.
- Backstabs get large attack bonuses; a sneaky thief doesn't have to worry much about hitting even with their poor base THAC0. Not only do you get +4 to hit when striking in melee from invisibility, you also negate the enemy's dexterity bonus to AC (if you have a backstab modifier). And if that unsuspecting enemy has a ranged weapon equipped, that's another +4 to hit and +4 damage for your melee attacker.
- When attacking helpless foes (affected by Sleep, Hold Person, Web, or the like), you don't have to worry about attack rolls at all. All attacks on helpless enemies hit automatically with no roll.
IT IS NERFED OK - end of story. Turn on
'Game Options', 'Extra Combat Info', '1'
'Game Options', 'Extra Feedback', '1',
and watch yourself.
I have just had a battle and my to hit rolls ( forget about all the pluses I get to my to hit roll ) were
1, 1, 7, 1, 1, 7
F%$K OFF!!! 4 critical misses in 5 rolls and exactly the same pattern, 117, 117 Bulls$#t
I know "statistically" it is possible, I know I could roll 100 1's in a row "statistically"
but this is happening all through the game, the same patterns turning up
beamdog sort this S^%t out please
Trying to attempt statistics on small populations is a trap most people fall into. You are actually looking more at each roll separately rather than cumulatively (i.e. the chance for the second roll being 1 is for small populations is closer to 1:20 rather than 1:400). This means that for small populations, history does not seem to matter.
Rolling 6 times a d6 will rarely yield every value once. Neither will 20 times a d20, neither will 100 times a d20 yield 5 of each.
Statistics will only yield similarity to the expected distribution on a large population, and for a d20 you need a really high number of repeats to get the uniform distribution out (too lazy to math right now).
Statistically you can prove me wrong, but practically you cannot.
Incidentally, if all you're interested in is the base attack roll, then turning on extra combat info just makes it harder to see those. The extra information is great when you want to understand what factors are adjusting the roll, but it will be easier to pick up the base roll from just the basic combat information.
Moreover, game designers almost never build in "unfair" dice rolls except as a high-end difficulty setting. Why would anyone who wants to make money selling games do that? If anything, there often tends to be tiny biases inserted into the game that help the player. And those DO exist in BG1, such as the level one, no one-hit kill rule. As well as the best of two HP rolls on level up. Both of those are giving you a tiny edge over what a pure interpretation of tabletop rules are.
I mean if you really are struggling in the early levels, and I'll admit those can be frustrating in BG1, just kite against the melee monsters. That's another tip that can help soften the game's weird early difficulty.
I have one question on the feedback options though: does luck modify the roll you see? It is supposed to directly adjust the dice rolls, not act like a normal modifier. If so, negative luck effects - especially exhaustion - could easily lead to a series of dice role that seem incredibly unfair, but aren't.
Critical hit/miss is independent of luck.
just make your own item in NI and create two effects, one that triggers between 0-5% and another with 95-100%. The latter will nearly almost never happen while the other will reasonably come up many times.
The actual RNG is an utterly standard pseudo-random number generator. It's fair, or at least fair enough.
still pretty blatant and lame how low it gets with the non-stop crits and crit misses
TL;DR: it's nearly impossible that you'll notice anything, even though, for today's standards, the PRNG could be better. Sorry @SirBatince and @DaveyL.
Still, if you want to be really sure and see with your own eyes, I have a script updated that can log each call to CUtil::UtilRandInt, which is the main function in the engine for making dice rolls. It's not trivial to use on Windows, but should not be that hard if you are bit tech savvy.
Cheers.
A good example was a hobby project I did to recreate a common "candle" tealight. I started with a simple LFSR (linear feedback shift-register) based design, but the "flicker" was unsatisfactory because of the long runs.
Ultimately, if you want truly random numbers, you need a physical source. For computers, that is usually generated from the interrupts or some other built-in hardware source. If you need more entropy than that, you can use noise diodes. My project ended up using sample data from a real candle and a PRNG to select which sample was played back, producing very nice results.
However, for a decades old game, the built in algorithm is fine.
In the end, as Maurvir says, it's a futile attempt. Not only you need to account for the randomness of the rolls, but you have to consider that the PRNG is used in a ton more things. I have still lying around the CSV file with a log of playing the game recording all the invocations, so I'm attaching it.
The number of rolls used for a swing, a hit, or damage, is small if you compare it to the times it was used for CGameSprite::SetCurrAction, which I don't know what it is, but I assume for AI decisions. That means that the results of the PRNG are spread among things that you can't visually see or perceive. Nobody says "the AI sucks! it is skewed to the first actions on the AI scripts!".