For me the best session at Mix 10 was Shawn Hargreave’s CL22 – High Performance 3D Games on Windows Phone 7 Series. Shawn is an XNA demi-god and to see what he can make the new Windows Phone do with XNA is inspiring. The session is packed with technical facts and figures you just don’t find anywhere else, and it really gives you an insight into the power and capability of the Windows Phone 7 Series. For example, did you know that at 800x480 Windows Phone has 25% more pixels to draw then the original Xbox, but having a lot less GPU power you need to take advantage of the built in hardware scaler that enables you to render your games at a lesser resolution – say 600x 340 – then have the scaler fill the screen. The scaling operation is free – because it is part of the hardware pipeline not dependant on the CPU or GPU – so you get full screen games at good frame rates. You do of course relinquish some graphics quality in using this method, but if you don’t need a high frame rate you can render at the full 800x480. Its a trade between performance and graphics quality. But take a look at these device screen shots I captured from session recording – note these are from screen captures on my machine of the video playback of the examples running on a real device but viewed via a visualiser. Yet they still look awesome!
XNA on Windows Phone 7 Series has 5 configurable shaders. From left to right:
Basic Effect – It provides some simple lighting options, and lets you get going with minimal fuss.
Dual Textured Effect – Combine two textures to create sophisticated lighting effects very cheaply.
Alpha Test Effect – Alpha blending on the Windows Phone hardware is free. Use to draw duplicate graphic assets in your 3D world to create the impression of lots of things when really your only having to draw one of them.
Skinned Effect – Drawing characters that move. Animation occurs entirely on the GPU.
(Below) Environment Map Effect – Using a texture and a reflective cube map you can great super shiny shiny elements with minimal processing costs. The four pictures show the effect of different parameters to alter the reflection on the object.
You have to watch the video from 28:00 to really see these solutions in action, most of them are animated and the assets are originally from XNA on Windows examples – your using the same assets on the phone!!
Seeing stuff like this just wants to make you start coding on your own game! So go get the tools and start now!