display | more...

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 *n?x
Aka: Blocks, Same Game (ksamegame for KDE), Clicks, Xblock, etc.
Released / programmed by (this specific version): Matthias Schüssler
Website: http://www.clickomania.ch/click/

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 package.

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.