Matt Colville D&D Attribute Generator

Matt Colville has a homebrew method of rolling out attributes for Dungeons & Dragons intended to encourage players to "discover" their characters. You roll for each attribute[1] in order, and cannot rearrange them, but you discard the entire rollout and start again if you do not have at least two attributes that are 15 or more.

I like this approach, but do sometimes find my players having to discard four or more entire rollouts before getting a valid set of attributes. Thankfully, this whole process is easily scriptable. I first went and made a Python script to generate a valid set of attributes which you can find here, but figured it would be more convient to rewrite the thing in Javascript and put it on my blog so folks can just click a button on this page whenever they want to start making a new D&D character using this process.

UPDATE 10/12/2017: Well, this tool turned out to be a lot more popular than I expected! I really appreciate all the feedback folks are offering on this. I particularly liked the few Reddit threads that developed around this, where many users shared their own methods of rolling out ability scores. I've gone ahead and added some options to this tool to allow folks to tinker with different methodologies, though the default settings remain Matt Colville's original homebrew process.[2]

The Rollout


  1. Each attribute roll is the now-standard highest 3 of 4d6. That is, you roll four six-sided dice, and discard the lowest value. This gives you better outcomes on average than the classic 3d6. 3d6 averages between 10 and 11, for example, while the most frequent roll with the contemporary highest-three-of-four method is 13. ↩︎

  2. Photo by Mike Szczepanski on Unsplash ↩︎