Methodology
HexMerge is a 2048-style merge game on a hex grid. The mechanics are deterministic and the game logic is open-source. Here is how board generation, merge handling, scoring, and end-state detection work — all the things a careful player might want to verify.
Grid and movement
The HexMerge board is a regular hex grid of fixed dimensions. Each cell is either empty or holds a single numbered tile. The player can slide every tile in one of six hex directions: NW, NE, E, SE, SW, W. A slide moves every tile as far as it can go in the chosen direction without crossing another tile or leaving the grid; when two tiles with the same number collide during a slide, they merge into one tile with double the value.
The hex grid has two more move directions than the classic square 2048 grid, which makes the game playable for more turns on average before reaching an unrecoverable position. The trade-off is that each move affects more tile interactions, so planning ahead requires more visualization.
Tile spawn distribution
After every successful slide (one that produced at least one tile move or merge), a new tile spawns in a uniformly-random empty cell. The spawned tile is value 2 with 90% probability and value 4 with 10% probability — identical to classic 2048's spawn distribution. The randomization uses a standard pseudo-random number generator seeded from the page-load timestamp; the seed is not exposed to the player and not used for puzzle reproducibility.
Scoring
Score increments by the value of any newly-created tile from a merge. A merge that produces a 16 from two 8s adds 16 to the score; a merge that produces a 128 from two 64s adds 128. The cumulative score is shown in the game UI and submitted to the leaderboard if the player opts to.
The scoring formula is identical to classic 2048 so that scores are comparable across the family of merge games. Personal-best score is tracked separately in localStorage.
End-state detection
The game ends when no valid slide remains — every cell is occupied AND no adjacent pair of cells share a value. The end-state check runs after every move; when triggered, the game shows the final score and the high-value-tile achieved. Players can replay immediately without leaving the page.
Leaderboard integrity
Leaderboard submissions are opt-in and include only a player-chosen display name plus the submitted score. There is no server-side anti-cheat layer; scores are submitted with a self-reported hash that proves the score was generated by the game client but does not prove the score was generated without external tooling. This means the leaderboard is credible-but-not-verified. We accept this trade-off because alternative anti-cheat systems would require either account creation (against our privacy-first design) or server-side game state (against our static-export architecture).
Suspected manipulated scores can be reported through the contact page. We do not adjudicate disputes between players; we will remove a score from the public leaderboard if the player who submitted it requests removal or if the score is so far outside the practical-skill envelope as to be self-evidently fabricated.
Open source
The HexMerge game logic — grid, slide, merge, spawn, score, end-state — is published under an open license on the operator's GitHub. The published code is what runs on the live site. Players can audit the spawn probability distribution, the merge rules, and the end-state detection logic directly, and can fork the project to add variants (different grid sizes, different starting tile values, different spawn distributions).
Frequently asked questions
How does the hex merge mechanic work?
HexMerge is a 2048-style merge game on a hex grid. Each turn the player slides every numbered tile in one of six hex directions; tiles with matching numbers that collide merge into a single tile with double the value. The goal is to keep playing without running out of moves while building higher-value tiles.
How is the board state managed?
Game state lives entirely in the browser. There is no server-side scoring or anti-cheat layer. Scores are submitted to the leaderboard with a self-reported hash, which means leaderboard scores are credible-but-not-verified. We accept this trade-off for player privacy and zero account-creation friction.
How are new tiles spawned?
After every successful merge or move, a new tile spawns in one of the empty hex cells. The new tile is value 2 with 90% probability, value 4 with 10% probability — the same probability distribution as classic 2048. Spawn position is uniformly random among empty cells.
Can the game ever become unwinnable?
In classic 2048 (square grid), the game ends when no valid moves remain. HexMerge inherits the same end condition. The hex grid has more move directions (six vs four) which keeps the game playable longer on average, but the same forced-end-state mechanic applies once tiles fill the grid in a non-mergeable configuration.
Are scores stored anywhere?
Personal best scores live in localStorage by default and never leave the browser. Leaderboard submissions are opt-in; submitting requires checking a consent box and provides only a player-chosen display name plus the submitted score. We do not collect or store any other personal data.
Is the source open?
Yes, the game logic is published under an open license on the operator's GitHub. The published code is what powers the live site; players can audit the spawn distribution, merge logic, and end-state detection directly.