Today’s Windows Phone Mango announcements highlight a variety of exciting new features soon to be available to Windows Phone owners. My personal favourite, as a hobbyist game dev, is the ability to combine the slick and speedy user experience of Silverlight with the powerful 3D graphics abilities of XNA enabling a new era of app user experience that brings together the functionally useful world of apps with the graphical splendour of games.
To demonstrate this new capability we teamed up with British Airways to deliver a Mango enhanced version of their Windows Phone 7 app. Our team consisted of Thin Martin on UI design, The Motion Box on graphical design and Synapse Gaming on 3D world implementation. Over a period of 9 days (including two weekends) we pulled together, from scratch, new functionality which includes the ability to select your seat and view its location in an accurate 3D model of a British Airways Airbus 319-100 aircraft – using the new Silverlight and XNA integration.
Figure 1: Screenshots from the app showing the finished seat selection feature
The Motion Box team rapidly created the aircraft cabin model using the SoftImage toolset, over the first weekend. It was then down to John Kabus and the Synapse Gaming team to use their SunBurn engine to add high quality lighting to the model, provide the seat selection and the model fly-thru functions.
The SunBurn Game Engine is a very special piece of technology. Launched on Windows Phone 7 last November, it enables the XNA developer – on Xbox, Windows and Windows Phone 7 in version 2 – the ability to add lighting to a 3D world scene. For Windows Phone projects the lighting is pre-computed and stored as light maps within the models. This enables fantastic, high quality lighting to be rendered in Windows Phone XNA projects with highly efficient CPU/GPU usage.
Once the developer has arranged a scene in the XNA 3D world, the runtime SunBurn world editor is used to add light sources of different styles to the world. This is all done from within the 3D world scene making it very simple to see the effects of adding or editing light sources.
Figure 2: SunBun World Editor showing lights placed within the model
Games engines like SunBurn are usually only available at professional games studio prices. But Synapse Gaming offers the SunBurn game engine at three price points to support the hobbyist developer right up to the professional games studio. The SunBurn collision system and in-game triggers to ‘script’ seat selection logic were also used to complete the seat selection feature.
The resulting fully lit Airbus 319-100 cabin model, with full interactive functionality runs at a smooth 25 fps and looks amazing – setting a new level of expectation for future apps and games on the Windows Phone 7.
It was a straight forward task to integrate the cabin XNA functionality into the Silverlight British Airways app. A new Shared Graphics Manager enables the programmer to control the rendering of Silverlight and XNA elements. This enables the Silverlight design tools of Visual Studio and Expression Blend to be used to design a Silverlight UI of standard Silverlight UI elements, complete with normal events, that is overlaid on the XNA rendering. In a typical XNA game, this approach now offers a simple mechanism to implement game menus and HUD using Silverlight.
The Mango British Airways app was demonstrated at the Mango announcement events in London, New York and other locations across the world. It never ceases to amaze me just how much a great team can deliver using Microsoft technologies in a short time frame. It was a real team effort and sets the bar for apps across all phone platforms. Roll on the autumn I can’t wait for the full Mango release.
To see more of what the Synapse Gaming SunBurn Engine does see these games: