14
\$\begingroup\$

I don't like rerolls. I feel they break the speed of the game.

Imagine, for example, that we have a monster with three attacks: claws, tail and bite. Each round it uses random attack chosen from the ones that was not used the round before. This means, on its first round, and after rounds when it didn't attack at all we choose from three options. We could have d6 with three symbols and roll it.

But if it already attacked with its tail in previous round, now it can only use bite and claws. Using the die above, we would have a one in three chance we would roll tail and need to reroll. One in nine that we would need to reroll twice.

What can I use instead? My requirements are:

  1. No re-rolls.
  2. No reassigning meaning to symbols. Players needs to see what was rolled when the thing stops moving.
  3. Preferably one thing to roll, not a set of 4 dice for 4 possible rolls.

What I can use:

  • A blank die of any common type.
  • Anything simple enough for me to model, as I do have a 3D printers.
  • Any common objects that I probably already have or can buy for a reasonable price.
\$\endgroup\$
2
  • 1
    \$\begingroup\$ Do you want to use physical devices or are you ok also with software? \$\endgroup\$
    – Eddymage
    Apr 16 at 6:52
  • \$\begingroup\$ @Eddymage I'm reluctantly OK with software, as long as it can run on the mobile phone that can be easily put on the gaming table and not take too much space. \$\endgroup\$
    – Mołot
    Apr 16 at 8:44

11 Answers 11

46
\$\begingroup\$

In general, a deck of cards is useful to select a choice from a menu that excludes prior choices.

In this particular case, choose three playing cards to represent the monster's possible actions. On its first turn, shuffle the three cards, choose one, and set it aside. On subsequent turns, if you need to choose an attack, choose from the cards that remain, then set aside the new choice. Finally, add any cards that were set aside on previous turns back to the deck at the end of the monster's turn.

\$\endgroup\$
2
  • 8
    \$\begingroup\$ Of note, statisticians talk about the difference between a random result when "sampling with replacement" vs "sampling without replacement" based on whether or not the outcome is equally likely to come up again after having been previously selected. Dice are a great way to sample with replacement and cards (without reshuffling) are a great way to sample without replacement. \$\endgroup\$
    – Kirt
    Apr 15 at 0:28
  • 6
    \$\begingroup\$ Or the low-budget variation, which is just slips of paper in a bag. The great thing about this method in general is you can do more subtle probability nudges where you start with, say, three of each attack and remove as you go, so you can end up with some clumping but you're still guaranteed an even overall distribution of attack type. Or some of the attacks are marked and after you draw enough markers then it does it's big attack. Etc. (Also if you have some cash and find paper unsatisfying but hate shuffling, colored or marked tokens in a bag are nice and tactile.) \$\endgroup\$ Apr 15 at 14:07
45
\$\begingroup\$

Use a d6 with a reference table

In the following table, the main entry is the attack assuming the monster is free to choose from among all its attacks. The parenthetical entry is the attack used only when the monster used the main entry on its previous turn.

Roll
1 - Tail (Claws)
2 - Tail (Bite)
3 - Claws (Tail)
4 - Claws (Bite)
5 - Bite (Tail)
6 - Bite (Claws)

When the monster has not attacked the round previously, it has an equal chance of selecting any attack (2/6 = 1/3). When it has attacked the round previously, it has an equal chance of selecting either of the two attacks it did not use (3/6 = 1/2).

This is accomplished with a single roll on a d6 each round, but you will need to keep track independently of what attack it used the previous round.

Use a custom d6

Working with your 3D printer, you can design six symbols whose meanings are each of the six entries if you would prefer a symbol rather than a number. For example, the six sides could be:

Tc, Tb, Ct, Cb, Bt, Bc

\$\endgroup\$
12
  • 1
    \$\begingroup\$ Last paragraph is great. Simple, doable, no need to look anywhere but the dice. And something I totally didn't think of. Unless someone will come up with even better idea soon, that's what I'll do. Table doesn't quite meet the requirement 2. \$\endgroup\$
    – Mołot
    Apr 14 at 21:17
  • 3
    \$\begingroup\$ Another possibility on a custom die is symbol vs background color. A d6 cube with three symbols each appearing twice, with eg. Both claws red background, both teeth white background, and tails having one red and one white background. If you rolled a tails that was invalid, use the corresponding background color. You could do something similar with central symbol vs. Border decorations, but that seems like it would be hard to read on a small die across the long table. \$\endgroup\$ Apr 15 at 0:41
  • 2
    \$\begingroup\$ You don't even need the reference table or custom dice: you just remember the order (alphabetical helps). 1&2=B, 3&4=C, 5&6=T. Then if the one you roll for is unavailable, and you rolled an odd number, go for the first of the others; if even, the second. \$\endgroup\$ Apr 15 at 6:01
  • 1
    \$\begingroup\$ @DewiMorgan That seems to go against what Mołot was asking for - since he didn't like my 1 = Tail as it "reassigned meaning to symbols". But it is an interesting solution and you might consider leaving your own answer. \$\endgroup\$
    – Kirt
    Apr 15 at 6:04
  • 2
    \$\begingroup\$ @JoelHarmon Yes, but then you'd have to reassign the background colors after every attack and ignore the symbols entirely after the first attack. Three colors means that if you get the attack used last turn, you just use the background color to determine which of the other attacks to use instead, and the symbols still means something \$\endgroup\$
    – No Name
    Apr 15 at 17:34
20
\$\begingroup\$

This looks like a job for a Rondel. Put the three attacks in consecutive sectors of a circle, and after the initial d3, put a marker (a coin, a d6, whatever) on the previously used move.

When choosing the next move, roll a d2, and move the marker that many sectors clockwise.

Not only will this choose only between the possible moves, it will also act as a memory (you'll want to keep track of the previous move somehow anyway), and furtherhencemorth, the rondel will also serve as an option display: the possible next attacks are those not covered by the marker.

\$\endgroup\$
1
  • \$\begingroup\$ I've solved a similar issue with a homemade version of this. \$\endgroup\$
    – T. Sar
    Apr 16 at 15:52
10
\$\begingroup\$

Using a Standard d6 and Coin

A quick-and-dirty way to approach this is to use a bog-standard d6 to determine the first attack, any ol' fair coin to determine each subsequent attack, and a grid of three boxes labeled "BITE", "CLAW", and "TAIL", e.g. something like

BITE (1,2) CLAW (3,4) TAIL (5,6)
  1. Roll the d6 for the first attack. The numbers in the boxes correspond to the first attack, e.g. if the first roll is a 5, the first attack is a "TAIL".

  2. Place the coin in the box corresponding to the last attack. For example, if the first attack was a "TAIL", place the coin in the box marked "TAIL". The idea is that the position of the coin should always mark what the creature did last.

  3. Use the coin to determine the next attack. Of the two possible attacks on the next turn, one will be to the left of the other in the grid. Toss the coin—heads corresponds to the left attack, tails to the right attack. For example, if the coin is in the box labeled "TAIL", heads corresponds to "BITE", and tails corresponds to "CLAW".

  4. GOTO 2.

This scheme could also be modified to use just one d6. For the first attack, use the numbers in the box corresponding to each attack. For subsequent attacks, if the d6 comes up even, choose the attack on the left; and if it comes up odd, choose the attack on the right.

In either case, an advantage of this approach is that the coin or die can be used as a marker to keep track of what was done last.

Using Custom Objects

An alternative is to use a custom d6 and three custom coins.

  • Label the d6 with the three possible attacks (two of each). You could just write "B", "C", and "T" on the d6; or, if you want to be fancy, you could draw little pictograms of bites and claws and tails onto the die.

  • Label the first coin with "C" and "T" (this is the "bite coin").

  • Label the second coin with "T" and "B" (this is the "claw coin").

  • Label the third coin with "B" and "C" (this is the "tail coin").

I would suggest coloring the three coins differently, or laying them out in some manner so that it can quickly and easily be seen which coin is which (e.g. use the same set of boxes I described above, and put each coin into the corresponding box).

For the first attack, roll the d6 and do what it says to do. For each subsequent attack, toss the coin which corresponds to the last attack. For example, if the last attack was a bite, then determine the next attack by tossing the "bite coin".

\$\endgroup\$
6
  • 1
    \$\begingroup\$ @stackoverblown I think you're joking, but I almost wrote the whole answer with a "d2" (and a snarky footnote indicating that you could use a coin, if you happened to have one). \$\endgroup\$ Apr 15 at 12:58
  • \$\begingroup\$ But d4s are part of the dice set already. Why grab a coin and introduce an extra item unnecessarily? \$\endgroup\$ Apr 15 at 13:00
  • 3
    \$\begingroup\$ @stackoverblown Oh, you weren't joking. (1) Coins are also a part of my dice set, and (2) anyone familiar with how dice work knows that you can use any die with an even number of sides to do the same job as a coin (by selecting "odd or even"). I even note in the top half of my answer that if you don't want to use a coin, you can use the d6 that you are already using. I'm not sure that I understand your complaint... \$\endgroup\$ Apr 15 at 13:02
  • 3
    \$\begingroup\$ @stackoverblown You seem like a very judgmental person... (1) The coins that I have in my dice set are typically not worth real money. I have 30 year old metro tokens from Moscow, one ruble coins from before the currency changed, some random challenge coins, etc. (2) Coins are often very useful for things other than randomizing (e.g. they are useful as markers for all kinds of things), and they take up little space, so I can put a lot more coins into my dice set to be used as markers than I can dice. \$\endgroup\$ Apr 15 at 13:41
  • 3
    \$\begingroup\$ Y'all, the name is stackoverblown. It's clearly a troll account. \$\endgroup\$
    – smbailey
    Apr 15 at 15:30
7
\$\begingroup\$

You could make (lego, 3d print etc) a D6 and two hemispheres that can attach to any face.

Now when you need to restrict an attack, you can attach the two hemispheres to the 2 sides corresponding to that attack, and then the D6 will roll off those sides due to the hemispheres.

EDIT: Infinity dice give you an idea of what I mean. The D4 is a cuboid with the ends rounded so it can't land on them.

\$\endgroup\$
2
  • 1
    \$\begingroup\$ That's really neat! Both LEGO and 3D print options seem doable. \$\endgroup\$
    – Mołot
    Apr 15 at 10:52
  • 4
    \$\begingroup\$ Nice! So you essentially want to convert a standard d6 die into a barrel die (i.e. a prism or an antiprism, with "blocked" bases). \$\endgroup\$
    – Trang Oul
    Apr 15 at 11:01
4
\$\begingroup\$

Use cards instead

All you need is three cards, one for each attack. Each round you pick one card to determine what happens. All you need to do to take out the tail attack is put that card aside until the end of the round.

Cards can be easily made at home, either by writing them out onto index cards old-school fashion, or printing them. A side benefit of this method is that you could put extra details of the attacks (damage, to hit, whatever) directly on to the cards rather than needing to look them up.

\$\endgroup\$
3
  • 1
    \$\begingroup\$ Can you elaborate on how your answer is different from that of sptrashcan? \$\endgroup\$
    – Kirt
    Apr 15 at 19:51
  • 1
    \$\begingroup\$ @Kirt: they suggest using playing cards; I suggest creating custom cards. \$\endgroup\$ Apr 15 at 20:29
  • 1
    \$\begingroup\$ I see. You might want to highlight in your answer, then. Since Mołot specified that answers should not re-assign meaning to symbols, in some sense your answer is placing the attack directly on the card rather than re-assigning the meaning of the card's value. \$\endgroup\$
    – Kirt
    Apr 16 at 1:18
3
\$\begingroup\$

Use a coin.

Beyond the first roll, you're just rolling a d2 and picking one of the options that weren't used before.

If you can 3D print, make a coin with one side "1", and the other side "2". Otherwise, any d2 works.

Have a circular diagram in front of your players - Fang -> Tail -> Claw -> back to start. Put any sort of marker on any of them for starts.

When you need an attack, toss a coin, and move the marker clockwise a number of steps that you got on the coin.

By starting from the last attack and only moving (number of attacks-1), you're guaranteed to never repeat an attack.

\$\endgroup\$
3
  • \$\begingroup\$ This is the best answer.. Simple, also you can print up several variants for other creatures, and use coins or d3s or d4s for larger lists. I could imagine a whole 'AI' system for creatures from this. put the 'wheel' in the rulebook, and move dice/coins around the wheel to determine the next attack choice (or defence choice) \$\endgroup\$ Apr 17 at 2:37
  • \$\begingroup\$ Did I miss something, or this doesn't satisfy the requirement of the first roll giving 1/3 chance of each attack? \$\endgroup\$
    – jcaron
    Apr 17 at 12:11
  • \$\begingroup\$ @jcaron That's not a requirement - at least not one explicitly cited as so. \$\endgroup\$
    – T. Sar
    Apr 17 at 12:22
2
\$\begingroup\$

Very similar to Kirt's excellent answer, but simpler:

Use a d6, no extra anything

Roll 1: You've got 3 options, whatever they are, alphabetize them.
Bite, Claw, Tail

Roll a d6:

1,2 = Bite 3,4 = Claw 5,6 = Tail

Roll 2:

You've got 2 options remaining. Doesn't matter what they are, alphabetize them.
Ex: Bite and Tail are left.

Roll a d6:

1,2,3 = Bite 4,5,6 = Tail

All you have to do is remember your choices and you're golden. For any set of n options, you'd need an n(n-1) sided die to handle it. So if there are 4 options, you'd need a d12. 5 options can be handled with a d20.

\$\endgroup\$
1
  • 1
    \$\begingroup\$ FWIW, this is what I thought of, and I think it's the simplest and (to me, anyway) most intuitive answer. \$\endgroup\$
    – Dronz
    Apr 18 at 4:23
1
\$\begingroup\$

A little bit of a frame challenge - make the first attack randomly bite/claws by coin flip on the assumption it starts facing the target (or tails by narrative if its target approaches from behind). Then flip a coin for all future attacks, randomly choosing from the 2 available options.

Sadly with a single coin you can't map heads to bite and tails to tail as seems logical in this scheme. 3 custom coins would be nice - heads/claws, claws/tails/, and heads/tails. You could 3d print coins with appropriate pictures, but it would be handy to indicate (by a miniature picture of what the it shows) the other face so you can easily pick the right coin.

You'll want a bit of weight to coins for flipping, so make them chunky. Both ABS and PLA have not much more than 14% the density of common coin metals, even at 100% infill, so even with proportions like a €2 coin it will weigh less than a 1c coin. I've never worked with metal-filled filament but apparently it exists (requiring a hardened nozzle); that would help, as would embedding a metal washer or coin in the print - which would have to be very well centred to be fair.

\$\endgroup\$
3
  • 1
    \$\begingroup\$ One can also make a slot in the model for a metal washer. At appropriate height, set a printer pause, insert washer, and let the printer print over it. Plastic will not stick to the washer so tight fit is paramount, and thin layer of glue may help. If one isn't 100% sure of the washer thickness, hardened nozzles may be safest bet for it. They are also required for metal-fill filament as you want the nozzle harder than the material you print. Feel free to add this note to your answer. I can (and will) try both ways, either for this project, or another. \$\endgroup\$
    – Mołot
    Apr 15 at 11:28
  • \$\begingroup\$ @Mołot good thinking. I have to get my 3d printing done for me to my designs so don't get to play with tricks like that. Of course you could also use a low value coin instead of a washer; they have well-specified thicknesses in case you don't have calipers, though if the printer's calibration is a little off you could still hit the metal with the nozzle. \$\endgroup\$
    – Chris H
    Apr 15 at 12:10
  • 1
    \$\begingroup\$ ... I've added a not about that, but had a thought while I was doing so: if embedding a piece of metal in the coin, the centring both in-plane and within the thickness would have to be very good so as not to bias the flip. In this specific case the effect of a slightly unfair coin isn't too bad, but in other game situations it could really spoil things \$\endgroup\$
    – Chris H
    Apr 15 at 12:13
1
\$\begingroup\$

I agree with the given answers that (a) for your specific use case a d6 works and (b) a deck of cards works way better for these kinds of issues. This answer is intended to dig into the mathematical theory behind (a) a bit more. I'm specifically limiting the possible solutions in this answer to dice - cards are already a finalized and given answer.

You mention that you don't want to dynamically map values to symbols, but that is an issue of preparation rather than finding the correct answer. You could prepare a die for every possible combination that you expect to roll, or you could instead choose to do this on the fly when a situation arises. There is no way for you to have a pre-mapped solution with relevant symbols in a game where the set of possible situations is unwieldly large.

How large? That depends on how much preparation you're willing to put in. To use the extreme cases, DnD has such a wide variation on specific rolls that it makes a lot more sense to be able to map numbers on the fly based on a limited set of dice types, and maybe keep a mapping list around if there are commonly reoccurring scenarios.

Regardless of whether you can prepare this all in advance or not, in either case you're going to need to figure out what die would work best for your situation, which is what this answer is trying to shed a light on.


Mathematically, what you're looking for here is the least common multiple based on all collection sized for which you want to roll. In your case, you're looking to roll fairly between a set of 3 selections, and between a set of 2 selections. The least common multiple of 2 and 3 is 6. Essentially, 6 is the lowest number that is divisible by both 2 and 3, that is what's being expressed here.

Note that for your use case of rolling fairly, it does not have to be the least common multiple, any of its multiples would do. You could roll a d6, d12, d18, ... any d[k*6] would work.

Tangentially, this is why our time-system uses 360, 24 and 60 as its main bases. These numbers have a high degree of different prime factors, which maximizes the amount of ways in which you can divide a given time period.
If you had to pick a single die to help you, I would suggest the d120 as it allows you to roll fairly between 1, 2, 3, 4, 5, 6, 8, 10, 12, 15, 20, 24, 30, 40, 60 and 120 options, which is a huge range of possibilities for a relatively small number that still works as a rollable die.

There's an additional consideration here. The numbers which you are rolling are adjacent, because you're excluding prior choices. There are integer sequences here which can help:

  • If you are always going to do two rolls (i.e. roll between n choices and then n-1 choices), the oblong numbers are exactly that).
  • If you want to be able to exhaust the list of n options (all the way down to picking the last item), that a factorial number.

In either case, find the number that matches your expectations, and then use a die that has either that exact number of faces or a multiple of it.

It is also possible to break that number into factors. E.g. if your target number is 42 (roll between 7, then roll between 6 options), you could theoretically roll a d3 and a d14, since each individual combination of d3+d14 rolls maps uniquely to 1 of 42 possible outcomes, which in turn can be used for both a fair roll between 7 selections and a fair roll between 6 selections.
This is silly for small datasets (the complexity of doing so is disproportionate to the likelihood that you have a die that still fits the target number), but when dealing with very large selections, this would allow you to use a limited set of smaller dice to achieve many more possibilities.

\$\endgroup\$
-1
\$\begingroup\$

Your current system is overly abstract. "Don't use the same attack as last time" is an abstract restriction, meanwhile "an attack puts you into a state, some attacks can't be used from some states" is a concrete version of that.

In a concrete model, the narrative drives what options are allowed, and the rules back that. In an abstract model, the rules drive what options are allowed, and the in-world fiction backs that.

Here we have Bite/Claw/Tail. What is it about each attack that makes it unusable the next round? Presumably because the attacking creature's state is changed by attempting the attack.

So lets store the creature's state.

Here is one simple visual model:

 BB
C  C
 TT

now, imagine if we tracked what the last attack was from:

 BB
C  Cx
 TT

"B" is left of this C, and "T" is right of this C. For the other side, they are opposite. What more, there is clearly a right and left B and T.

So, mark the 6 sides of the die:

Bite Left
Bite Right
Claw Left
Claw Right
Tail Left
Tail Right

on your first turn, you roll and determine and record the state - where your creature attacked from.

On the second turn, you roll - if you get the same attack type, instead of repeating you rotate (2 steps) left or right to find how you attacked.

 BB
C  Cx
 TT

right becomes

 BB
C  C
 TT
 x

a (left) tail attack.

A nice thing about this being more concrete is that we can now hang game features off of this model; our foe has geometry not just a list of attack types.

It does restrict what kinds of mechanics a given creature can have, which is the cost of making a concrete model instead of staying abstract.

\$\endgroup\$
2
  • \$\begingroup\$ This is much slower than rerolls. And in my opening statement I already said I think rerolls are too slow. What you propose is a decent system, but it goes in the very opposite direction that I aim for. Abstract systems may not be what everyone wants, and that's OK, but some may want them and want them to work. \$\endgroup\$
    – Mołot
    Apr 16 at 8:37
  • \$\begingroup\$ This is great. I much prefer concrete representations to abstract ones. It's much more interesting, and enhances the interestingness and meaningfulness of the game situation. The fact you got a negative score also highlights why I don't hang out on this site a whole lot. ;-) \$\endgroup\$
    – Dronz
    Apr 18 at 4:26

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .