Anonymine - guess free minesweeper

Above images are not actual screenshots.
Both are released by me under CreativeCommons Attribution (CC-BY 4.0)


To top of the page

Anonymine is the "anonymous minesweeper" as I never had any name for it, but I think "Anonymine" works just fine.

Anonymine is a curses mode minesweeper that checks if the fields actually are solvable with only deduction. This means that no guessing will be required, and that the only way to lose is by making a mistake.

And being solvable without guessing is not its only feature, it has many other unusual or even unique features: the games are fully customizable and Anonymine seems to be the only minesweeper with von Neumann neighbourhoods.

For each game you can set the field type (normal / hexagonal / von Neumann), width, height and number of mines, only restricted to certain minimums and security limits (to avoid igniting your computer).

If you're interested, the minesweeper solver algorithm is in its own Python module and can be used for other purposes than to play Anonymine. It contains features that are rather useless for the game such as measuring difficulty. I started wondering "How do you solve a minesweeper systematically?" in late 2015 and created the algorithm before I realized I could be used in a game.

The supported field types/game types are:

Von Neumann neighbourhoods

I have never seen another minesweeper that can have fields with von Neumann neighbourhoods. In a von Neumann neighbourhood, each cell/square has only four neighbours, at the edges but not at the corners.

The biggest number you'll ever see is 3. But that doesn't mean it's easy, it's quite the opposite actually.

Traditional fields with Moore neighbourhoods

Like any other minsweeper.

Hexagonal fields

Every cell is a hexagon and has six neighbours, (with obvious exceptions). This mode has separate key bindings because there is no single "up" and single "down" direction.

More features:

It works quite well on (unbelievably) small terminal screens. The minimal resolution for the traditional and the von Neumann gametypes is 7 columns by 4 rows, and for the minimum for the hexagonal gametype is 10 columns by 8 rows.

It also looks fine on monochrome terminals.

Even the losers can get on their very own highscores table.

What's new?

To top of the page

  • NEWS is updated once in a while and lists the bigger changes.
  • Check the ChangeLog for information about every single release.
  • RELEASE-NOTES lists may be worth reading if you're planning to modify Anonymine, change the configuration or use some of the internal parts.


To top of the page

You can contact me at in pseudo-reverse, or root@localhost if you are a three-eyed fish.

Like all of my software, Anonymine too, is FOSS and released under the 2-clause BSD license.

You can get the latest release or an up-coming release from my Github repo.

You can also try it over SSH. Log in as port 2222, no password is required.

If you find any bugs, please mail me or create an issue.


To top of the page

You can send questions to in pseudo-reverse, or root@localhost if you are a three-eyed fish.

How can the game always be possible to win?

It contains an algorithm that will try to solve the game before you see the field. If the field can't be solved, a new will be randomized, and if it can be solved, the algorithm will tell the game where to place the mines.

What are the losers' highscores?

Normally you'd have to actually win a game to get on the highscores, but not Anonymine: If you come close to winning but fail, you'll get on a highscores table designated for the losers who can't win an unlosable game.
Both the count of mines left and the time are factors for the rankings.

Is Cygwin required for the Windows version?

Let's just say that it makes things a whole lot easier. Without Cygwin, you'd have to:
  • Install a Python interpreter
  • Install the game modules in a proper location
  • Create a shortcut to the executable which also specifies the -e and -c command line options.
  • Find a curses module. (This may be the most difficult part)
  • And all the things I forgot to mention

Can I change the colors?

You can edit the "cursescfg" configuration file, which specifies what characters should be displayed for what items on the screen and in which color.

How does the algorithm work with the different games (modes/fieldtypes)?

The solver operates on a network of cells connected to all of their neighbours. It is completely unaware of the concrete visual representation of the field.

Can it play a real game for the user?

No, but there are some demos in the test module. They don't look pretty, but they'll show the algorithm in action.


To top of the page