Rubik's cube as computer game isn't a new idea, but in this case it is more a Rubik's cube that is a computer. The Rubik's Futuro Cube is a complete ARM-based machine with a form of touch input, wireless links and more. There is also an SDK that you can use to develop games.
Imagine the sort of hardware you get is, say, a mobile phone packaged into a Rubik's cube complete with an array of 3 x 3 RGB LEDs on each face. It is also has an accelerometer which means it knows which face is up and it can detect a tap on any face - this is its touch input.
You interact with the cube by rotating and tapping it and it interacts with you by changing color, flashing, vibrating and making sounds. The interaction seems to be more subtle than you might imagine because the cube knows how hard you tapped and the sequence of the taps. If this isn't enough, it also has a radio link that allows multiplayer games.
You can see the cube in action in the promo video:
The hardware seems adequate for the job:
Cortex M3, 384kB Flash, 64kB RAM, MEMS3-axis accelerometer, 128MByte FLASH, 4 channel Audio, USB ( for charging and software upload) and 2.4 GHz proprietary radio link.
It comes with a set of games that look fun including Gomoku - the classic five-in-a-row game; Road Running - rotate the cube to keep the runner on the top; Cubris - a form of Tetris; and so on. Not surprisingly, there isn't a Rubik's Cube game. The closest it gets is Gravity Puzzle. This might be because the user interface needed for the rotations is too difficult to implement by tapping the sides or it might be for legal reasons. There is a partial Rubik's cube in the sample programs.
If you would like to make an attempt at extending the range of games or entertainments - remember this is a light show that can also play music - then the SDK is for you. This seems fairly easy to download and setup, but notice that you have to learn Pawn - a C-based language. Don't panic, however, it really is just C with some additional library functions to work with the hardware. For example: