Anonymine - guess free minesweeper

Latest version: 0.6.15 - what's new

You can try it on my demo server using SSH. Log in as play@anonymine-demo.oskog97.com on port 2222, password is "play".

About

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 (console) 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 grids.

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 playing 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 and then realized it could be used in a game.

The supported field types/game types are:

Von Neumann grids

I have never seen another minesweeper that can have fields with von Neumann grids. In a von Neumann neighbourhood (grid), 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.

Traditional fields with Moore grids

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 looks almost fine on monochrome terminals.
  • Even the losers can get on their very own highscores table.
  • There are cheat codes. They're not useful, but will be a challenge to crack.

Download

To top of the page

NOTE: Not for smartphones and tablets.
It may possible to play the game from a phone using remote access.

Linux, macOS, unix-like, Windows, Haiku

Anonymine is free and open source software released under the 2-clause BSD license. You can either download tarballs from my site or clone it from GitLab.

Archive of all released versions

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

Windows

There are a few options:

  • Automatic Cygwin and Anonymine installer
  • Already having Cygwin installed
  • Install Python and windows-curses (Not recommended)

Comparison of options

Automatic Cygwin installer

Install-as-normal-user.bat on Windows 10 should work fine. The admin version is known to have some problems, and also other versions of Windows.

Downloads:

Install Python and windows-curses

It is possible to run the unix version with some limitations.

If you already have Cygwin installed

The unix version can install desktop and menu shortcuts from Cygwin on the Windows desktop. It requires python3 and make to be installed.

Using PyPy instead?

  • PyPy is not available on Cygwin
  • windows-curses does not work on PyPy, but I made an experimental replacement that barely works. It's way too much of a hassle to install to recommend though.
Somehow, multiprocessing works on PyPy 2.7, so that's a plus.

Haiku

Download the unix version from above or git clone https://gitlab.com/oskog97/anonymine.git directly in Terminal.

What's new?

To top of the page

Release notes
0.6.10
    - enginecfg updated.  Altered configuration files should still work.
      See 'enginecfg.built' produced by running 'make'.

0.6.8
    - Huge redesign of the build system.  Things may be broken on some system,
      but the next release should be nice.

0.6.6 [Haiku]
    - Turned off autorefresh in cursescfg.  See 'doc/INSTALL.Haiku' for details.
      Will now install launcher on the desktop.

0.6.3 (Update from 0.6.2 or lower to 0.6.3 or higher)
    - `make` can't regenerate Makefile on the first try.  Run ./configure first
      or run make twice.  (Or don't be lazy and follow the instructions in
      doc/INSTALL.txt)

See the rest of the file on Gitlab

Bigger changes
What's new in 0.6.0 since 0.5.0?
================================

2022-01-02

It is now exactly six years since the first ever release.

Improved platform support:
    - Windows supported natively (0.5.6, improved 0.5.32)
    - Can now install on Haiku (0.5.22, improved 0.5.31)
    - Works better on macOS than before
    - Installs desktop shortcuts on Cygwin (0.5.34)
    - Fixed curses problem on NetBSD (0.5.27)

Updates:
    - Cheat codes: Not a useful feature, but a challenge to crack.
    - Processors are now counted during run-time (since 0.5.18)
    - Deal with some curses issues. (0.5.18, 0.5.27)

Dropped support for:  (0.5.17 is last supporting version)
    - Python 2.6
    - Minix

See the rest of NEWS on Gitlab

Low level changes

See ChangeLog on Gitlab

Screenshots

To top of the page


The von Neumann field: The biggest number you'll ever see is 3. This mode makes Anonymine a unique minesweeper. (Attention mode has been enabled to find the last few cells.)


Traditional (Moore) field, nothing special


Hexagonal field


The losers' highscores

FAQ

To top of the page

Send new questions to: oskar@oskog97.com.

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.

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.

Platforms

To top of the page

Check the readme and installation instructions for more details.

Tested on

Here's a list of various platforms Anonymine has been tested on. It works on all of them unless I say otherwise, but there may be some minor issues.

Windows: w/ Cygwin
No issues once installed. My automatic Cygwin and Anonymine installer may be a PITA.
Windows: Natively (with CPython + windows-curses installed)
Works since 0.5.9 (from tarball) / 0.5.6 (from GitLab)
Can only utilize one CPU core.
Windows: Natively (with PyPy + Pööp curses)
Pööp curses lives up to its name, I would not recommend it. But amazingly, PyPy 2.7, can utilize all CPU threads.
macOS
0.5.32 or newer recommended. Can't change the title bar properly or even close the terminal window after exit.
GNU/Linux
Tested on: Debian, Fedora, Manjaro, Mint, OpenSUSE, Ubuntu
0.5.28 has fixed a few issues
*BSD
FreeBSD
Installs and runs fine
OpenBSD
No color on virtual consoles by default, use TERM=xterm or TERM=linux and just refresh the screen (press any unbound key) whenever it glitches.
NetBSD
No mouse support
DragonflyBSD
Ok
Haiku
Mostly fine, no mouse support
OpenIndiana (OpenSolaris fork)
Requires using GNU Make (gmake) to install and old versions might not install.
GNU/Hurd
Tested on Debian GNU/Hurd snapshot 2021-08-12.
Minix
Some older versions work. And newer versions work on 3.4.0rc6 if multiprocessing could be imported.