Chain Reaction is an Android logical game designed specifically to practice spatial thinking and prediction skills. It’s already available on Google Play. It has built-in 100 levels with varied difficulties. Each level contains colored blocks arranged in a chess-like manner. Two neighboring blocks cannot have the same color! That’s the key! Each block (square or hexagon) can be rotated over other given block. Player’s goal is to destroy all the blocks on each level. But there’s a catch! The level must be solved by using the smallest number of moves made by the player.
The game is not as easy as at first glance. It can only be squares or hexagons, but there’s more to it. Each level has limited number of moves that the player can do. This number is not taken from outer space and did not come through some stargate. It’s real. It means that there exists at least one possible solution for given level with that specific number of moves (meaning how many blocks need to be rotated over each other in order to clear the stage). Below are shown the first 5 levels in the game:
How to play?
To rotate any block in desired direction first it needs to be selected. Selection is done by single touching or holding finger over given block. Special touchpad will emerge after that.
The orange fuzzy point is the touchpad knob used for choosing rotation direction. Selected direction will be highlighted by the three green pulsing arrows, exactly the way presented in the animations above and below.
Before jumping into block rotating frenzy, one needs to understand a few basic rules:
- squares can be rotated in four directions,
- hexagons can be rotated in six directions,
- blocks next to each other cannot have the same color,
- when rotating block falls onto another block – the original one will be destroyed,
- if two blocks rotate simultaneously into the same position – all blocks at that spot will dissolve,
- when player rotates selected block to new position it can cause color conflict with neighboring blocks,
- newly rotated block will push away other blocks with the same color (causing a chain reaction),
- blocks that don’t have any neighbors in all eight directions will dissolve!
And that’s how winning is done! Those rules are thoroughly explained inside the game. There’s also a step-by-step tutorial. The animated gif below sums it up pretty well:
The game has a 3 star rating system for each level. When the player solves given level using smallest possible number of moves – he will earn a gold star rating of course. If the level is solved using one extra move, then the player will earn a silver star rating. The bronze star is received for using two additional moves.
Golden rating is received when the level is solved using the smallest possible number of moves – each level has a guaranteed solution with this number of steps. That’s important! Please remember that, even if sometimes level seems impossible to be solved.
Silver Star rating is received when the given level is solved using one extra move. It’s possible to restart level later and try again to beat the previous rating.
Level is marked with Bronze Star rating when it’s solved using two additional moves.
Why does it work?
Each level has a clearly defined limit of moves that the player can make. As mentioned before this number did not come from nowhere. The limit of moves was calculated for each level separately by using special brute-force algorithm – the solution finder. Solution finder is checking one by one almost all possible moves. Each time when the algorithm finds a solution – it immediately tries to find another better solution.
The complexity of the search depends not only on the type of the block (square or hexagon) and number of the blocks but also on how those blocks are arranged on the level grid. Some levels in the game required the algorithm to check more than 2.000.000.000 moves before finding the best solution (and the lowest number of moves needed to solve it). Because of the way the levels were generated and solved it is guaranteed that each one of the 100 levels in Chain Reaction is solvable.