There is a flash game that you can very easily find on Google called Blockage.
Rules & Goal of the game : Get all coloured blocks from their initial position to a corresponding target spot of the same color. Once a block is placed on a target spot of the same color, it cannot move anymore. You can select a specific block and move it left or right. Blocks are also subject to gravity (moving them vertically until they hit a wall or another block). There can be many blocks of the same color and more blocks than target spots. Obstacles include walls and other blocks (two blocks cannot be at the same position).
I would like to implement an $A^*$ algorithm that finds the sequence of steps to win this game.
I am currently thinking about a good heuristic $h(n)$ to use. The best one I could find is the following : the sum of the Manhattan distances between each colored block and its closest target.
Any idea on a better heuristic?