Live data from Hacker News

Kaboom: an unusual Minesweeper

pwmarcz.pl

61–70 of 71 posts

Re: Kaboom: an unusual Minesweeper

#61

Quote: "Recently, I had an idea: what if you had to play Minesweeper against the computer?" For me that statement means player 2 played by computer. What he actually implemented is not that. Which gave me the idea to actually do that. Same rules as classic one, you click, another human click (or computer player) - loser is the one who reveals a bomb. In case nobody blows up winner is the one who is last to flag corre…

There was a game a long time ago called "Minesweeper Flags" that was a 2-person minesweeper, except it worked in reverse. When it was your turn, you'd reveal a tile. If it's a mine, you get a point and your turn continues. If it isn't, your turn is over and now your opponent has more information because of the square you revealed. A great game that rewards following all the logic you have on the currently revealed bo…

I definitely played this variant on MSN messenger. IIRC that service only ever managed to get 4 different games.

Such a shame, it was a good "hey someone's online, let's play a game" paradigm, words(etc) with friends have a problem of waiting around for a long time and things fizzle out.

I guess we'll never really get back a "hey I'm online atm" immediacy situation

Re: Kaboom: an unusual Minesweeper

#62
post #6

Great read! It's in a similar vein as the variant I developed, which makes you declare that you are in a situation that requires a guess. I don't use an SAT solver, and I prepopulate the board. https://magnushoff.com/articles/minesweeper/ In comparison to the Simon Tatham version mentioned at the end of the article, my game allows all game configurations while Tatham's version guarantees solvability by restricting th…

I'm currently writing a minesweeper solver in my spare time and have a question about one section of your article.

Under the "Complete solution: Global reasoning" section, you say that the situation requires accounting for the entire game state - but I think my solver can do it without resorting to that?

Given

    .          a
    .2         bX
    .22   as   cYZ
    ....       defg
Then we have the constraints:

(X:) `abc` contains 2 mines.

(Y:) `bcdef` contains 2 mines.

(Z:) `def` contains 2 mines.

Which can be combined:

(X-a:) `abc` contains 2 mines so `bc` contains between 1 and 2.

(Y-(X-a):) `bcdef` contains 2 and `bc` contains between 1 and 2 so `def` contains between 0 and 1.

(Z-d:) `def` contains 2 so `ef` contains 1-2.

((Y-(X-a))-(Z-d):) `def` contains 0-1 and `ef` contains 1-2 so d contains 0 mines and can be cleared.

Have I missed something? Let me know if I haven't explained it properly.

Re: Kaboom: an unusual Minesweeper

#63
While playing this, I had an idea. What if marking the mine reduced the number of any number tiles adjacent to the mine? So the number tile would show the number of adjacent mines, minus the number of adjacent flags. Then you could work through the puzzle by bringing all the number tiles to 0, which might make certain situations more readily soluble.

Re: Kaboom: an unusual Minesweeper

#64

Earlier quoted context omitted.

Yes. I've always bemoaned the fact that people's first experience with the game is the one bundled in Windows. Because the player knows the game sometimes requires guessing, they never learn which situations actually require guessing and which are actually solvable; they just decide they need to guess because there is no number surrounded by the same number of empty squares, and never discover the math about possibil…

I learned on Windows and 1. Never guessed if avoidable, 2. If guessing always considered both odds and potential reward for each option, at least heuristically. I feel in this context for saying "never" you deserve to click a mine ;-)

> 2. If guessing always considered both odds and potential reward for each option, at least heuristically.

Same here. To add a pinch to this, say there are two regions of the visible board that must be answered by guessing. If one has 1-in-3 odds of failure, and the other has 2-in-3 odds of failure, then make the guess on the one with better chances.

Re: Kaboom: an unusual Minesweeper

#65
post #6

Great read! It's in a similar vein as the variant I developed, which makes you declare that you are in a situation that requires a guess. I don't use an SAT solver, and I prepopulate the board. https://magnushoff.com/articles/minesweeper/ In comparison to the Simon Tatham version mentioned at the end of the article, my game allows all game configurations while Tatham's version guarantees solvability by restricting th…

I'm currently writing a minesweeper solver in my spare time and have a question about one section of your article. Under the "Complete solution: Global reasoning" section, you say that the situation requires accounting for the entire game state - but I think my solver can do it without resorting to that? Given . a .2 bX .22 as cYZ .... defg Then we have the constraints: (X:) `abc` contains 2 mines. (Y:) `bcdef` conta…

It's been some years, but I think it boils down to the definition of when you are _considering_ some part of the game state.

Right off the bat, I cannot agree that abc must contain exactly 2 mines. From what we can see, abc contains _at most_ 2 mines. There may or may not be mines in what you have left out, and we cannot know without considering what's there.

I haven't written a formal proof for that statement, but I have been unable to solve it to my own satisfaction by reasoning about a reduced view of the board.

Re: Kaboom: an unusual Minesweeper

#66
post #8

Earlier quoted context omitted.

I wouldn't say it's "easier", since random chance of failure isn't a difficulty level, it's a lack of difficulty: Your gameplay has no effect on the outcome. If anything, this is Minesweeper as it should have been: A game of perception and deduction with no chance of random failure. As a huge minesweeper fan, I think this is fantastic.

Yes. I've always bemoaned the fact that people's first experience with the game is the one bundled in Windows. Because the player knows the game sometimes requires guessing, they never learn which situations actually require guessing and which are actually solvable; they just decide they need to guess because there is no number surrounded by the same number of empty squares, and never discover the math about possibil…

I would kinda like to see this approach (Kaboom) combined with Simon Tatham's version. Basically, add the guarantee that you can solve each one without guessing. Or, add instant death when you open a square that wasn't guaranteed safe to Simon Tatham's version. I think I would like that significantly better: I like the guarantee that each one can be solved, but I want to be punished when I incorrectly open a square that wasn't safe.

Re: Kaboom: an unusual Minesweeper

#68
post #22

In a similar vein: Cheating Hangman, once described as "an app that perfectly recreates the infuriating feeling of playing hangman with your older sibling who was definitely cheating and also knew way more words than you". https://cheatman.danq.me/ Implementation details: https://danq.me/2019/09/26/cheatman/

Thanks for the shout-out! Even though I know it cheats (and how) I still play against Cheatman sometimes; the challenge is to make guesses that force the computer to bisect its search space into two approximately-even subdictionaries rather than - as it would prefer - splitting the search space into a smaller (rejected) one and a larger (adopted) one. It means thinking-ahead by about as many steps as there are undiscovered letters in the word, but it's just-about doable!

Re: Kaboom: an unusual Minesweeper

#69
post #65

Earlier quoted context omitted.

I'm currently writing a minesweeper solver in my spare time and have a question about one section of your article. Under the "Complete solution: Global reasoning" section, you say that the situation requires accounting for the entire game state - but I think my solver can do it without resorting to that? Given . a .2 bX .22 as cYZ .... defg Then we have the constraints: (X:) `abc` contains 2 mines. (Y:) `bcdef` conta…

It's been some years, but I think it boils down to the definition of when you are _considering_ some part of the game state. Right off the bat, I cannot agree that abc must contain exactly 2 mines. From what we can see, abc contains _at most_ 2 mines. There may or may not be mines in what you have left out, and we cannot know without considering what's there. I haven't written a formal proof for that statement, but I…

Sorry, I left out some bits of the game state for conciseness - perhaps this is a better way of displaying it

    .---       a---
    .2--       bX--
    .22-  as   cYZ-
    ....       defg
Where:

. means unknown

- means clear (and in a real game would reveal a number and therefore a constraint, but we don't need to consider those numbers for this solution)

a number means clear and producing a constraint that we want to use

This mirrors the game state in the article, and would allow us to assert that abc contains exactly 2 mines, while still only having to consider a 4x4 section of the board.

Thanks for helping me with this btw, it's much appreciated :)

Re: Kaboom: an unusual Minesweeper

#70
post #22

In a similar vein: Cheating Hangman, once described as "an app that perfectly recreates the infuriating feeling of playing hangman with your older sibling who was definitely cheating and also knew way more words than you". https://cheatman.danq.me/ Implementation details: https://danq.me/2019/09/26/cheatman/

Hatetris (or whichever implementation of that idea came first) appears on this trail: https://github.com/qntm/hatetris On the topic of hang man, we played some on breaks at work. Eventually I figured that I could use some tool assistance that scored dictionary words according to their length, the overall frequency of the letters that appear in them, the number of times letters are repeated within the words etc. and f…

As far as I can tell bastet[1] goes back to 2004.

[1] http://fph.altervista.org/prog/bastet.html

Post reply on HN