Show HN: I made a live multiplayer Minesweeper game (minesweeperpro.com)

242 points by bluelegacy ↗ HN
Hi everyone! For several months now I've been stuck on the idea of a Minesweeper game that isn't just single player. This is what I came up with:

• Live games allowing several people to play at the same time

• Scoring system rewarding correct moves

• Grid size, mines count, and players count set to make games as balanced as possible

86 comments

[ 2.2 ms ] story [ 192 ms ] thread
> Scoring system rewarding correct moves

I felt this entirely undermined the stated goal. You didn’t make cooperative minesweeper but the exact opposite—competitive minesweeper—because despite playing in the same board you’re both competing for who is faster and can get more individual points.

True cooperation would be something like only one person being able to reveal numbers and the other only being able to place flags. Or each player having one turn at a time and all working together to not lose (currently a wrong move is nothing but a point loss, effectively removing consequences from the game).

Also, if it is possible at all, it wasn’t clear how to place flags on mobile.

This is a fair point! It is a competitive multiplayer minesweeper rather than co-op. but where everyone is rewarded for their correct contributions to clearing the board. I'm correcting the game descriptions related to this. Thanks!

Flag placements are touch & hold on mobile and right-click on PC.

btw, those flag placements are not working for me.
One person revealing and the other placing flags is a really nice twist — I'd love to see how that works in practice.
Alternatively, you could have the grid be a checkerboard. Player 1 can only interact with black tiles, Player 2 can only interact with white tiles.
Another cooperation approach - something like voting for each decision. E.g. majoriry must open a cell for it to really open.
Looks and plays awesome. I would love to do something similar. Do you have anything to share that documents your accomplishment that could help myself and others to get started into multiplayer gaming?
Not opp, but I built a real-time sensitive app for a few friends of mine and have to say I was really impressed by Firebase's realtime database. There were all sorts of issues around concurrency/first-mover that I had to deal with that firebase's implementation made it pretty straightforward to address.

If I were trying to copy the same thing opp did, that'd be the first place I'd reach if it were me.

Ok, that was fun. Pipped Ginko to the win by one point, they should've calculated the last square was a flag faster than I did.

It'd be cool to be able to put your own name in though, without signing in. Just a suggestion.

Can we have private matches? I've been playing usdoku with a friend and we could use a new game. That one allows private matches as well as public.
(comment deleted)
Care to share what tech you used? What worked well and what didn’t? What you wish you could do differently?
Far more addicting than I was prepared for. Nice work!
Feels a bit like those arcade game machines w high scores, no?
played as "birch", here's my first impressions and feedback

- my play style was definitely limited by the "2 actions per second" limit (I had to actively control my pace), and also disrupted by the info tooltip appearing over the cells I want to click when those extra fast clicks happen to be towards the bottom

- placing a mine counts as an action, which incentivizes farming hunting mines while letting others explore for you if you're aiming for points, this also is counterintuitive to how high-level minesweeper efficiency works (you usually ignore mines that are obvious to let the autofill work in the end to save time)

- I agree that the point system (especially the 2x round win bonus) steers the game towards competitiveness rather than cooperation

- mistakes, specifically left-clicking mines, could be more punitive: maybe outright switch the player to a different room if they "explode", which could encourage "safer" gameplay

- otherwise pretty fun! I think it's a solid foundation to build more modes and features on

Definitely agree on the left clicking of mines requiring something a little more harsh. Possibly a 2 mistake max before exploding you out of the game or maybe a cool down timer which doubles on each explosive error.
> counterintuitive to how high-level minesweeper efficiency works

Yep, once upon a time I was a reasonably fast player. All my best times (PB around 80 seconds on the large board) were done without flagging mines.

(comment deleted)
Cool twist on a classic! How did you handle syncing the game state across players in real-time—WebSockets or something else? Love seeing creative takes on old-school games like this
This is probably the first ShowHN where I wanted to see the app much more than see the discussion, well done!

I played with 2 other players and we quickly cleared the field!

The only thing I missed was a way to celebrate the victory with my fellow mine sweepers at the end.

Well done!

ps. I didn't really care about the competing, I was more curious to see if people would collaborate and trust each other or deliberate set mines off.

Our game reached an interesting stage where, I think, we were forced to guess. Cue a big pause until, eventually, someone was brave enough to take the plunge and, fortunately, we won :)
Enemy players should be able to lay mines in untouched regions.
how do you place a flag? can't seem to figure that out :)
right click
strangely does not work for me
You must do it on a mine. If you do it on a clear square it is revealed and you lose points.
Not sure if I was playing AI or not but we were both good, I got a 28 which was the higher score between us.

I am curious about the backend.

On mobile I couldn't make a mistake. Every tap was charitably interpreted as the correct action to take on that square whether it be flagging a mine or revealing empty space / numbers. I clicked every tile and never exploded a mine.
It seems like when you perform an incorrect action, it does the right thing but you lose points.
Game design suggestions for preserving the Minesweeper flavour (e.g. tension to not explode!) and to discourage random guessing: - Every time you explode a mine, you can't perform any actions for the next 5 seconds in addition to losing a few points. - Exception: for the first little bit (say 5-10 seconds, or until a certain percentage of the board is opened) no punishments for incorrect actions (maybe just scores, but don't allow scores to go negative). - Modify flagging to be private per-user information (don't provide any points for it) and allow undoing flags. As someone else mentioned, this keeps with the flavour of the original minesweeper where the goal is clearing; mines are automatically flagged at the end.
I felt like a good strategy was to react quickly to when other players revealed large parts of the board, and immediately mark the "obvious" mines in there even though I was looking at another part of the board. Though now that I think about it, marking those mines is just as much a "correct" move as revealing the numbers that come out of such marking activity, but I still have a sense that it is a quick way to gain a few points.
Feature request: allow the Windows 3.1 Minesweeper cheat code. But I guess you'd have to disable scoring or even participation if you allow this.
Delightful. I love the coopetetive aspect. I'd love to be able to send a game link to people I know. :)

... I naturally play faster than 2 moves per second sometimes.

There are a couple of cooperative multiplayer minesweeper games around -- of note is [1], which is an infinite (or very large) persistent minesweeper world where you can just start solving subsets of the board, and move up leaderboards, etc.

[1] https://m3o.xyz

that is such a peaceful experience... good stuff
You need to sign up to play it though. :(
You can play without signing up, just tried.
I get "Sign in to open and flags cells not adjacent to already opened and flagged cells".

Other than that, it does work, you are right.

This is actually way too much fun. Congrats!