XNA 4.0 Game Development by Example
Author: Kurt Jaegers
ISBN: ISBN 978-1-84969-066-9
This book uses three very different games to gradually introduce new concepts in XNA and c#.
Chapter 1, Introducing XNA Game Studio
A brief history (thankfully brief) of XNA and how to install. I like the “What just happened?” explanations. These offer a more detailed description of what you have actually done- assuming that you are working through the book together with your computer.
Chapter 2, Flood Control – Underwater Puzzling
Using a 2D board game to introduce the XNA Content Pipeline, and sprite sheets. This book does not assume that you are
a C# programmer and makes some efforts to try and explain some c# concepts at the same time as introducing you to XNA concepts. If you are new to programming
and c# then terms such as Overloading, and Alpha blending are explained as they are introduced.
Chapter 3, Flood Control – Smoothing out the Rough Edges
Through the use of this interesting introductory game the author continues to teach you c# concepts such as inheritance. Most games also contain some maths knowledge and the author does not leave it to chance that you may not know what a radian is.
Chapter 4, Asteroid Belt Assault – Lost in Space
This second game is an introduction into 2D animation and introduces you to collision detection and how to support such a requirement. (This game brought back to me the concept of Player-Missile graphics on my first Atari in the early 1980’s).
Chapter 5, Asteroid Belt Assault – Special Effects
This chapter introduces you to explosions and sounds and the various ways of handling sound in XNA. This also contains an introduction into a 2D particle system.
Chapter 6, Robot Rampage – Multi-Axis Mayhem
The previous two games limited you to a single screen sized world, but this game will introduce you to scrolling around a world bigger than your screen. Also
contains a nice introduction to tiled maps and of course a new camera class.
Chapter 7, Robot Rampage – Lots and Lots of Bullets
If you don’t know what A* is then you will after reading this chapter. There are entire books written on path finding and this author does well to explain the basics
and put them to a practical use. Also introduces a way to implement “powerups”.
Chapter 8, Gemstone Hunter – Put on your Platform Shoes
A side scrolling game is used to introduce multiple layers of tiles and how to use Windows Forms with XNA. Also serves as an introduction to serialization. With the
introduction of implementing a Game Library, this example starts to get professional.
Chapter 9, Gemstone Hunter – Standing on Your Own Two Pixels
After reading this chapter you will me even more familiar with class inheritance and derived
objects. This just has to be so much more fun to learn than via the kind of books that I learned c# from.
You cannot write a game in XNA without some understanding in c#, object based programming and some maths. Unlike many similar beginner
books, this book does not assume that you know everything (eg what a radian is) and explains each new concept as it is introduced.
This books use of some interesting games certainly beats yet another way of printing “Hello World” on the screen and this will make it a
great learning experience of anyone that wishes to start programming with little or no programming knowledge.
At first I was not too enthusiastic in reading a book for beginners but very quickly lost my lack of interest as I eager to discover how
this author was going to explain some of the more complex concepts of c# and xna.
This book is not for those that expect to get an introduction into the 3D world of XNA, and for that reason the book title
should have included “2D”. However it is essential that these 2D concepts are fully understood before moving onto 3D.
After reading this book you will be well placed to get an introduction to 3D with the next title from the same publisher 3D Graphics with XNA Studio 4.0