Quickies
Tile Sets

Tile Sets

I was reading a thread (which I can no longer find) on a forum for Board Game Designers. In the thread, someone wanted to make square map tiles. Each tile was divided into four triangles (which met at the center). Each triangle could be either "mountain", "desert", or "forest". Someone else showed them how to use nanDECK to fairly efficiently create 34 = 81 tiles to cover the possibilities.

As you may have noticed, this ignores the fact that you can rotate a square tile to any orientation. So, I made a little Python script to generate all of the possibilities modulo symmetry constraints. In this case, rather than designing 81 different cards, you could get away with just 24 cards.

Here is the source code.

Here is how one would enumerate the 24 tiles mentioned above:

% python tileSet.py -e 'mountain' 'desert ' 'forest ' -s 2 3 4 1 mountain mountain mountain mountain mountain mountain mountain desert mountain desert mountain desert mountain mountain desert desert mountain desert desert desert desert desert desert desert mountain forest desert desert mountain mountain forest desert mountain desert forest desert mountain forest forest desert mountain mountain mountain forest mountain desert mountain forest mountain forest mountain forest mountain mountain desert forest mountain desert desert forest desert desert desert forest mountain forest desert forest desert forest desert forest mountain mountain forest forest mountain desert forest forest desert desert forest forest mountain forest forest forest desert forest forest forest forest forest forest forest

Here is how one would enumerate the 10 possible cubes where each face is either red or blue:

% python tileSet.py -e 'Red ' Blue -s 3 2 5 4 6 1 -s 1 3 4 6 5 2 Red Red Red Red Red Red Red Red Red Red Red Blue Red Red Blue Red Red Blue Red Blue Blue Blue Red Blue Red Red Red Red Blue Blue Red Red Blue Red Blue Blue Red Red Red Blue Blue Blue Red Red Blue Blue Blue Blue Red Blue Blue Blue Blue Blue Blue Blue Blue Blue Blue Blue

The symmetries are expressed as permutations. The list given is what 1 2 3 4 ... would permute to.

Here is how you would list all dominoes in a standard set:

% python tileSet.py -e _ 1 2 3 4 5 6 7 -s 2 1

Here are the 4116 length-sixteen binary sequences modulo rotation. And, here is how you would generate them:

% python tileSet.py -e R L -s 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1

If you wish to run without any symmetries, you have to tell the program how many slots you wish to fill. Otherwise, the program assumes you want as many slots as there are numbers in each permutation. For example, to get all 81 tiles originally mentioned, you would use this command:

% python tileSet.py -e 'mountain' 'desert ' 'forest ' -c 4