Minesweeper on an infinite board
We want the game to be tiny, simple, and accessible. So we decided to make it on the web, with no dependencies other than the standard web API. That means we won't use:
- Any game engine (like Phaser or Unity)
- Any UI framework (like React or Vue)
- Any Canvas library (like Pixi.js or P5.js)
- Any preprocessor (like Sass or TypeScript)
Some other things we wanted to keep in mind:
-
📱 Mobile support is built-in. So the app must be:
- 📐 Responsive.
- 🚀 Fast enough to run on a mobile device.
- 🎮 Touch-friendly. (support both touch and mouse input)
-
✨ Decent, presentable graphics, animations, and UI.
-
📊 Clean, optimized, well-documented, heavily tested code.
Go to the website or clone the project and run the HTML file.
Desktop
- Click and drag to move
- Scroll the mouse wheel to zoom
Mobile
- Tap and drag to move
- Pinch to zoom
Actions
- Left-click or tap to reveal a tile
- Right-click to mark a cell as a mine
- Toggle between reveal and mark with the flag button
Earn points by revealing tiles without a mine.
☑️ Done | 🚧 In progress | 📌 Planned |
---|---|---|
2D infinite scrolling grid | PWA support | Record gameplays |
Randomly placed mines | High scores | |
Mobile support | Local leaderboard | |
Animations | ||
SFX | ||
Menu system | ||
Multiple game modes |
💡 May or may not be implemented
- Online leaderboards/multiplayer
- Seed based randomization
- Improve performance with WebGL/WebWorkers/WebAssembly (Rust/C++)
- Native desktop port with Rust and SDL2
This app is licensed under the AGPL-3.0 license.