MichaelSpencerJr / Acnos

Digital version of the Acnos tabletop game
0 stars 0 forks source link

Research - Identify Rotational Symmetry #4

Open MichaelSpencerJr opened 7 years ago

MichaelSpencerJr commented 7 years ago

Identify what kinds of rotational symmetry exist for pieces, so we can determine when a piece rotation does or does not produce a meaningfully different set of movement capabilities.

Acceptance Criteria:

MichaelSpencerJr commented 7 years ago

Apparently I had a bug in how I was orienting vectors, making my code for generating piece permutations do strange things and give me weird results. The results I have now seem to be intuitive.

There are three symmetry properties which lead to seven possible symmetry categories, which can affect which rotation moves are legal for a game piece at any given time. One of the properties is always true if the other two are true, which is why there are seven and not eight symmetry categories.

The properties are: horizontal/vertical symmetry, diagonal symmetry, and rotational symmetry. If a piece has both horizontal/vertical and diagonal symmetry then it will always have rotational symmetry.

The seven categories are as follows:

No Symmetry: all rotate actions are always valid Examples:
-A2-B12 -Z1-Z7-Z7 -E1258-F124-N347

Horizontal/Vertical Symmetry Only: depending on rotation, horizontal or vertical flip might be disallowed -A2-A4 -A2-A8 -Z1-Z5-Z7 -Z1-Z5-Z5 -I37-I15-K1245 -I37-L13-L17

Diagonal Symmetry Only: depending on rotation, flipping a piece pivoting around either diagonal might be disallowed -A2 -A2-A6-I37 -Z1-Z3 -R26-Z3-Z7 -D147-D358-M567 -I37-J16-J25

Rotational Symmetry Only: spinning a piece 180 degrees is not allowed -A2-A6-I37 -R26-Z3-Z7 -I37-J16-J25

Both Horizontal/Vertical and Rotational Symmetry: neither spinning a piece 180 degrees nor flipping it over (pivoting over horizontal or vertical axes) are allowed -E1258-E1456 -Z1-Z5 -I37-I15-I37

Both Diagonal and Rotational Symmetry: neither spinning a piece 180 degrees nor flipping it over diagonally are allowed -A2-A6 -R48-X2468 -G1357-S246-S268

Fully Symmetrical: no rotate or flip actions are ever allowed -G1357 -X2468-X2468-X2468 -G1357-R48-R26