← back to all projects
Project Icon

GeoMinesweeper

Play Minesweeper on some real world locations

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:

  1. Single Map - Play on individual maps with their unique terrain features

  2. 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

  1. Used Google Street Map data for terrain information
  2. Generated map images in retro game style using ChatGPT
  3. 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