
Overview
Play Classic Minesweeper on real world maps. Instead of a traditional rectangular board game, you experience the feeling of "sweeping mines" on actual terrain and geographical locations on a map.
The game incorporates geographical features. For example, in a region where sea and land intertwine, you only sweep mines in the sea areas.
Features
The game has two play modes:
-
Single Map - Play on individual maps with their unique terrain features
-
World Map - Territory conquest mode. Whoever clears a cell on the world map fastest gets to place their flag to mark ownership
Gameplay features:
- Progress Sharing - Save and share your progress (e.g., invite others to continue solving)
- Replay - Review your gameplay and strategy
- Annotation - Combine with Replay to support explaining your moves while playing
- Mobile Support - Full touch mode support for mobile devices
Why I Built This
Inspired by a real-world event at the Strait of Hormuz where Iran laid mines across the strait to block shipping traffic, I realized the concept was similar to Minesweeper. I built this game as a simulation of that scenario, then expanded it to include other geographical locations.
How I Built This
Game Engine
- Started with the core Minesweeper game engine
- Added server-side authorization to prevent cheating (clients don't have board data)
- Implemented socket protocol to manage client-server communication
Map
- Used Google Street Map data for terrain information
- Generated map images in retro game style using ChatGPT
- Built a map builder tool to configure parameters like map size, mine count, terrain alignment, and playable cells based on the actual terrain
Other Tools
-
Play Data Analysis - Every user action is recorded and analyzed to detect cheating patterns. A behavioral analysis system identifies suspicious patterns. Users can be blocked or leaderboard results can be voided if cheating is detected
-
Board Reconstruction - Reddit users often post incomplete board screenshots asking for solutions. I built this feature to help players solve puzzles directly in-game instead of relying on image-based guidance
Tech Stack and Tools
Tech
- Frontend: React, Next.js, Tailwind CSS/Shadcn, Canvas drawing, CSS animation
- Backend: Next.js API, Node.js & WebSocket for game server, PostgreSQL for user data and leaderboards
Tools
- ChatGPT for map generation
- Figma for icon design (mines, flags, digits)
Publish Stats
First month in the wild:
- 1,800 active users
- 5,000 games played - roughly three games per user.
- 5% ads clicks (for reviving)
feedback
- redditOrionStardew
Fun fact if you play this in Cambodia you are saving a rat some trouble
- redditLama_Is_Delulu
Wait, this kinda fun actually
- redditAppropriate_Code_476
I think it could be more interesting if you made the boards different sizes for each country
- redditIam_so_Roy_Batty
I tried the black sea as well. I think I have to read a faq or two. Wasn't sure where some of the boxes on corners were linked to. Very cool. Now to take it a step further you ought to have random gifs for lost games.An oil tanker, destroyer, pleasure boat sinking.And for landmines guy hopping off with one leg or a rat(they trained rats to find landmines), or other such.Just the odd side of my mind.