Random character generation is an artifact of older editions of D&D, with the OSR and other throwback movements embracing it wholeheartedly. In the present day both old-school D&D derivatives as well as the range of games derived from WFRP’s take on d100 mechanics are still locked in with random generation, with the classic ‘roll 3d6 six times in order’ being both common mechanic and a meme. The problem with random generation in this way is that putting characters arbitrarily at different places on a probability distribution, in effect making characters better or worse based on nothing but luck, is a pretty poor way to accomplish the ultimate goal of random character generation, which is to introduce variability to the type of characters that players ultimately play.
In reviewing how a number of different games handle random character generation, specifically random attribute generation, I can’t help but think that these designers know that players don’t like random generation and don’t actually like rolling bad characters. It’s widely known what the most common response to early D&D’s attribute requirements for certain character classes was: Cheat! It therefore stands to reason that games which still commit to random generation either create a system that employs randomness more deliberately, or create a system which softens the blow of the dice.
Softening the blow of the dice
All stat rolling is not created equal. I took a look at three different D&D derivatives to see how they dealt with attributes: D&D 5e is my baseline, with Dungeon Crawl Classics and Worlds Without Number as my main comparisons. D&D has used 4d6 drop lowest since at least 3e (likely longer but there are a lot of arguments about intent since AD&D listed multiple character creation methods), and both 5e and Worlds Without Number contain arrays as an alternative. The actual impact of attributes in these games is striking:

The statistical impact of attributes is altered dramatically between these games; WWN has half the modifier range of D&D 5e. This is of course further modified in 5e by using 4d6 drop lowest; in D&D 5e you have four times the probability of rolling an attribute with a positive modifier as you do in WWN, with almost the same probability of rolling a negative modifier (16% versus 17%). D&D characters will simply be more effective than WWN characters, while the two games saddle you with about the same chance to actually be penalized. Although Worlds Without Number (and its other Without Number cousins which generally use the same modifier distribution) intends for character capability to be more muted, the flatter distribution also tends to make characters feel a little samey. There is a nearly 10% chance that after you’ve rolled your stats in Worlds Without Number you have modifiers of zero across the board. In D&D 5e there’s less than a one-in-ten thousand chance of that happening.
There are two different statistical effects going on here, first the positive skew of 4d6 drop lowest and then the overall impact of having a flatter or steeper modifier curve. Worlds Without Number also has a slight positive skew mechanic; after rolling all your attributes you can swap one of them out for a 14. Assuming that you take your lowest attribute and swap it for the 14 this has a remarkably similar impact to shifting from 3d6 to 4d6 drop lowest, although 4d6 drop lowest still results in a higher average ‘best stat’ (you can see things like ‘best stat’ values for these attribute rolls on AnyDice). Of course, while swapping your lowest stat for a 14 would almost always be statistically optimal, it may not be your course of action because of another difference between the two games: In Worlds Without Number you’re line-rolling these stats while in D&D 5e you’re assigning them. That said, the restriction here is somewhat mitigated by optional opportunities for attribute bumps later on in character creation.
When looking at each of the three games, each has a positive skew (DCC’s positive skew, funnel character creation, is more qualitative than statistical). The relative modifier curves, though, are notably different, and give a modifier range of either two, three, or four steps on each side of the curve. This is arguably a philosophical distinction, with the ‘old school’ games statistically deemphasizing attributes to align with how player rolls should be deemphasized in play. At the same time, these are all d20-derived games and each one has bonuses increasing outside of attributes at every level gain, namely saving throw and attack bonus values. The flattened attribute contribution doesn’t really deemphasize the importance of the numbers you roll, rather it does seem that the intent of the differing distributions is to blunt the effects of rolling bad stats at the beginning, at least a little bit.
Committing to randomness, or not
Not all old-school games have ability modifiers. Electric Bastionland has ‘saves’ which are d20 rolls compared directly to the attribute: roll under and you succeed. That means that an 18 is outright twice as likely to succeed as a 9. The mitigation here is in the Failed Careers: your Career is determined by your attribute rolls, with more potent items gated behind worse attributes. Another example of full commitment to randomness would be Traveller: Here instead of randomly rolling attributes, you’re randomly rolling an entire career and backstory for your character. Instead of just straight probability, character creation is a push your luck game where each new term has a new chance for either windfalls and skill gains or disasters, injuries, and prison sentences.
I mentioned WFRP earlier, and WFRP 4e has an interesting approach to randomness. While values themselves aren’t completely random across the distribution (a typical attribute roll is 2d10+20), the game also has offramps at every random roll. By default, attributes, race, and career are all random in WFRP 4e, but you never have to accept your random results. In attributes, for example, you can accept your line-rolled attributes, redistribute those line-rolled attributes, or point-buy your stats. There are rewards for accepting randomness though: the line-rolled attribute character gets 50 XP, the distributed random attribute character gets 25 XP, and the point-buy character gets 0. It’s a solid mitigation for suboptimal attribute rolls, but it also has the secondary effect of attaching an XP value to the disparity of simply being unlucky with the dice.
Ultimately, anyone creating a character for a game is doing so with the intent of creating a character they actually want to play. If random rolls produce poor enough stats, especially if the game is intended to go on for a while, a player may simply throw that character out and start over. All random character generation must be designed with the knowledge that too high of a risk of a simply poor character means that players will not engage with the mechanics any more. This is why Worlds Without Number and D&D 5e offer arrays as an alternate form of attribute generation, why WFRP offers offramps to almost all of their random generation options, and why the text of Dungeon Crawl Classics is borderline pleading with the reader to give funnel character creation a try. Random character creation can add a lot more color to an adventuring party, but forcing a player to stick with a character that’s statistically inferior to their tablemates is going to cause more frustration than that variety is worth.
I personally like randomness in character creation. I like putting players in the position of playing someone different, or adding twists and constraints on how characters come to the table. That said, randomly generated character attributes produce results that will make some characters simply worse than others. Even doing something like randomly assigning values in an array won’t necessarily work; all D&D stats aren’t created equal, and forcing someone to, say, take Constitution as their low stat will permanently hobble their character.
When you look at randomness that works, that still feels good for players, it employs a combination of numerical mitigators and statistical extensions. Mitigators are tricks like those discussed above, either using 4d6 drop lowest as a dice mechanic to skew the results positive, or giving other bennies like swapping out a low stat for a higher one. Statistical extensions are mechanics which stretch the randomness of a character out over more and more rolls, making it more likely that the net results revert to the mean. While there is a lot more going on under the hood, statistical extension is one reason Traveller character generation works as well as it does; the more rolls a mechanic uses the more likely that characters will cluster towards similar levels of ability.
Most random generation is couched in historical games; few new designs use it and most have gotten much more deliberate about player choice. This is a cultural decision as much as a mechanical one, but it does mean that the usefulness of randomness isn’t being explored as much as it could be. The old ways have a lot of problems, but the broad trend has been to abandon randomness instead of adjusting how it can add flavor and variety to games without imposing statistical disparity for no good reason. There isn’t much of a ‘hack’ here; character creation needs to be designed from the ground up to implement randomness, especially if we’re looking for new ways to do it. Still, it’s something I believe designers should have a good think about. We have plenty of games that empower players to make exactly what they want when it comes to a character. Designs which center playing the character you’re given could create a lot of new opportunities for interesting play, even including build optimization play which of course will be made much more challenging with more randomness. That all said, design with an eye towards randomness needs to evolve beyond basic random rolls that will almost always punish at least one player with an arbitrarily worse character.
Like what Cannibal Halfling Gaming is doing and want to help us bring games and gamers together? First, you can follow me @levelonewonk.bsky.social for RPG commentary, relevant retweets, and maybe some rambling. You can also find our Discord channel and drop in to chat with our authors and get every new post as it comes out. You can travel to DriveThruRPG through one of our fine and elegantly-crafted links, which generates credit that lets us get more games to work with! Finally, you can support us directly on Patreon, which lets us cover costs, pay our contributors, and save up for projects. Thanks for reading!