Kelly – Behind the scenes

Kelly is power by Unity 3D engine. Of course, many other programs were used in development too. Here is an overview:
[table]
Engine, Unity 4
Scripts, C# – Mono-develop
3D Models, Blender
Music, GarageBand
Sound Effects, cfxr and Audacity
Graphics, GIMP and Pixelmator
[/table]

Here is how things look like behind the scenes:
s1

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.

Optimisations
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.

Shaders
If you take a closer look at the wooden cubes, you will see that wood texture is not repeating.
Screen Shot 2014-04-22 at 14.19.15
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.
Screen Shot 2014-04-22 at 14.29.37

Sound effects were created with cfxr (which is Mac port of www.drpetter.se/project_sfxr.html) or some were downloaded from freesound.org and processed with Audacity.

Leave a Reply

Your email address will not be published. Required fields are marked *