William Young
United Kingdom
flag msg tools
Hi there!

I've got a bit of a conundrum with a mod for Magic The Gathering that I've been developing for gaming casually with a few friends of mine that I'd like some help with, please.

What I can't figure out is how to assign each player an opponent both secretly and randomly, which will be for the entire duration of a 4- player game. Essentially, the idea is that each player knows who to 'hunt' i.e. defeat in order to win, but each hunted doesn't know the identity of their hunter.

Whatever system for doing this cannot involve use of smartphones apps, as not everyone playing has access to one of these; it needs to be done with physical objects like dice, tokens, cards, pencil and paper, etc.

I've tried using cards, where each of 4 cards references a player, but unfortunately there's always the possibility that you might draw your own card, thus undesirably nullifying opponent assignment, and, if you say, as the first player to draw an card for opponent assignment, kept your card out and drew randomly for the remaining 3, that's fine for you, but then, when you add your card in for the next player to potentially draw as an opponent from 3, there's the problem that that player could draw their own card, as it may still be in that pile, and if they examine the cards to extract their own to prevent them from drawing it, they then find out which card the first player drew.

The key concerns with a system for this seem to be:
1. Making sure that opponent assignment is random
2. Making sure you can't assign yourself as an opponent
3. Making sure that there is no way in which a hunter's identity can be revealed

I'm finding this a real head-scratcher! Hopefully some kind of solution is physically possible somehow!
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Jeremy Lennert
United States
California
flag msg tools
designer
Avatar
mbmbmbmbmb
You're trying to create a derangement.


One way to do this is to deal the cards randomly, and then if anyone got themself, reshuffle the entire deck and deal them out again. This takes about 3 tries on average before no one has themself.


There's also a popular algorithm for this that uses pairs of cards. You create a card that says "you are A" and another card that says "you are targeting A", then do the same for B, C, etc. up to the number of players. The "you are" cards should all have the same backs as each other, but different backs from the "you are targeting" cards.

Put both of the "A" cards together in an envelope, put both of the "B" cards in an envelope, etc. and shuffle the envelopes. Now, every envelope has a matching pair of cards, and you don't know which envelope is which.

Arrange the envelopes in a circle. From each envelope, take out the "you are ___" card (without looking at the front) and move it one envelope clockwise around the circle. Now, every envelope has one "you are" card and one "targeting" card, and none of them match, but you know that every envelope is targeting the one to its left.

Shuffle the envelopes again.

Each player opens an envelope, puts their "you are ___" card face-up in front of them for everyone to see, and keeps their "you are targeting ___" card secret.

This algorithm is guaranteed to produce a derangement every time; however, there are some derangements that it can't produce at all, because it always connects everyone in a single circular arrangement (you just don't know where everyone is "sitting" in this circle). For instance, you can't get a situation where A and B are both targeting each other and C and D are both targeting each other--that's a valid derangement, but it's not a single circle, so this method will never produce it.

Depending on how your game works, this might be a feature or a problem.
8 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Graham Muller
South Africa
Cape Town
flag msg tools
Avatar
mbmbmbmbmb
You are right this is not an easy problem
In fact just doing it randomly means 15/24 times someone will pick themselves in a 4 player game. So randomly doing it might result in a lot of redraws.

Although 6 of those are the first player drawing themselves. So if first player draws until its not them, and then reshuffle then 9/18 times the other players will get a duplicate. So you will need to perform a redraw every second time.

This of course assumes each player has already chosen their colours.
But maybe there is a way to assign player colours and their opponent at the same time...
1 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
William Young
United Kingdom
flag msg tools
Fantastic response, Jeremy! Thanks ever so much for your help! Thank you also Graham for those useful statistics!
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
William Young
United Kingdom
flag msg tools
Regarding your technique's limitation you mention in your penultimate paragraph, Jeremy, this limitation to me actually serves as an advantage and has exceeded my expectations about how to resolve the effect I desire; having non-reciprocal opponent assignment I feel actually makes the game more interesting and fits very nicely with my idea of 'hunter' and 'hunted' players! Thanks again!
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Tor Iver Wilhelmsen
Norway
Oslo
Unspecified
flag msg tools
badge
Avatar
mbmbmbmbmb
Lifeboat solved this by having rules for what happens if you got yourself as the love or hate target.

Risk (using the secret missions module) solves the case where you have a mission to eliminate a color (and you are that color or it is not in play) by having an alternate condition (occupy a number of regions).
2 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Chris Nash
United Kingdom
flag msg tools
mbmbmb
I can think of a way to do it which is:

- physical (only uses cards)
- easy to setup (unlike the circle of envelopes algorithm - a very nice algorithm indeed!)

However, it's component heavy - it requires 96 cards.

First, create a set of 4 cards. These have simply the letters A, B, C and D on one side.
On the other side, they have the letter of the player they are targeting - for example:
A (other side: you are targeting B)
B (other side: you are targeting C)
C (other side: you are targeting D)
D (other side: you are targeting A)
Clearly this allows for you to make sure that no player is targeting themselves.
But, I hear you cry, after one game everyone will know who everyone is targeting.

That's why you need another 92 cards - 4 each for each of the 24 combinations of letters.
Each set of 4 cards will need to be bagged separately, and will look identical from the front side - simply the letters A, B, C and D.

For a game, the players select a set of 4 cards randomly, get them out and deal them randomly without looking at the other side, and then each player looks at the back of their own card.
The card can be left out in front of the players during the game as a reminder of each player's letter.

You're welcome.
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Jeremy Lennert
United States
California
flag msg tools
designer
Avatar
mbmbmbmbmb
Nashman88 wrote:
That's why you need another 92 cards - 4 each for each of the 24 combinations of letters.

How did you get 24 combinations? For 4 players, I'm only getting 9.

A->B->C->D->A
A->B->D->C->A
A->C->B->D->A
A->C->D->B->A
A->D->B->C->A
A->D->C->B->A
A<->B C<->D
A<->C B<->D
A<->D C<->B

Of course, if you ever increase the number of players, you get a combinatoric explosion in the number of possibilities. And you need a completely separate set of sets of cards for every possible player count.
1 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Front Page | Welcome | Contact | Privacy Policy | Terms of Service | Advertise | Support BGG | Feeds RSS
Geekdo, BoardGameGeek, the Geekdo logo, and the BoardGameGeek logo are trademarks of BoardGameGeek, LLC.