IRL minesweeper render showing game on top of a campaign map

Meat-Space Minesweeper Game Hits The Mark

Hackers of a certain age will remember that before the Internet was available to distract us from our work, we had to find our own fun. Luckily, Windows was there to come to our aid, in the shape of “Minesweeper” – a classic of the age that involved figuring out/occasionally just guessing where a selection of mines had been hidden on a grid of squares via numerical clues to their proximity. For those missing such simple times, [Martin] has brought the game into physical space with his 3D-printed travel-game version.

GIF showing how to play IRL minesweeper game

A number of pre-determined game fields can be inserted (by a friend… or enemy, we presume!) and covered by tiles, which the mine-clearing player can then remove with their plastic shovel to reveal the clues. The aim of the game is to avoid uncovering a bomb, and to place flags where the bombs are hiding.

Aficionados of the game may remember that a little guessing was often inevitable, which sometimes ended in disaster. On the computer version, this merely entailed clicking the Smiley Face button for a new game, but in this case would require a new sheet to be inserted. Blank sheet templates are included for producing your own fiendish bomb-sites, and all the pieces pack away neatly into a handy clam-shell design that would be ideal for long car journeys when the data package on the kids’ tablets has run out.

We wonder what other classic games may lend themselves to a travel remake and look forward to the first 3D-printed travel set of Doom with anticipation!

If you’re above solving your own Minesweeper games, then you can learn how to write a solver in Java here. Continue reading “Meat-Space Minesweeper Game Hits The Mark”

How To Write Your Own Minesweeper Solver

minesweeper-solver

We think we have found project that will take over our holiday free time. [Bai Li] just published an excellent article about writing a program that can automatically solve the game of Minesweeper. For those of you who are unfamiliar, Minesweeper gives you a grid in which land mines have been randomly placed. As you click on boxes to reveal what is underneath you are greeted with a number which represents how many mines surround that box. [Bai’s] project examines how the puzzle may be solved programmatically.

He chose to use Java to write the solver. This works well both reading from the screen as well as simulating mouse clicks on the game. The reading portion of the program uses color detection with a screenshot. There were two problems associated with this, the numeral one is almost the same color as an uncovered square, and the numerals seven and three use identical colors. The input portion was much simpler as he’s able to use the existing Robot class.

The logic behind writing an efficient solver is very interesting. One of the most fascinating examples is shown above. What should you do when there is no possible way to ensure a safe move? As with traditional chess games, [Bai] has the solver calculate all possible solutions and choose the move that has the best odds of success.

His source code is available, but won’t this one be fun to hack out from the concepts alone? For some reason this seems more accessible to us than something like the Bejeweled Blitz solver.

Continue reading “How To Write Your Own Minesweeper Solver”