I've been invited to give a presentation for Microsoft UK's TechDays Online Conference on Wednesday 24 March about the rendering techniques for the phone. As a basis for this I'm going to base this talk my on-going obsession to bring the Battle of Trafalgar to my phone! Since the talk is necessarily going to be limited in terms of time and video quality, I thought it might be useful to blog some supporting material over the next few days about the topics I am going to cover.
So, to begin, let's have a bit of background. Way back in the mists of time I thought I'd write a turn-based war game to play over the course of an evening with 3 or 4 other people and lots of pints of Grog. The idea was pretty simple - take it in turns to move & fire ships with as close to realistic scales, positions and performance as I could manage - using the couple of reference books that I had borrowed on the subject. Essentially, would 'Nelson' still win if I were in charge? :)
The initial result was C++ MFC app that used GDI drawing of simple boxes and lines, and it never failed to disappoint everyone I showed it to :(
Then along came C# and was looking for a 'proper project' that I could use as a focus for learning the new language when I came across the dusty old Trafalgar folder and thought that would be interesting project to port. However, no sooner had I got a WinForms version running, when XNA 1.0 and the potential for XBox360 deployment dazzled me again!
Luckily the code had nicely decoupled the fairly abstract wargame engine from its rendering, so this conversion was quite painless and I only had to worry about the 2D sprite engine and some zoom/panning code. The screenshot below shows what it looked like:

Unfortunately (and once again) the 2D display just failed to grab anyone's attention, even when it was running on the XBox:(
So, with the arrival of my funky new WP7 a few months ago, I decided it was time to get all 3D on its assets. The video below shows the results so far:
http://www.youtube.com/v/CFgfn46RpFI
Hopefully you can see that game is visually much more interesting now. I have literally not touched the technically interesting wargame engine itself for years, but suddenly even my Dad thinks "it's come on a long way". How shallow the punters are...
Anyway over the next few blogs I'm going to take each rendered element used in the project an look at it in isolation. I'll try an cover the issues I encountered, how I overcame them and what alternatives you (and I) might consider. I think the interesting bits are:
- Creating a Reach compliant skybox
- Different effect techniques I tried for the sea
- 'Faking' the shadows & creating the name labels
- The gun fire particle effect
- An efficient ship render - Instancing models on the phone
So I'll do a blog post on each and I hope this will be of interest...
Posted
Thu, Mar 17 2011 1:41 PM
by
Edward Powell