# Minesweep > A modern, web-based Minesweeper game playable directly in the browser at https://minesweep.lol with no install. Features hardware-accelerated rendering, custom-shape minefields (rectangle, diamond, circle, plus, heart), seed-based reproducibility, and URL-shareable boards. Minesweep is a faithful reimplementation of the classic Minesweeper logic puzzle, with modern features that the original lacks: pick a board shape (heart, diamond, etc.), play a specific deterministic board by seed, share a board with anyone via a single URL. Plays cleanly on phone, tablet, and desktop with the same code path. ## Game - [Play Minesweep](https://minesweep.lol/): The main game. Single-page app, no account, no ads. - [Web App Manifest](https://minesweep.lol/manifest.webmanifest): Installable as a PWA from the browser. ## How to play - Tap (or left-click) a hidden cell to reveal it. The first reveal is always safe and on a 3×3 mine-free region. - Tap-and-hold (or right-click) to flag a suspected mine. Tapping again cycles the marker through 🚩 → ❓ → blank. - Numbers indicate how many mines touch that cell. Use them to deduce which neighbors are safe. - Double-tap (or middle-click) on a revealed number to chord — auto-reveal neighbors when the flagged count matches. - Reveal every non-mine cell to win. Hit a mine and the game ends. ## Features - **Five minefield shapes**: rectangle, diamond, circle, plus, heart. Cells outside the shape are inert. - **Seed-based games**: enter any number or word as a seed to play (and re-play) a deterministic board. - **Shareable URLs**: every board's seed and dimensions live in the URL hash, so a single link is the whole game. - **Custom dimensions**: 5×5 to 100×100, with mines clamped to keep the first-click safety guarantee. - **Difficulty presets**: Beginner (9×9, 10), Intermediate (16×16, 40), Expert (30×16, 99). - **Touch and keyboard**: pinch-zoom, pan, long-press flag, double-tap chord, plus arrow-key cursor with Space/F/C/R/M shortcuts. - **Dark mode**: pure-black background optimized for OLED displays. Auto-follows system preference. - **Best-time tracking**: per difficulty, persisted in localStorage. - **No accounts, no ads, no tracking** beyond a single self-hosted analytics ping. ## Technical - Pure static site (HTML + CSS + ~22 KB JS, ~10.6 KB gzipped). - TypeScript modules built with Vite. No runtime dependencies. - Canvas2D renderer with sprite atlas; pan/zoom via CSS transform so the GPU composites. - Game logic is pure-functional; ~70 unit tests in Vitest cover rules, shapes, and seed determinism. - Served by nginx behind a CDN; full security headers including CSP. ## Source and contact - Source code: hosted at git.root.rent (private). - Security reports: see https://minesweep.lol/.well-known/security.txt