2 Aug 2015
July 2015 - Asymmetric Deck
tabletopcardsmathasymmetricanalogresearch

On one hand, this is probably the least playably-complete project I've posted for a 1GAM project, but on the other, I've spent more time on this than on many other more traditionally complete games. My experiments with revising Manaspire into a less components-intensive and more streamlined form led me to the realization that with some mathematical contortions, I might be able to replace the nontransitive dice mechanic with a more robust card mechanic, which would also allow me to integrate it with the cards that already existed in the game for another purpose.

I may not have found a revision of Manaspire that I'm happy with yet, but the deck itself seems like a promising element, and like I said, it certainly took some time and effort to get this planned out, so I figured I'd post it as-is in case it's useful in part or in whole for someone else.

So here's my deck of asymmetrically-balanced cards.

The Idea

The original mechanic in Manaspire used nontransitive dice to represent each player's mana pool. The dice were based on a variation of Efron's dice. There were four different types of dice, each of a different color, making a loop. Each color die has a 2/3 chance to roll higher than the next color in the circle, making each color "strong" against one color and "weak" against another. For the opposing pairs, one is 50/50 on who wins, and the other is 4/9, making one color slightly better than the rest and one slightly worse, though still close enough (about 56% to 44%) that it could be balanced out through other mechanics.

The issue was that, as designed, the dice pool could potentially run out unless each color had 6 dice available for each of up to 4 players. That comes out to 96 custom dice. Not exactly a practical design.

I ended up realizing that I could make this into a deck of cards with 4 suits, and distribute their values to recreate the same win/loss percentages in each match up, but also assign each card a unique value so individual cards could never tie. Seems possible, but non-trivial. Time to do some math.

The Math

Hurray for spreadsheets.

The dice I started from are all six-sided, and I assigned colors to each, which gave me:

The important thing here is how the groupings of values are distributed. In order of White → Blue → Black → Red (→ White...), each die rolls higher than the one after it 2/3 of the time because 2/3 of the possible pairings of values favor the first die. So to expand this out to a deck of cards with a large enough range of values to avoid ties, I just need to look at the relative size and distributions of these ranges of values, then scale them up proportionately to maintain those relationships across a greater range of values. I decided to try out a 120 card deck, 30 of each color, and with that goal in mind I could map out how big the ranges needed to be and how they were lined up:


After a first pass, I did some tweaking of the values to see if I could produce interesting properties (e.g. each color/suit having the same average value), and long story short, here are the card values:

White
10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 151, 152, 154, 156, 157,
160, 161, 162, 163, 164, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189
Blue
90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118,
120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148
Black
50, 52, 54, 56, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
80, 81, 82, 83, 84, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229
Red
20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48,
190, 192, 194, 196, 198, 200, 202, 204, 206, 208, 210, 212, 214, 216, 218

There's some flexibility in these numbers, as long as the distribution of relative values stays the same. Three of the values in the White list are highlighted - more on that later.

To test this out, I set up a quick spreadsheet to test each deck against the others, and I did in fact end up with the results I was looking for. This table should be read by row, i.e. the second row shows that Blue beats White 33.33% of the time, ties itself, beats Black 66.67% of the time, and ties Red.

VS → White Blue Black Red Any
White 50.00% 66.67% 44.44% 33.33% 48.61%
Blue 33.33% 50.00% 66.67% 50.00% 50.00%
Black 55.56% 33.33% 50.00% 66.67% 51.39%
Red 66.67% 50.00% 33.33% 50.00% 50.00%

As with the dice, each color has a color it usually wins against, a color it usually loses to, and a color it normally ties with, and of course on average ties itself. The one except, as with the dice, is the White/Black matchup, which is still a 4/9 and 5/9 split, with White slightly below average. In the previous incarnation of Manaspire, I balanced this through giving the White faction a slightly more useful core ability, but I wanted to keep the balance in the cards here if I could. There may be a more sophisticated solution, but the one I ended up with is the idea that three cards in the White deck have a special property that allows them to defeat a Black card regardless of their respective values, but doesn't change the value on the card so it doesn't affect the balance of White versus Blue or Red. Those card values are highlighted in the list above, and with that tweak, I ended up with the balance I wanted.

VS → White Blue Black Red Any
White 50.00% 66.67% 50.00% 33.33% 50.00%
Blue 33.33% 50.00% 66.67% 50.00% 50.00%
Black 50.00% 33.33% 50.00% 66.67% 50.00%
Red 66.67% 50.00% 33.33% 50.00% 50.00%

Perfect - each color now has a color it's strong against, one it's weak against, and one it's exactly tied with.

White Blue Black Red
Count 30 30 30 30
Total 3,570 3,570 3,570 3,570
Average 119 119 119 119
Low 10 90 50 20
High 189 148 229 218
Median 158.5 119 74.5 119
Range 179 58 179 198

I managed to keep the average value of each color the same, and I think the other properties could lead to some interesting game mechanics:

Going Forward

I've made three or four attempts to redesign Manaspire in various ways, and each time I end up with something I'm not happy with, but I'm less unhappy each time. I still think there's a chance I'll get it into a state that I like at some point, and in the meantime, feel free to use any of this information for your own designs and purposes, and shoot me a message if you have any suggestions or questions about such things - I'm no mathematician or statistician so I can't guarantee anything but I think I've got a pretty good handle on this part now.