D&D General Ability score generation: The Snake


Like many others, I like rolling for ability scores while simultaneously disliking how it can generate overpowered characters, underpowered characters and very uneven adventuring parties. So I often think about generation methods that mitigate or eliminate the undesirable outcomes the process can create. Here's one such method.

The Snake
This method turns ability score generation into a group activity, where generating outlier characters is less likely and the ability score totals for each party member are more likely to be close. It can create characters with low or high scores just like the standard 4d6 method.

1. Each player makes one roll of 4d6, drop lowest, in turn, going clockwise around the table. Record the results in a single column from top to bottom.
2. Repeat above until there are six columns in total, each with one number per player. The use of columns is simply to make it easy to see when you're done.

Here's an example of what the result might look like with a group of 4 players. Player 1 rolls 8, player 2 rolls 15, player 3 rolls 16, player 4 rolls 15, player 1 rolls 12, player 2 rolls 16 etc.

8 12 18 14 10 15 15 16 13 9 17 13 16 8 8 11 14 12 15 10 12 14 11 11

3. Sort all numbers from highest to lowest.

Using the example above, we have the following order: 18, 17, 16, 16, 15, 15, 15, 14, 14, 14, 13, 13, 12, 12, 12, 11, 11, 11, 10, 10, 9, 8, 8 and 8.

4. Add each number in order, into a new set of six columns in the winding, snake-like order shown below.

1 8 9 16 17 24 2 7 10 15 18 23 3 6 11 14 19 22 4 5 12 13 20 21

Using the example above, we end up with the following six columns.

18 14 14 11 11 8 17 15 14 12 11 8 16 15 13 12 10 8 16 15 13 12 10 9

Each row is now an ability score array that can be assigned randomly to each player. Due to the snake pattern, each row is balanced by being on opposite sides of the vertical number ordering. For example, the first row has the best number in rows 1, 3 and 5, but the worst of 2, 4 and 6.

In steps 1-2, the players could in theory just roll 6 numbers each as normal and sort them into a common set. The reason for taking turns is to make it feel more like a team effort where they are all contributing, rather than rolling up separate characters and "losing" them to the common pool.

There's also the question of how to handle new characters after the initial party is created. Perhaps the players simply roll up a new set of rows, with new characters taking each set in order or randomly as they join the game.
Last edited:

log in or register to remove this ad


The High Aldwin
He means you zigzag vertically. First column is going from the biggest value down, then it steps to the right at the bottom and goes from bottom upwards, then it steps to the right etc
Going from this to this:

Even with your additional info makes no sense to me. Sorry. :(


The High Aldwin
I think it would be simpler to do this:

Group the first with the last (green)
Group the second with next to last (red)
Group the third with the third from last (blue)
Group the fourth with the fourth from last (purple)
and so on...

Then you end up with the following arrays:

With totals that are even closer.

Voidrunner's Codex

Remove ads