A great freeware (formerly Postcardware) puzzle game in the spirit of Tetris (addictiveness and all).
Platform: Windows (ports and clones available for Mac OS, Java, MS-DOS, PalmOS, TI-85 Zshell, and
Aka: Blocks, Same Game (ksamegame for KDE), Clicks, Xblock, etc.
Released / programmed by (this specific version): Matthias Schüssler
Clickomania! is a Windows (written in Delphi) version of a popular blocks game that has been around for ages. I'm not sure what
the original was called, but Clickomania! has quickly become the most popular version available on the net. Many ports also call
themselves "Clickomania!" but the first of the genre to be called "Clickomania!" was written by the German programmer Matthias Schüssler. This game can also be seen in
many countertop video game systems at bars and billiards halls.
The premise is simple: take a two dimensional grid and fill it with pseudorandomly colored (or texture-mapped) blocks. The
more possible colors, the more difficult the game is (five colors is a good average for a board with around 150-200 blocks total). The
object of the game is remove all of the blocks, by clicking on groups of contiguous blocks of the same color. An example is given
below, using ASCII characters to represent different colors:
Consider the very top row. Clicking on either of the "#" signs that are horizontally adjacent would remove these from the field,
along with the "#" immediately below the first "#" in the upper row (as it's vertically adjacent). You'll notice that on the bottom row
there are also two horizontally adjacent "#" signs. Clicking these would remove them from the field, and then the blocks above would
shift downward to fill the space created. Similarily, removing an entire column of blocks results in the rest of the blocks shifting
together to fill that space. "Contiguous" in this sense means horizontally or vertically -- diagonals don't count (and for a
good reason, the game would be rather pointless).
Clickomania! for Windows defaults to a 10x16 playing field with five colors. Removing all of the blocks is actually quite difficult
without playing for quite some time, although I'm sure there are plenty of savants out there. Detractors say that the game is
essentially a random click-frenzy, because there is no single effective strategy. I tend to disbelieve this, as in a sitting, I
find myself getting progressively better and faster as I play. It's fun to try to play the game as quickly as possible, as you begin to
develop a subconscious approach to the problem that isn't quite easy to describe, but obviously works.
Clickomania! has two scoring modes; low score and high score. In "low score" mode, the game weighs the number of blocks
remaining as the ultimate measure of success; so eliminating all of the blocks would place one at the top of the score list. "High
score" mode weighs huge plays instead -- you can end up with twenty blocks remaining, but if you removed enough enormous
contiguous block chunks, you could still end up at the top of the list. Playing in one mode gradually undermines your ability to play in
the other, unless you become a total bad-ass and embrace the tao of Clickomania! scoring.
Personally, I wish there were more scoring modes, or a more comprehensive scoring system that weighs in blocks remaining,
high scores, elapsed time, and difficulty. For this reason, I've embarked on writing my own Clickomania! clone, which uses a simple
database with SQL queries to quickly sort scores in such a manner. Clickomania! is highly customizable, allowing background
pictures that gradually reveal themselves as you play (Pr0nomania!), various levels of difficulty, and the ability to undo your moves all the way back to the beginning of a game (if
the game ends and you try to undo, it first gives you a warning as to the ethical dilemma of tainting the high score list). It also has a
special blocks mode with rockets, nearly indestructible rocks, and bombs (I don't like it too much myself). One thing that really
annoys me about Clickomania! is that even when game sounds are turned off (as I prefer it), the game plays a Windows default
sound every time you accidentally click on a single block with no contiguous blocks of the same color. This gets kind of annoying, so
I e-mailed the author and he insisted that I should just turn off my Windows sound scheme since newbies need the "Ding" whether
they want sounds or not.
As that kind of peeved me (along with the fact that the game could have some really fun competitive scoring systems incorporated,
and the fact that the sounds aren't customizable), I've been driven to best Clickomania!, but it will take quite some time to make it as
customizable and fast as his version. The most difficult part of writing the game was the "contiguous block checker code." To
understand why, try to imagine coming up with a way of checking for adjacent blocks of the same color, and then checking all of those
adjacent blocks (if there are any), and then checking their adjacent blocks, and so on, without recursion (inevitably I got a stack
overflow using recursion), quickly. The only way I could easily do this was to use two separate arrays of the game board, making
changes to one array while using the other for comparison. There's probably a much faster way to do it, which is why I plan on
releasing it under the GPL as Open Source (and it's written in VB for cryin' out loud!).
A particularily beautiful rendition of Clickomania! is available at http://kyodai.com/ as a part of their Mah Jongg solitaire
Warning: Extended exposure to Clickomania! may cause one to enter a hypnotic state of compulsive clicking. The player may not notice the fury of the constant left-click sounds, but friends and significant others are sure to be bothered. To address this, my version allows you to use the space bar in place of a mouseclick, while still using the mouse pointer to select blocks to remove.