Experiences and Experiments in Programming

 Saturday, March 27, 2010

PACKT Publishing sent me a free copy of 3D Game Development with Microsoft Silverlight 3 to review.  I was truly looking forward to reviewing the book.  I have built a handful of games in Silverlight purely for fun and have not really talked about game development or advertised that I work with game development using Silverlight.  In the past I have done a lot of digital video and graphics work for advertising or movies.  So, for me, creating a game is a fun and relaxing escape from day to day application development.

When I received the book, the first thing I did was to flip to the Preface section to see what the book was about in summary and who the book was written for.  The description indicated that the book was written for C# developers with a basic knowledge of Visual Studio IDE.  Furthermore, it indicated that no prior experience in 3D programming, 3D animation, and Silverlight is required.  After reading the book, I agree that this is an accurate statement.  However I think that to get the most out of the book and what the book introduces, a developer would either have some experience with 3D tools or would want to explore these tools and concepts further.

I decided I would dive into chapter 1 as though I had no prior experience.  The book starts out putting the reader into character as a developer who has always wanted to develop a 3D game.  You now have the opportunity through a new game contest.  The rest of the book follows you, the eager developer, as you build and enhance your game entry.  The approach was fun and made for a more interesting read if you read the book from cover to cover.  As such the book started from step A and went all the way through Z.

One of the first things that became clear was the layout of the chapters.  Throughout the book, concepts are introduced through a series of “Explanation”, “Time for Action”, and “What Just Happened” sections.  In the sections I would label as explanation, the author discusses tools and concepts that will be used in the “Time for Action” sections.  Next you are presented with the “Time for Action” section where you are taken step by step through some action.  Usually this involves writing code and occasionally installing software or some setup tasks.  Once you have followed the steps, performed some action, and are all happy with your results, you come to the “What Just Happened” section which explains the outcome and reiterates what you just did.  This follows the old teaching adage “Tell them, Show them, Have them do it, then Tell them again”.

Through this series of explanation, example, and confirmation, the author  walks the reader through a full gambit of topics.  By the time you get to the end of the book, topics have been covered ranging from basics like importing graphics into Silverlight, placing them on the page, and moving them around to more complex topics like animating pixel shaders, collision detection, and physics engines.  In between, the reader is introduced to popular industry tools like Blender and Gimp.

The book is a great introduction to 3D game development in Silverlight.  While certain topics like Blender and the Farseer Physics Engine are deserving of a book unto themselves, the introduction is just what is needed to get started.  The book goes well beyond what is needed to develop 2D games, but the concepts like working with objects on the screen, backgrounds, using multiple pages, collision detection, etc are very applicable to both 2D and 3D!  If you truly want to develop 3D games using objects and characters that will move and interact in a 3D environment, this is a book that can get you started.  It won’t be the last book you’ll need, but it will open the door to what you can do and help you determine what other resources you would like to explore further.

Who Am I - Todd Miranda
MVP Visual Developer - ASP/ASP.NET
On this page....
<March 2010>
Aggregate Me!
RSS 2.0 | Atom 1.0 | CDF
Contact me
Send mail to the author(s) E-mail