I have thought about this aspect of Battle Brothers a bit when I first played the early development builds. Another way to do it would be a pseudorandomisation, as i.e. Dota2 handles it regarding skills like Axe’s “Counter Helix”: If the skill has a 33% chance to proc on a hit and the rolls do not meet the expected outcome of 1/3 of the hits, the chance goes up or down until the outcomes over the course of a game are as close to 33% as possible. So here we find the number actually controlling the propability for each hit in constant flux so we have a result of 33% over time.
That said, I am totally fine with how the probabilities in Battle Brothers work and I am sure we can trust Rap that the lines of code under the hood are more than solid. He is totally right with his assessment that often there is a huge dissonance of people’s perception of a random system and the actual probabilities, because players a) experience small sample sizes (i.e. a single battle where they get angry and then later in a playing session another battle) and b) the negative experiences tend to be stronger and stick in our memory (the so-called “Negativity Bias”). Regarding the above mentioned “lucky” rolls of hits despite a very low hit chance we could easily extend this line of thought towards the notion that our brains register short spikes much stronger than the long periods of time where the system meets our expectations. We remember the few rolls that are on the fringes of a “Gaussian”/”normal curve” of distribution much easier than the big chunk of rolls that make up its center.
Plus from a gameplay standpoint I came to the conclusion that the Dota2 system makes sense in a real-time environment. Turn based combat would lend itself much too easily to the “gaming” of a pseudorandom system.