Under Construction
Skip to content

Mines ​

Mines on a phone

Reveal tiles, avoid the mines, cash out when you like.

Designer
player1
RTP
97.00%
State
Maths Complete
Play Mines →

Opens 97 Plus in demo mode: virtual credits, no sign-up.

How it plays ​

Details to come.

Original Design document ​

Created 16 September 2026 · Last modified 16 September 2026

Game design may differ from the content below.

Spec for the Mines game (as built). Mines is the reference game for the shared UI and round flow.

A grid of face-down yellow tiles (MineTile, a "?" on each) hides a number of mines. Reveal tiles one at a time; every safe tile raises the cash-out value, a mine ends the round at 0.

RTP 97% - the engine multiplies every rung by 0.97 (the tile shows rtp "97.3"). Big win at the default bigWinMultiplier (3×). Scene bg MINES_SCENE_BG, tiles in the alt colour MINES_ALT. No layout sheet of its own - resolves entirely from assets/layouts/default.json.

Options: Bet, Grid Size, Number of Mines, Reveal Map (No/Yes), Show Odds (No/Yes), Bet Change, Game Colour, Alt Colour, Sound. Grid, mine count, Reveal Map and Show Odds persist. Grids (assets/mines.json, default 3x3):

  • 2x2: mines 1-3 (default 1)
  • 3x3: mines 1-8 (default 1)
  • 4x4: mines 2-9, 11 (default 2)
  • 5x5: mines 2-9, 11, 13, 15, 17 (default 2)
  • 6x6: mines 2-9, 11, 13, 15, 17, 20, 24 (default 2) Changing the grid resets the mine count to that grid's default.

IDLE: Tiles disabled (dimmed). Message "place bet to start". With Show Odds on, the small message shows the first pick's win odds ("win odds: 88.9%").

GAME PLAY:

  • Play starts a round: changeBet, then requestPlay with { width, height, mineCount } (the bet is deducted server-side).
  • Tiles go live, message "pick tile". Tap a tile → processPlayerSelection { tileIndex }.
  • Safe: the tile turns green, the play button becomes the cash-out button (tinted green) showing the current win, message "next: <win on the next pick>" (+ next pick's odds with Show Odds).
  • Mine: the tile turns red, "bomb!", round over.
  • Cash out: pays bet × the current multiplier ("cashed! $x"). With no tiles revealed it pays nothing ("no win").
  • Revealing every safe tile auto-wins ("max win!").
  • If the next pick would pay more than the max-win limit, the round is cashed out automatically ("max win limit reached").
  • Reveal Map on: the remaining tiles are shown (faded green/red) when the round ends - after a roundOverDelayMs pause for a mine or a max win, immediately on a cash-out. The placement is display-only (random) - mines are never pre-placed.
  • Wins below the big-win threshold just show the amount; larger wins show the big-win scene.
  • ROUND_OVER holds roundOverDelayMs (1000), then IDLE.

Maths (MinesEngine.ts):

  • Mines are not pre-generated. Each reveal is one uniform draw over the tiles still face-down (mines.tileReveal); the tile is a mine when the draw < mineCount, so P(mine) = mineCount / tilesRemaining.
  • Multiplier after r safe reveals: 0.97 × ∏(i=0..r-1) (total−i)/(safe−i), stored to 4 dp. The RTP is 97% at every cash-out point.
  • Grid config is validated: width, height and mineCount must each be integers from 1 to 20, and mineCount < width × height. Otherwise startRound throws.
  • Revealing an already-revealed tile throws. No server-only fields - clientView passes the state through.
  • The usual host rules apply: requestPlay is refused while a round is unresolved, processPlayerSelection on a resolved round, and changeBet mid-round; quitting mid-round cashes out.

Info panel: an "Odds & Prizes" slide lists every pick count with the odds of surviving that many picks and the multiplier it pays, highlighting the current round's row.

Recovery: an unresolved round on load shows the "game in progress" popup, restores the grid and revealed tiles, and resumes play with the banked cash value. A failed reveal or cash-out resumes the round the same way.

Autoplay: Number of Games, Turbo, Number of Tile Picks (1-7), Stop on Win / Loss, On Win / On Loss bet step. Picks random tiles, cashes out after the chosen picks.

History replay rebuilds the grid to the record's size and replays each pick. Dev menu: Maths Sim (1mil, current grid, autoplay tile picks).