SameGame

 is a tile-matching puzzle originally released under the name Chain Shot! in 1985 by Kuniaki Moribe (Morisuke). It has since been ported to numerous computer platforms, handheld devices, and even TiVo, with new versions as of 2016.
History.
"SameGame" was originally created as "Chain Shot!" in 1985 by Kuniaki Moribe. It was distributed for Fujitsu's FM-8 and FM-7 platforms in a Japanese monthly personal computer magazine called "Gekkan ASCII". In 1992, the game was ported as "SameGame" to Unix platforms by Eiji Fukumoto, and to the NEC PC-9801 series by Wataru Yoshioka. In 1993, it was ported to Windows 3.1 by Ikuo Hirohata. This version was translated into English by Hitoshi Ozawa, and is still available from his software archive.
In 1994, Takahiro Sumiya ported it to Macintosh. This version has some gameplay differences—three, instead of five, colors—and is probably the most widely distributed of the original series. It was the basis for the "Same Gnome" and "KSame" variations created for Linux.
In 2001, Biedl et al. proved that deciding the solvability (whether all blocks can be removed) of 1-column (or 1-row) 2-colour Clickomania can be done in linear time. Deciding the solvability of 2-column, 5-colour Clickomania is NP-Complete. Deciding the solvability of 5-column 3-colour Clickomania is also NP-Complete.
Gameplay.
Game mechanics.
"SameGame" is played on a rectangular field, typically initially filled with four or five kinds of blocks placed at random. By selecting a group of adjoining blocks of the same color, a player may remove them from the screen. Blocks that are no longer supported will fall down, and a column without any blocks will be trimmed away by other columns always sliding to one side (often the left). The goal of the game is to remove as many blocks from the playing field as possible.
In most versions, there are no time constraints during the game. However, some implementations gradually push the rows upward or drop blocks from above. Sometimes the player can control the number and timing of blocks that drop from above in certain ways. For example, on some implementations for the iOS, this can be done by shaking the device. The game ends if a timer runs out or if no more blocks can be removed. Some versions, including some versions for Windows Mobile, include both portrait and landscape orientations.
Gallery.
Variations.
In one variation, the game starts with no blocks on the field. Blocks fall down to the playing field, and must be removed before they reach the top. If they reach the top and overflow, the game is over. In some variations, such as "Bubble Bang", circles or balls are used instead of blocks—which alters the gameplay, as the balls form different shapes than square blocks.
In three-dimensional variants, the playing field is a cube (containing smaller cubes) instead of a rectangle, and the player has the ability to rotate the cube. "Cubes" for iPhone OS uses this approach.
Some versions allow the player to rotate the playing field 90 degrees clockwise or counter-clockwise, which causes one of two things to happen:
In some variations, blocks can be removed when connected to blocks of the same color diagonally, not just horizontally and vertically. Some versions introduce new types of blocks. The different types of blocks interact in various ways with the play field; for example, one type might remove all the blocks in a row. An example of this is the "Revenge mode" in "PocketPop Revenge" ("PocketFun") for iPhone OS.
Scoring.
Most versions of the game give formula_1 points for removing formula_2 tiles at once, where formula_3 or formula_4, depending on the implementation. For instance, "Insane Game" for Texas Instruments calculators uses formula_5; Ikuo Hirohata's implementation uses the formula formula_6. The "Bubble Breaker" implementation for Windows Mobile uses the formula_7 formula. The 2001 version released by Jeff Reno uses the formula formula_8.
Some versions also offer a large bonus for removing all blocks from the screen, or leaving no more than a certain number of blocks. Others reduce the final score based on the number of blocks remaining at the end of the game. Some game versions award bonus points for clearing the field quickly, encouraging faster play. The faster the player finishes the level, the bigger the bonus. Still others offer combination, or "chain", bonuses for clearing the same color of blocks two or more times in succession.
Another scoring technique awards bonus points for each chain of a certain color that has a certain number of blocks (for example, two red blocks or 11 blue blocks). After receiving the bonus once, sometimes the bonus condition changes. "BPop" uses this scoring variation.
Some versions have a simple scoring system: each block removed is worth one point, and there is no bonus for removing more than two blocks at a time. This is seen in the "Same Pets" and "Same Hearths" variants.
Goal-based scoring.
Some versions award scores based on the attainment of goals. This is typically seen in multi-level versions of the game. There are four primary scoring systems for such games.
In one variation, each level has a target score. The player's score starts at zero, and the player must reach the target score. At the beginning of each level, the player's score is reset to zero; the target score increases with each level.
Other versions have a cumulative target score. In these versions, the player's score carries over from level to level. As a result, if the player substantially exceeds the target score on a given level, they may enter the subsequent level having already met that level's target score, as well. "BPop" has a cumulative target score.
Some versions maintain the same target score for each level; such variations can be played indefinitely. In such games, the player typically loses due to poor planning or a lapse in concentration. Examples of such games are "Same Pets" and "Same Hearths".
In games without a goal score, like "Bonkers for iPhone" and SameGameBros for iPhone, the goal is to clear the level completely. The game ends when the player fails to do so.
Visuals.
Blocks typically appear as colored squares, circles, or spheres. Some variations use gradient shading to give the illusion of dimensionality. Other tile themes, or "skins", include animals, hearts, stars, faces, Lego blocks, and jelly bears. Designs may follow a theme, such as Christmas or monochrome. Most games have only one skin, but others allow choosing from multiple skins.
There is a special visual aspect in some versions; instead of separate blocks, games like "iDrops" and "SameGameManiak" feature bordered areas for adjacent blocks of the same color. Some have elaborate tile graphics, featuring pictures or patterns inside the tile, like "KSame" and "Same GNOME".