Bool - A Procedural Boolean Puzzle

1. The Rules:

  1. A picture at the top shows how you want your board to look.

  2. You can tap to apply flips to the bottom grid.

  3. If part of the pattern hangs off the board, only the coins it covers will flip.

  4. Use your taps to match the grid of coins on the bottom with the top screen showing either heads or tails.

    Moves:

    The 3×3 moves patterns have transparent positions and white circles, a coin flips only where the circle is white.

2. Variation Count (5×5, 10 moves)

  • For a 5×5 grid, there are 2²⁵ = 33,554,432 possible initial states.

  • Each move has 512 possible flip patterns.

  • Each move can be placed in 25 locations, so: 512 × 25 = 12,800 possible variations per move.

  • For 10 moves, total move sequences = 12,800¹⁰ = 1.66×10³⁶

  • Total puzzles = 33,554,432 × 1.66×10³⁶ ≈ 5.57×10⁴³ unique puzzles

Total Position Count (5×5, 10 moves)

  • Grid size: 5×5 → 25 coins → 2²⁵ = 33,554,432 possible board positions.

  • Each move: 512 flip patterns × 25 placements = 12,800 possible variations.

  • 10 moves: 12,800¹⁰ = 1.66×10³⁶ sequences.

  • Total unique puzzle positions = 33,554,432 × 1.66×10³⁶ = ≈5.57×10⁴³ possible puzzles.

3.0 Sharing:

Sharing puzzles is done by compressing puzzles into series of letters you can share with your friends easily over text on any platform.

QWERTYUIOPASDFG is a puzzle that has 3 moves

This is achieved through Binary matrix string compression.

3.1 Column-to-Letter Encoding

  • Each column of 5 coins is a 5-bit binary vector (2^5 = 32 possibilities).

  • We map those 32 vectors to a 32‑character alphabet (e.g. Base32: A–Z, 2–7).

  • Example: binary 10110 (decimal 22) → letter W.

  • The encoding alphabet has more characters (32) than there are column states (32), so we only use a subset.

3.2 Puzzle String Compression

  • Initial grid: encoded as a 5‑letter string (compressing N² bits via Base32/Base62).

  • Each move: encoded as 3 letters (2 for flip‑pattern ID out of 512, 1 for position).

  • Example: QWERT + YUI + OPA means:

    • Grid: QWERT (initial state)

    • Move 1: pattern YU at position I

    • Move 2: pattern OP at position A

  • Compact, fixed‑length, fully reversible in under 20 characters

5. Mathematics: Boolean Matrix Operations (GF(2))**

  • Grid and flip patterns are matrices over GF(2) (elements 0/1).

  • Applying a move = matrix addition mod 2 (XOR): NewGrid=CurrentGrid⊕M\text{NewGrid} = \text{CurrentGrid} \oplus M

  • Sequence of moves: cumulative XOR of pattern matrices: Target=Initial⊕M1⊕M2⊕⋯⊕Mk\text{Target} = \text{Initial} \oplus M_1 \oplus M_2 \oplus \dots \oplus M_k

  • This is equivalent to solving a linear system Ax=bAx=b over GF(2), where columns of A are flattened move masks.

Enjoy Bool on itch.io — share, solve, and compare your compact puzzle strings with friends!

StatusReleased
PlatformsHTML5
Authormorthanusual
GenrePuzzle
Made withUnity