Anonymine - guess free minesweeper
Latest version: 0.6.26 - what's new
- About
- Download (Linux & Unix, macOS, Windows, Haiku OS)
- What's new?
- Screenshots
- (Most frequently) asked questions
- Platforms
You can try it on my demo server using SSH.
Log in as play@anonymine-demo.oskog97.com,
password is "play".
Leaderboard for
public demo server
About
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
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.
GNU/Linux, macOS, *BSD, and other unix-like operating systems
Windows
There are a few options:
- Automatic Cygwin and Anonymine installer
- Already having Cygwin installed
- Install Python and windows-curses (Not recommended)
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.
Install Python and windows-curses
It is possible to run the unix version with some limitations.- Instructions, only the first section is relevant
- You can download as a zip from Gitlab.
If you already have Cygwin installed
The unix version can install desktop and menu shortcuts from Cygwin on the Windows desktop. It requirespython3
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.
What's new?
- Release notes
-
0.6.22 - check-install-cfg is smarter now - If you have modified cursescfg you may want to check what updates 0.6.20 brought, previously check-install-cfg would have FORCED you to update. 0.6.20 (BROKEN for new installs, fixed in 0.6.21) - Significant changes in cursescfg. Old configuration file is still compatible, but most changes of this release is in that configuration file. - check-install-cfg can't properly check compatibility, run ./configure skip-check-install-cfg=true if you want to keep the old cursescfg and assume it works. 0.6.19 - Fix issue 32 and 33 - Fix 33 will prevent you from setting ONLY the -c option when used over an SSH connection. Simply add another option or run `SSH_CLIENT= anonymine -c path/to/cursescfg` - From now on, configuration files MUST NOT be modifiable by group members even if group ID is zero. 0.6.18 - Changes to configure.py. Make sure to run 'make uninstall' before running './configure'. - Known regressions: PyPy on OpenBSD 6.4-ish (pretty old) - Fixed the symlinks script, previously it failed to delete broken symlinks. - [MacOS]: Can now use both mouse and numpad. - [Haiku]: 0.6.17 adds icon on the launcher.
- 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
- Low level changes
Screenshots
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
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
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
orTERM=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.