Author: Adam Dawes
Publisher: Apress, 2011
Aimed at: C# programmers
Pros: Logical structure, helpful example code
Cons: Perhaps too fast paced at times
Reviewed by: Mike James
If you want to program 3D games on the Windows Phone is this the book to help you?
This is not a book for dummies. It starts out looking at the basics of Windows Phone and .NET in Chapter 1 but by Chapter 2 it is in full flow looking at XNA. There are some concessions to the beginner but not many.
Chapters 2 and 3 deal with the basic 2D game setup - sprites mainly. Chapter 4 moves on to user input including working with raw touch events, the keyboard and the accelerometer. Chapter 5 deals with audio and sound effects in general.
Chapter 6 is where the move from 2D to 3D starts. At this point I usually have to kick myself and remember that this is 3D on a phone we are talking about. You may have done it but never forget how amazing this is. The chapter introduces the idea of drawing using vertex rendering but rapidly gets to transformations and textures.
From this point the full range of 3D techniques are introduced. Chapter 7: The World of 3D Graphics deals with full perspective transformations and rendering in general, including lighting. Chapter 8 moves on to importing models using SketchUp, working with cameras, fog and other effects and how to mix sprite and 3D rendering.
Chapter 9 moves away from 3D to consider more mundane but important issues such as saving game state, scoring and so on. Chapter 10 looks a the application lifecycle applied to games including the problems of restoring the game from a tombstone state.
Part III of the book marks are fairly big shift to look at Silverlight. This takes the form of a fairly standard introduction to Silverlight with only a small emphasis on games. Chapter 11 looks at the basics, Chapter 12 looks at using Silverlight controls complete with transformations. Only at Chapter 13 does the emphasis shift to gaming aspects with a look at sprites but implemented as a Silverlight control this time. The book covers animation and using I/O and enhancing the game with scoreboards, state saving and so on.
The final part of the book is on distributing your game with lots of information on how to build trial modes and how to prepare for submission to the app store. The final chapter is a bit out of place as it is on running your creations on other platforms - Windows or a web browser - but it is not an unreasonable way to conclude the book and you are at some point probably going to want to port your game to these platforms.
So what is the verdict?
Not suitable for the complete beginner but if you have a brain, can program in C# and are happy to learn about sprites, 3D and Silverlight at a reasonable technical level this is the book for you.
I enjoyed reading it and can recommend it.