You are given a polyhedron subdivided into coloured facets in a rotatable 3D perspective view. You can twist layers of the polyhedron around face-centered or vertex-centered axes. The goal is to make each face of the polyhedron a solid colour (not including the black ‘neutral’ facets that exist in some configurations).
The best-known variety of this puzzle is the 3x3x3 face-turning cube popularized in physical form as ‘Rubik's Cube’. Other popularized physical varieties include ‘Pyraminx’ (tetrahedron), ‘Skewb’ (vertex-turning cube), ‘Skewb Diamond’ (face-turning octahedron), ‘Megaminx’ (odd-size face-turning dodecahedron), and ‘Kilominx’ (even-size face-turning dodecahedron).
Facets was created by Patrick Shaughnessy, using code from Simon Tatham's Puzzle Collection. That code is included under the following license:
This software is copyright (c) 2004-2014 Simon Tatham.
Portions copyright Richard Boulton, James Harvey, Mike Pinna, Jonas
Kölker, Dariusz Olszewski, Michael Schierl, Lambros Lambrou, Bernd
Schmidt, Steffen Bauer, Lennard Sprong and Rogier Goossens.
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation files
(the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of the Software,
and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
This game requires mouse input. The controls are:
Twist the puzzle: Click any of the buttons that are superimposed on the puzzle. Right-clicking a button performs the inverse of left-clicking it.
Enable/disable X-ray view: Click the X-ray preview in the upper-left corner, or ‘X’ key.
Rotate the view: Click and drag anywhere in the window that isn't one of the above commands. A middle- or right-drag rotates differently from a left-drag.
Reset the view position: ‘V’ key.
Enable/disable text labels: ‘C’ key. Use this command if you have difficulty distinguishing between colours. Buttons remain clickable even when they are ‘behind’ the text.
These parameters are available from the ‘Custom...’ option on the ‘Type’ menu.
This determines the polyhedral shape of the puzzle.
This determines how many coloured slices the polyhedron is cut into along each axis. The vertex-turning cube is limited to size 2 and 3.
The puzzle is shuffled away from its solved state by applying up to this many random moves (not necessarily exactly this many). You can set this to 0 to experiment with a puzzle starting in the solved state.
Antipodes share colours
If this is set, the puzzle has half as many colours as it has faces, such that when the puzzle is solved the two faces of each colour will be on opposite sides. (The tetrahedron has no opposing faces and ignores this setting.)
If this is set, the coloured facets closest to the center of each face are instead black and do not count when deciding whether the puzzle is solved. This is logically equivalent to the physical puzzle variations known as ‘Void’ puzzles. (This option cannot be selected for the size-2 cube or dodecahedron or the size-3 tetrahedron or octahedron, since it would make entire slices of the puzzle purely neutral.)
Checking this gives a puzzle in which the rotation axes run through vertices; leaving it unchecked gives a puzzle in which the axes run through the centers of faces (a ‘face-turning puzzle’). This has no effect on the tetrahedron, as each tetrahedron axis passes through both a face center and a vertex.
The geometry of the puzzle is determined by the combination of the Shape, Size, and Vertex-turning puzzle parameters. A few cases call for specific notes:
The size-2 vertex-turning cube superficially appears to have 4 layers along each axis, but only the equatorial cuts can move independently, not the pyramids at the corners.
The size-3 vertex-turning cube only has buttons to turn the corners, not the equatorial bands. (This does not limit the puzzle logic; turning an equatorial band is equivalent to turning both of the two corners it separates).
The size-2 vertex-turning octahedron cannot be solved, since every face is necessarily already a solid color.
The face-turning octahedron of a given size superficially resembles the vertex-turning octahedron of twice its size, but the differences should be evident when you compare how they twist. (The vertex-turning octahedron's moves are closely related to those of the face-turning cube.)
While the other shapes have slices that pass near or through the center of the polyhedron, the dodecahedron is sliced shallowly. Each of its faces has a large central pentagon that cannot be moved to another face. (The face-turning implementation is based on the puzzle popularized as ‘Megaminx’. The vertex-turning implementation is chosen to behave somewhat analogously to the face-turning one.)
To avoid requiring nonplanar layer boundaries, even-sized dodecahedra are implemented as special cases of larger odd-sized dodecahedra, marking the ‘odd’ facets neutral to remove them from the puzzle logic. (The face-turning implementation is based on the logic of the nonplanar-layer puzzle popularized as ‘Kilominx’, and the vertex-turning implementation follows analogously.)