Minesweeper Clone

From MinesweeperWiki

Jump to: navigation, search

Minesweeper Clone
Image:Minesweeper Clone logo.png

Screenshot of Minesweeper Clone 2007 release 1 showing the main window and some features.
Author: Rodrigo Silveira Camargo
Initial release: 0.1 beta (2004-01-30)
Latest release: 2007 release 2 (2007-03-22)
OS: Windows
Language(s): English
Genre: Minesweeper Clones
License: Proprietary
Website(dead): www.minesweeperclone.com
Download: www.minesweeper.info

Minesweeper Clone (sometimes simply called Clone) is a computer puzzle game written by Rodrigo S. Camargo (Brazil) in 2004. It is based on the original Microsoft Minesweeper, and, just like it, the objective of the game is to clear, as fast as possible, an abstract minefield made of a grid of squares, without detonating a mine.


[edit] History

Version 0.1 beta, Minesweeper Clone's first version. Also displayed is the options window.
Version 0.1 beta, Minesweeper Clone's first version. Also displayed is the options window.

Early in 2003, Rodrigo developed some interest in the game, and started playing Windows Minesweeper more seriously. After learning some initial techniques of solving boards with patterns, he realised that the process of solving a board is well-defined and could be transformed in an algorithm. This made him want to develop a program able to solve boards, i.e. a solver, and in order to accomplish this, he started writing a program able to calculate the probability of finding mines on each square.[1]

The real motivation to start writing Minesweeper Clone effectively came when Rodrigo saw, in the beginning of January 2004, the recently released clone of Minesweeper written by Curtis Bright (Canada), named simply Minesweeper (as of June 2007, the current version is named Minesweeper X). Rodrigo was impressed by the spotless similarity between Curtis' clone and the Microsoft version, and contacted him to show his probability calculator. While exchanging some e-mails, Rodrigo made such progress in his project that he, pushed by Curtis, decided to expand it and also write his own clone.

A few days later, Version 0.1 beta was released on January 30 and announced on the Guestbook.[2] Initial responses were somewhat positive and the program was received as having good potential by some players, initially by Dennis Lütken (Denmark) and then followed by Elmar Zimmermann (Germany), Stephan Bechtel (Germany), Lance Votroubek (USA) and others.

Scores and videos recorded using it were quickly accepted for the Active Ranking and for the Best Ever List after discussion on the Guestbook and some polls in Minesweeper Addicts. Contacts were soon between Rodrigo and Grègoire Duffez (France) (owner of the Planet Minesweeper site), whom, with the help and programming experience of his brother Benoít Duffez, developed many interesting integrations between the Clone and his site.[3] [4]

The development of the game is in continuous progression since then. Its look and features were improved dramatically, and today it is one of the most complete and most widely used Minesweeper versions, even by the great majority of elite players.[5]

[edit] Main features

[edit] Videos

The playback system of version 2007 release 1, shown here with many options turned on.
The playback system of version 2007 release 1, shown here with many options turned on.

The Clone arrived at a time when players recorded videos of their games using external programs like Camtasia, or the more advanced Recorder by Sorin Manea (Romania). Clone was the first version of minesweeper to have a built-in video recorder and player. This feature, which was included already in the first release, attracted great attention from players at that time and had a considerable contribution to its popularity.

In its initial form, videos were recorded directly to disk while the game was played at a rate of about 20 frames per second. Also, the playback had to be without interruption and the mouse cursor was only a simple yellow dot. Several improvements were gradually made as new versions were released, until the video record and playback system became an advanced feature, having the common video controls found on most kinds of media players as well as many post-game analysis tools, such as a speed multiplier and the ability to show the mouse path or to highlight the game's main events.

Among the main changes in the video system since the first release are, in chronological order: addition of a play/pause button, storage of the video in the memory before saving, improved security, addition of a video control window full of features, and recording at 100 frames per second. Enough changes were made during development of the game that videos recorded on the very first releases became incompatible with most recent ones, and thus unplayable. However, no major problems occurred as a result of this, like for example, loss of players' records, or even world records.

[edit] History window

An example of a graphic displayed in the History window, based on information from an average-sized number of games.
An example of a graphic displayed in the History window, based on information from an average-sized number of games.

At the time of the arrival of the Clone, Stephan Bechtel used to collect all his scores on http://www.stephan-bechtel.de, with statistics organized on very informative tables. These tables were the inspiration for inclusion of a feature able to display similar statistics automatically. Less than a month after the initial release, the History window was added to the Clone.

Initially it was a Notepad-like window, with few tables, written on plain-text lines, with contents extremely similar to Stephan's tables. In following releases, tables changed to an Excel-like style with proper cells. Data was displayed in graphics and a search function was added. Some players, however, make additional analysis on external programs using data acquired from the History window or exported from it.

All games played are stored in a history file named history.inf. Benoìt Duffez asked Rodrigo to instruct him on how to read the contents of the history file, and developed the Minesweeper History Addon [6], a script for the mIRC chat client which can read the history file and paste useful information directly into the client. Players normally meet on the IRC[7] channel to chat and play together, and his program showed to be very useful. He was also responsible, together with his brother Grégoire Duffez, for the inclusion of several automations on the Planet Minesweeper site, such as automatic updates of the Clone Ranking by players who directly upload their Clone history.

[edit] Multiplayer

From versions 0.9 beta to 0.96 beta, the Clone had a simple multiplayer feature. It was necessary to connect directly to an opponent by entering his or her IP address. After the connection, a window would appear with rudimentary game controls and a chat box. Both players could arrange the game settings and, when the online game was initiated, each player was allowed to see the opponent's board in real time.

Multiplayer games were always based on versus mode, i.e., one player would play against the other. Depending on the arranged settings before the game, players could compete to achieve the lowest sum in a given number of finished games, to be the first to achieve a given number of games finished in less than a maximum time, etc. It was also an option to have a limited time to complete the objective. Some players enjoyed using the multiplayer feature to learn, by observing how the other player cleared the same board, and would ignore the results of competition as irrelevant. In particular, Robert Benditz (Germany) was coached by Oliver Scheer (Germany) in this way.

The most recent versions of the Clone still have a Multiplayer Game option inside the main Game menu, indicating possible inclusion of this feature back into the game in the future.

[edit] The infamous 0.97 beta version

In October 2005, ten months after the release of version 0.96 beta, the next version, 0.97 beta, was released. It was a huge update in the game, with uncountable changes, including fully customizable graphics and tables in the history window, a more accurate video format, two new game modes, an installation program, and new game options. However, a few weeks after the release, while fixing minor bugs that were quickly reported, Rodrigo accidentally lost all the source files of the Clone.

As a result of this catastrophe, those bugs would never have the opportunity to be fixed. Most of these bugs were insignificant, but one of these bugs appeared frequently and annoyed users: on rare occasions, the program would crash exactly when a game was finished. Most players agreed that, although rare, this bug made this version unreliable, since nobody wanted to risk losing videos of their records. Some players decided to continue using the previous version of the Clone.

At that time, version 0.97 beta got known both for its innovative new features and for this bug. Interestingly, even though the following versions of the Clone (which had to be completely re-written) fixed all previous bugs, there are still players using version 0.97 beta actively.[8]

[edit] How the source files were lost

One of the new features of version 0.97 beta was the ability to quit completely as soon as cheating software was detected. Clone used the caption of their windows to detect their presence and quit. A few days after the release, Rodrigo received a bug report from Wee Pin Yeoh in which she complained that the Clone window was closing without explanation as soon as the first click on the board was made.

Rodrigo knew Wee Pin had a good reputation that indicated she was not cheating, so he assumed there was something wrong with this feature. He then started working on this problem, and while testing he had to trigger the automatic quit several times, to observe what could be going wrong. As the Clone window captions to detect the names of the cheating software, Rodrigo decided to simulate the presence of one by creating a folder with the name of one of them, and selecting it on Windows Explorer. This way the folder name would appear in the caption of Explorer's window, and the Clone would "think" a cheating software had been loaded, and suddenly quit.

After many tests, several folders were created and deleted. While deleting one of these folders, a misclick made Rodrigo select the entire source code folder and delete it. Completely shocked, he left the computer and posted on the Guestbook telling what had happened. In the next few days, he tried to use some recovery software, but the main parts of the source code could not be recovered, and the Clone had to be rewritten.

Rodrigo even had difficulty sleeping that day, and felt demotivated about the Clone in the three months following this incident. But in December 2005, he started working on the next version, 2006 release 1, and it was released in April 2006. This version was an even greater improvement in the game than 0.97 beta had been.

[edit] Current status

The current version of Minesweeper Clone is 2007 release 2, released on 22 Mar 2007. It is written in Visual Basic 2005, unlike versions prior to 2006 release 1, which were written in Visual Basic 6. This required the current version to use the Microsoft .NET Framework 2.0.

An almost complete list of features, taken from the game's website is:

  • Everything found on the original Minesweeper.
  • Can generate large boards.
  • Can generate high mine density boards.
  • Measures time in thousandths of second.
  • Enables to save and load videos of games, so that you can watch any game again.
  • Enables to save and load boards of games, so that you can play any board again.
  • Records all finished games in a history file.
  • Displays a huge amount of graphics and tables from the history file allowing analysis of any aspect of your progression and performance.
  • Fully customizable counter windows that display many indexes of the game, giving any information you may want to know about the game.
  • Enables creation of custom indexes based on any game parameter in a very simple and intuitive way. Perfect for those who like to search for better game indicators.
  • Allows videos to be saved automatically if they match user-defined criteria, saving considerable time and avoiding accidental loss of your best videos.
  • Can be configured to give custom names to video files using parameters of the game, so that they can be more easily identified.
  • Has a complete table of buttons with indexes to assist in typing formulas, conditions or file names.
  • Has an extensive high scores window that displays several types of records as well as non-flagging records.
  • Enables creation of custom high scores with the option of disabling the existing ones.
  • Offers four game modes: Classic, Density, UPK and Cheat.
  • Has three built-in skins.
  • Has ability to reveal the board under the squares after games or during Cheat mode.
  • Has ability to edit postitions of mines manually during Cheat mode.
  • Detects and points out the important events of videos, allows jumping the video playback directly to the moment of the desired event.

[edit] Criticism

The main criticism about the Clone is the fact that it requires the prior installation of .NET Framework to run. Even though download of the .NET Framework is free and there is other software using it, some people find the download annoying (~ 40 MB) only for use of the Clone. This makes the Clone not portable, i.e., it is not very easy to carry a copy to other public computers, play it, save the game, and keep the copy for later use on other public computers. This is because public computers usually allow only administrators to install software, not regular users.

Some people have also complained that the Clone won't run very well on older computers, because the general performance can get slower with the installation of the .NET Framework or because the Clone might run slower due to its memory requirement.

The author of the Clone has already showed interest in releasing a parallel, "light" version of the Clone in the future, able to solve both problems.

[edit] Trivia

  • Minesweeper Clone has never had a final version. After more than 40 releases, all of them remain beta.
  • Minesweeper Clone has never had an "Easter egg".
  • The best time on the Clone by the fomer world record holder on the expert level, Lasse Nyholm (now retired), is 42.31 seconds on 21 Jul 2004.[9] At that time he held the world record of 41 seconds on Winmine.
Personal tools