Kelly is power by Unity 3D engine. Of course, many other programs were used in development too. Here is an overview:
Engine, Unity 4
Scripts, C# – Mono-develop
3D Models, Blender
Sound Effects, cfxr and Audacity
Graphics, GIMP and Pixelmator
The objects in project window are prefabs of objects you see in the levels, there are around 40 elements levels are composed from. Some of them were animated in Blender and some directly in Unity. I often use scripts to drive Animator Controller and animation events for AI.
Because a lot of Animators can be slow, prefabs have big sphere trigger collider around them, that activates/deactivates prefab GameObject them when player is near. This optimisation made it possible to run game on older devices, reducing lags significantly.
If you take a closer look at the wooden cubes, you will see that wood texture is not repeating.
This is because unwrapping is done inside shader and depends on position of the cube in the world and maintains texture density independent of local scale. Similar shader is used for shrinking platforms just it uses local position instead of world position and there is a script that breaks dynamic batching so local position becomes available in the shader.
Sky shader uses information from only 2 images. One presents gradient of clear sky and other R and G channels like 2 different clouds textures scrolled in different directions. B channel is just render clouds effect from GIMP scrolled with different speed and combined with clouds so their shape is slightly changing which makes them very realistic.