Skip to Content
 

Eliminating random numbers as they're generated

14 replies [Last post]
bbblackwell
bbblackwell's picture
Offline
Joined: 10/23/2013

Hello! I often find myself wanting to generate random numbers in a certain range (like deciding the turn order of 10 units by rolling a d10) but find myself at a loss for how to eliminate previously rolled numbers from each subsequent roll. Once number 9 is rolled, I want it not to be rolled again, since that slot is now empty. I'm assuming others have solved this problem, and am wondering what solutions have been devised.

I've thought of using a bag of tokens, but my latest game needs this to be done for the placement of tiles in 4 different zones of about 20 spaces each. It's ludicrous to have 80 tokens just for setup purposes. I could roll a 20 sided die and simply re-roll previously rolled numbers, but obviously this will continue to produce more and more re-rolls as more numbers are eliminated. I could condense down and use a d12 once 8 have been eliminated, but until then there are up to 7 numbers that would generate re-rolls. This simply would not do as a mechanism for a game.

I'd surely like to hear what others have come up with.

Thanks, and enjoy the day!
Brian

gxnpt
Offline
Joined: 12/22/2015
tiles

So you have 80 tiles but balk at also having 80 tokens? Is there any way to draw from the tiles themselves (or place the tokens themselves instead of tiles).

You could use chits instead of tokens.

You could re-use a set of 20 tokens or chits for each sector if you are placing an entire sector at once. Or cards instead of chits or tokens.

You could use toothpick things colored on one end for terrain type and drawn blindly from a cup.

Other than going digital, I think any physical version is going to involve draw blindly from a set of objects. How do you feel about bingo balls?

X3M
X3M's picture
Offline
Joined: 10/28/2013
Is this an option?

You have 2 options.

Option 1; Deck of cards.
The easy one is to have a deck of cards. Once a card is picked, it is excluded from the deck.
But I can figure that 80 cards is a bit much.

***

Option 2; Dice.
The tricky one is to use dice any way. But no re-rolling.
This goes by counting. What I mean is the following:

Let's pretend you have a grid of 10 tiles.
They are not numbered. But you simply start counting from a certain direction. From left to right. The 10th tile is at the end.

1234567890

You use a d10 for all the rolls.

You roll a 5?
You count from left to right until you reach the 5.
The 5th tile is picked and becomes something called A.

1234A67890

But now you want to roll again for the next tile.
You need to recount. So the grid actually should be like this in your mind:

1234A56789

If you are to roll a 5 again.
You have a new 5th tile.
Which was previously the 6th tile.

You now get:
1234AB6789 or
1234AB5678

As you can see, the last number (that you count in your mind) gets lower every time.

If you where to roll a 10 now.
What happens next?

You simply count to 8.
Then you have 2 left.
You have several choices now to decide on:

- The players count again, starting at the 1st tile.
They end up on tile 2.
- The players count backwards, starting at tile 8.
They end up on tile 7.
- The players count backwards, starting at tile 7.
They end up on tile 6.

I can't tell you which one to pick.
All 3 have the same effect.
All second counted tiles will have a double chance on being picked.
But if that is ok with you, this is the way to go.

Personally, I would go with the second option. So that the most outer tiles aren't picked only once.
The first option is just as good.
But gives less randomness feeling (yeah, it is only the feeling here).

You always roll once for a tile.
You always can pick a tile.

***

With a grid of 80. You can't use the technique on both dice.
I suggest to use a d8 and d10.
d8 for top-down (I think)

d8 is rolled to determine the line of tiles.
You can only exclude a line of tiles, if they are all used up.
Once d8 has determined the line of tiles, you look at your d10.

Fri
Offline
Joined: 09/06/2017
Possible solution: Arrange

Possible solution:

Arrange the numbers 1 through 20 in a circle. (Like an analog clock but use 20 numbers). When you need to generate a number roll the d20. If that number has not been used use it and cover it with a marker. If it has been used proceed clockwise until you get to t typehe first unused number then use that number and cover it with a marker. If you are on 20 the next number would be 1. This does make some numbers more likely to used next. I am not sure how much that matters for your game.

Variation 1.
Everything is the same as above but determine whether to proceed clockwise or counter clockwise by flipping a coin or some in game condition.

Variation 2
Roll a d6 d8 or d10 with the d20. Start on the number rolled on the d20 and proceed to the nth unused number as indicated by the other die. This is meant to get the next number closer to being truly random.

Variation 3.
To start roll d6. Use a number rolled and mark it. Roll the d6 again and proceed that many unused numbers from the last used numder and use that number and mark it. Continue until all numbers have been used.

Fri
Offline
Joined: 09/06/2017
Another possible solution.

Another possible solution. Preprint a list of a thousand sets of numbers that match your criteria and number them. Then roll d10 four times. Write down the results of the rolls (10=0) and then use that number to determine which set of numbers to use.

If you are familiar with computer programming think of it accessing an array using a randomly generated index.

gxnpt
Offline
Joined: 12/22/2015
staying physical

Sure enough, everything comes back to some form of removing an item from a set once it is selected

Colored beads could also be blindly drawn from a cup or bowl for tile terrain type, would be small, and should be cheap.

Depending on number of terrain types, the cup of beads could also replace dice in some cases.

Masacroso
Offline
Joined: 05/05/2014
This is a hard task to do it

This is a hard task to do it manually: getting 80 random numbers with dice is not so easy and, any solution, is far to be optimal.

I think a better idea is just use an standard deck of 52 cards, this seems more practical and easier. If you need to determine 80 numbers you can select 40 cards of the 52 that are easier to assign a value, and repeat after the same procedure for the other 40 positions.

FrankM
Offline
Joined: 01/27/2017
No good physical solutions

There are no really good physical solutions, but depending on the theme it may be possible to come up with something that's at least fun to do.

First, get chits or tokens or whatever to represent all of the locations.
Second, set up a hopper that feeds into a trough that shows only the next chit to come out. Think of a gumball machine with an opaque jar.
Third, mix up the chits of interest this turn and send them into the hopper.
Fourth, pick the visible chit and put into a processing queue.
Fifth, repeat the fourth step until you are out of chits.

Assuming the chits were well-mixed going into the hopper, this will give you a proper shuffle of them. You can style the hopper as a gumball machine, hamburger grinder, ore processor, gold panning sluice, etc.

If you'd rather see the upcoming chits, the trough can be a bit longer.

let-off studios
let-off studios's picture
Offline
Joined: 02/07/2011
Hybrid Solution

X3M wrote:
Option 2; Dice.
The tricky one is to use dice any way. [...]

Let's pretend you have a grid of 10 tiles...

Here's one way to go about it, while cutting down on the number of tiles to mix/sort.

Since your game board are divided up into groups of 20, create 20 unique, numbered tiles. Mix them face-down, and flip them up in a row. Roll a die (d6 would be fine) and count that many along that row, and the number drawn is the number used. Remove that tile from the row, sliding all tiles to the left to fill in empty spaces, and then roll the die again.

Repeat until all tiles have been sorted. To fill in another quadrant of 20 spaces, mix all the tiles and repeat the process.

Might this accomplish your task, and use fewer components?

FrankM
Offline
Joined: 01/27/2017
Dice, dice baby

let-off studios wrote:
X3M wrote:
Option 2; Dice.
The tricky one is to use dice any way. [...]

Let's pretend you have a grid of 10 tiles...

Here's one way to go about it, while cutting down on the number of tiles to mix/sort.

Since your game board are divided up into groups of 20, create 20 unique, numbered tiles. Mix them face-down, and flip them up in a row. Roll a die (d6 would be fine) and count that many along that row, and the number drawn is the number used. Remove that tile from the row, sliding all tiles to the left to fill in empty spaces, and then roll the die again.

Repeat until all tiles have been sorted. To fill in another quadrant of 20 spaces, mix all the tiles and repeat the process.

Might this accomplish your task, and use fewer components?


Why is everyone fixated on dice? If the tiles are mixed up properly, the act of flipping them over (and then into a queue) puts them in a random order.

Fri
Offline
Joined: 09/06/2017
Okay a third solution with one d20

Role a d20. Position the closest vertex of the rolled number towards you. Adjust your view so that you only see the five faces attached to this vertex. It should look like a pentagon with five triangles that meet in the middle. Starting with the number rolled record each number in a clockwise fashion. On the fifth number look at the connecting number that is not used. Position the original vertex to be the north pole. Then record this number and rotate the die clockwise in an record each number in the "equator". On the 10th "equatorial" number place the adjacent number that has not been used on top with the vertex opposite the shared edge closest to you. Again this should now look like a pentagon with five triangles that meet in the middle. Record this number and each number in a clockwise fashion.

Admittedly this only produces 60 results. If that is not good enough. You could add more to this with randomizing whether to clockwise or counter-clockwise. (I choose clockwise because it was shorter to type.)

Garage Gamer
Garage Gamer's picture
Offline
Joined: 11/07/2014
Solution = Black Bag

One possible solution is to place all the tiles in a black bag, shake the bag and then draw them out placing them on the board from top left to bottom right. This is the best method if you want to save on componenets.

However, it will not work in all cases eg. A tile can only be found in a certain sector. I would need a bit nore information before being able to give a comprehensive solution.

let-off studios
let-off studios's picture
Offline
Joined: 02/07/2011
Whoops

FrankM wrote:
Why is everyone fixated on dice? If the tiles are mixed up properly, the act of flipping them over (and then into a queue) puts them in a random order.
Hahaha! You're absolutely right. Lost sight of the forest because of the shiny trees. :)

X3M
X3M's picture
Offline
Joined: 10/28/2013
let-off studios wrote:FrankM

let-off studios wrote:
FrankM wrote:
Why is everyone fixated on dice? If the tiles are mixed up properly, the act of flipping them over (and then into a queue) puts them in a random order.
Hahaha! You're absolutely right. Lost sight of the forest because of the shiny trees. :)

Shiny! Now that song is stuck in my head. :)

The most obvious one, the most self explanatory one; the deck of cards. Is it still valid?

FrankM
Offline
Joined: 01/27/2017
Cards and chits

X3M wrote:
The most obvious one, the most self explanatory one; the deck of cards. Is it still valid?

If all of the locations are considered every time, I'd go with cards.

If the players need to pick and choose certain locations to go into the process each turn, chits would probably be more durable.

Syndicate content


forum | by Dr. Radut