This time I want to show you a really simple 2D game. The client was a well known spanish bank that wanted to promote recycling among children.

In the game, various types of recyclable objects fall from the top of the screen and the player has to drag each of them to the corresponding recycling cube.

To make things a bit more complicated, recycling cubes swap their positions from time to time.

This game is developed from scratch, using no more frameworks than Apple builtin ones (CoreGraphics, QuartzCore, …). The most important thing and the one that I’m most proud of this proud of this project is having found the (probably) best way of moving layers around the screen with really high performance.

[CATransaction begin];
[CATransaction setValue:(id)kCFBooleanTrue forKey:kCATransactionDisableActions];
// Move CALayers here ...
[CATransaction commit];


Here you can see some screenshots: