Our Blog

After Earth May 19th, 2013

After Earth

Following on from the successful launch of Wind in the Willows, we won the contract to produce the official app for the novelization of the new Sci-fi movie After Earth starring Will and Jaden Smith. We worked in collaboration with Sony Pictures and Will Smith’s production company Overbrook Entertainment.

It was exciting to have the opportunity to work on such a high profile project, particularly as we were given access to many of the 3D assets and artwork used in the film.

The project had a very tight deadline as the app launch had to coincide with the launch of the film, this required us to think carefully about the scope of the design and to consider what was realistically achievable from both a creative and technical perspective.


Key Technical Achievements:


  • Based on our experiences of developing Anne Frank and Wind in The Willows it was decided that a better way of handling transitions between app states was required. In the past, it soon became tricky when handling transitions to and from different app views and content displays.


  • We decided to develop our own state machine and centralised notification classes based on existing ideas from objective C and various .NET state machine implementations. The notification system was based loosely on a C# Notification centre implementation from the Unity Community Wiki:


http://wiki.unity3d.com/index.php/CSharpNotificationCenter

  • Rather than having central classes controlling behaviour of asset objects, we decided that temporary assets should manage their own behaviours. Different content types were split into prefabs with their own controllers which would determine their position and interactive behaviours. This solved the problem of having a central bloated content controller and allowed for graceful de-initialisation  / dismissal of content.


  • Part of our optimisation process was to start with a basic test bed, particularly for higher res 3D models and then layer additional content on top, testing for performance across iOS devices at each stage. Using this method allowed us to track performance bottlenecks more easily. Using test beds for key features also allowed us to provide regular progress builds to the client for key content as and when they were produced.


 

Lessons learned:

  • The production process required very close communication with the creative team as we tested new models and effects as soon as the first cut was ready. This tight-knit communication between creative and technical was key in enabling a quick turnaround of ideas in a short space of time. This was something we definitely wanted to continue doing on future projects.


  • Taking the time to design the app structure based on states at the beginning makes programming transitions much easier.


  • Regular calls to unload unused assets helped reduce memory spikes and subsequent crashes on lower end devices.


-->