Minesweeper (computer game)



Minesweeper is a single-player video game. The object of the game is to clear an abstract minefield without detonating a mine. The game has been written for many system platforms in use today, including the Minesweeper for the Windows platform, which has come bundled with versions of the operating system from 3.1 and on.

Overview
The player is initially presented with a grid of undistinguished squares. Some randomly selected squares, unknown to the player, are designated to contain mines. Typically, the size of the grid and the number of mines are set in advance by the user, either by entering the numbers or selecting from defined skill levels depending on the implementation.

The game is played by revealing squares of the grid, typically by clicking them with a mouse. If a square containing a mine is revealed, the player loses the game. Otherwise, a digit is revealed in the square, indicating the number of adjacent squares (typically, out of the possible eight) that contain mines. In typical implementations, if this number is zero then the square appears blank, and the surrounding squares are automatically also revealed. By using logic, the player can in many instances use this information to deduce that certain other squares are mine-free, in which case they may be safely revealed, or mine-filled, in which they can be marked as such (which, in typical implementations, is effected by right-clicking the square and indicated by a flag graphic).

In some implementations, a question mark may be placed in an unrevealed square. This has no meaning in the rules of the game, but can serve as an aid to logical deduction. Another convenience feature present in some implementations is an interface to quickly clear around a revealed square once the correct number of mines have been flagged around it. The game is won when all mine-free squares are revealed, meaning that all mines have been located.

Some implementations of Minesweeper will set up the board by never placing a mine on the first square revealed, or by arranging the board so that the solution does not require guessing. This approach was highlighted on the G4 television show Cheat!.

History
The basic gameplay style became a popular segment of the puzzle game genre during the 1980s, with such titles as Mined-Out (Quicksilva, 1983), Yomp (Virgin Interactive, 1983), and Cube. Cube was succeeded by Relentless Logic (or RLogic for short), by Conway, Hong, and Smith, available for MS-DOS as early as 1985; the player took the role of a private in the United States Marine Corps, delivering an important message to the U.S. Command Center. RLogic had greater similarity to Minesweeper than to Cube in concept, but a number of differences exist:
 * In RLogic, the player must navigate through the minefield, from the top left corner to the bottom right corner (the Command Center).
 * It is not necessary to clear all non-mine squares. Also, there is no mechanism for marking mines or counting the number of mines found.
 * The number of steps taken is counted. Although no high score functionality is included, players could attempt to beat their personal best score for a given number of mines.
 * Unlike Minesweeper, the size of the minefield is fixed. However, the player may still specify the number of mines.
 * Because the player must navigate through the minefield, it is sometimes impossible to win &mdash; namely, when the mines block all possible paths.

The gameplay mechanics of Minesweeper are included in a variety of other software titles, including:
 * The mini-game Vinesweeper implemented into the MMORPG RuneScape; in this iteration (written by Jagex developer Danny J), the Minesweeper gameplay is given a large multiplayer aspect and the 'game board' adopts a continually resetting timer. This allows for a never-ending game of Minesweeper where the skill is awarded assessed in points rather than 'game completion'.
 * The PC game Mole Control (developed by Remode); in this game, the minesweeper mechanic is integrated into a puzzle adventure game based in a village called Molar Creek, which has been overrun with exploding moles. You play the local inventor's assistant, who is tasked with clearing the village of exploding moles, and you can also take part in the Molar Creek Annual Mole Control competition in a Time Attack Mode.

Distribution and variants
Versions of Minesweeper are frequently bundled with operating systems and GUIs, including Minesweeper in Windows, KMines in KDE (Unix-like OSes), Gnomine in GNOME and MineHunt in Palm OS. Apart from the bundled versions, a huge number of clones of all shapes and sizes can be found on the Internet.

Variants of the basic game generally have differently shaped minefields in two and three dimensions, or various 2D layouts (such as triangular or hexagonal grids). For example, X11-based XBomb adds triangular and hexagonal grids, and Professional Minesweeper for Windows includes these and others.

A minigame in Sonic Battle is essentially a variation of Minesweeper.

The Voltorb Flip game in the non-Japanese releases of Pokemon HeartGold and SoulSilver is a variation of Minesweeper and Picross

Patterns and solving
There are many patterns of numbered squares that may arise during a game that can be recognized as allowing only one possible configuration of mines in their vicinity. In the interest of finishing quickly, it is often easiest to process the known patterns first, and continue on with the uncertain parts later. There are a few broad methods for solving problems in minesweeper games without guessing.

Single-square analysis
There are two special cases that are of extra interest when solving a board that can be solved using analysis of only one square and its surrounding squares:


 * If the number of unrevealed (blank or flagged) squares adjacent to a numbered square is equal to the number on that square, all these unrevealed squares must be mines.


 * For any numbered square, if the number of mines located adjacent to that square is equal to the number of the square, all other squares adjacent to that numbered square must be 'safe' (e.g. If you know the square to the right of a 1 is a mine, then you can deduce that all the other squares next to that 1 do not contain mines.)

Multiple square analysis
To solve more complex puzzles, one needs to consider more than one square at a time. Some strategies that involve considering more than one number at a time:


 * If you have two adjacent numbers, the difference between those numbers is equal to the difference in the number of mines for the 3 squares adjacent to each that are not adjacent to the other number. For example: if these numbers differ by 3, all of the adjacent squares to the higher number not shared by the other are mines, and all the opposite ones are safe.


 * In a similar method, sometimes it can be known that there are a certain number of mines in a certain number of squares (without necessarily knowing which are the mines and which are safe) and you can often utilise this information to find out information about other squares.

One method that is commonly used by minesweeper AIs is to consider the board as a constraint satisfaction problem.

The variables/unknowns are the unopened squares, and the constraints are the adjacent squares that are opened. The algorithm consists of trying every combination of mines that satisfies all the numbers in the adjacent squares, and making a conclusion from there. For large puzzles, this is a time-consuming process for a computer, but expert minesweepers might be able to quickly see which squares need this procedure, and where one might expect it to succeed. The two rules above are such special cases.

Example: A corner square and the 3 adjacent squares have been opened, and the numbers given revealed. The letters here are unopened squares and they are the variables.

Blindly trying every combination gives the 4 valid configurations (out of 25), namely $$\{a,b,c,d,e\}$$ = $$\{1,0,1,0,0\}$$, $$\{0,1,1,0,0\}$$, $$\{1,0,0,1,0\}$$ and $$\{0,1,0,1,0\}$$, where 1 represents a mine.

The only common number in all these configurations is that the variable e is never a mine. The conclusion is that in all possible valid configurations, e is safe, and one can safely open that square. Analogously, if a square is marked as mine in every valid combination, then the square must be a mine.

One can also think of this as a system of equations, where the variables must be in {0,1}. In the above example, the constraints gives that a+b=1, c+d=1 and a+b+c+d+e=2. The third equation can be reduced to 1+1+e=2 and hence the square e must be safe. This strategy is more similar to the human approach, but is harder to implement as a computer program.

Final analysis
Used at the end of a game, this can be used to clear a square when all other squares on the board are either safe or can be shown to be mines. Often these final squares are on walls or in corners.

In some versions of the game the number of mines on the field is known. Near the end when almost all the tiles are lifted, knowing the number of mines remaining can give some insight to otherwise unresolvable patterns.

Elements of guesswork
In most implementations of Minesweeper, it is possible for a grid to be generated which cannot be solved without an element of guessing. For instance, in the following situation:

The player must guess whether or  is the mine.

The constraint satisfaction problem above might help a little to estimate the likelihood that a square is a mine; list all the valid combinations and count how many times each square is occupied by a mine. If the density of mines is known (or estimated during the game), the player can pick the square that is least likely to contain a mine.

Another apparent instance of required guessing is when an unrevealed square is completely surrounded either by mines, or by (more commonly) a combination of mines and the perimeter of the game window. In this case, since no numbers touch the unrevealed square, a player has no information about the likelihood of the unrevealed square being a mine. However, there is still a good strategy when facing this situation that will allow the player to avoid simple guessing: simply play the rest of the game and ignore this square. When the number of unrevealed, unflagged spaces left equals the number of mines left unmarked, then all remaining spaces are mines. Some versions may automatically flag these spaces once all other squares in the game window have been unrevealed by the player, or reveal them once all flags have been placed.

Computational complexity
In 2000, Richard Kaye published a proof that it is NP-complete to determine whether a position in a Minesweeper game is consistent with some placement of mines.

Measuring board difficulty
The difficulty of a given minesweeper board is often measured using the 3BV measure (abbreviated from Bechtel's Board Benchmark Value).

Method
The 3BV of a board is the total count of: For example, in the illustrated example, there is one opening (shown by white borders) and there are seven further numbered squares (green dots), giving a 3BV rating of 8. Equivalently, it is the minimum number of clicks required in typical implementations to reveal all of the mine-free squares.
 * openings of the board, i.e. regions of orthogonally or diagonally contiguous squares having no neighbouring mines, together with the immediately surrounding numbered squares
 * numbered squares that are not part of any openings.

3BV/s
3BV/s stands for 3BV per second.

Because the time that is needed to finish a Minesweeper board depends highly on the difficulty of the board, it may not be the best way to compare records. 3BV/s on the other hand does consider the difficulty of the Minesweeper board as well as the time needed to finish it. Among the best Minesweeper players, 3BV/s records are not nearly as important as time records, but they give a picture of how fast someone can play with regard to mouse-handling.

If flags are marked, it is possible to require fewer clicks than the 3BV of the respective board. Using only left clicks is called non-flagging (nf) whereas marking mines with right-clicks is called flagging-style.

In popular culture
CollegeHumor made a fake trailer for Minesweeper - The Movie.

In season 5, episode 16 (The Blood Drive) of The Office, Jim Halpert says: "I have a lot of work to do this afternoon. Those mines aren't going to sweep themselves."

In the song "White & Nerdy," "Weird Al" Yankovic raps, "I'm a wiz at Minesweeper; I can play for days." The music video for the song also features footage of a game of Minesweeper in progress.

Criticism
In 2001, the Italian "International Campaign to Ban Winmine" voiced strong concern over the game, contending that it is an "offense against the victims of the mines" and those who risk their lives to clear them. They created their own "Winflower" game, and lobbied Microsoft to use it in place of Minesweeper in Windows 98. As a reaction to this criticism, the version of Minesweeper included in Windows Vista and Windows 7 offers a mode in which the mines are replaced with flowers.