Title: Beginning XNA 3.0 Programming - Novice to Professional
Author : Alexandre Santos Lobao, Bruno Pereira Evangelista,
Riemer Grootjans, Antonio Leal de Farias
- ISBN10: 1-4302-1817-7
APress April 2009
Buy from APress
Beginning XNA 3.0 Programming - Novice to Professional
I remember when XNA first came out. I was quite excited about it, but never got around to doing anything with it. I’d written games, as a teenager, but bedroom gaming seemed to be just a distant memory. About 18 months ago, whilst I was playing with Silverlight, a friend, and work colleague Pete McGann sat reminiscing about classic games. We decided to re-create the classic ZX Spectrum title Manic Miner in Silverlight and XNA. The game engine was built in XNA and the UI in Silverlight. You can play the game here.
I was really pleased when Windows Phone 7 was announced, and that the underlying technologies were XNA and Silverlight. With the Microsoft Marketplace, bedroom gaming was back. So when I received a book on XNA I was quite excited about getting my hands dirty with XNA 3.0
It’s worth noting that V3.0 is not the current version of the book, doesn’t cover WP7 or the latest version of XNA, but was the latest edition published, when I received it.
Chapter 1: Game Planning and Program Basics
The first chapter talks about gaming in general and goes onto create the hello world of games. It basically introduces the game loop and leaves any sprite work until chapter 2. This is a short chapter, but gets some basic terms across and is easy to follow.
Chapter 2: 2D Graphics, Input and Audio Basics
We now get into the meat of a simple game, introducing some common gaming terms, and the layout positioning on the screen. We then fire up Visual Studio, and load up our first sprite, and position it on the screen. It then goes on to talk about simple movement, basic 2D collision detection and keyboard input, before covering a simple audio example and controller feedback via vibration.
Chapter 3 : Creating your first 2D Game
With the basics from the last chapter in place, chapter 3 walks us through creating a simple asteroids style game called Rock Rain. By the end of this chapter the game works! – With collision detection, scoring and sprites for Meteors and Spaceships. I liked the pace of this chapter, well put together and explain what’s going on. It is only a simple game, but the basics are all there, to build your confidence.
Chapter 4 : Improving your first 2D game.
With the game in place, Chapter 4 takes us through adding a menu, opening screen and help page, all the extra stuff that a game requires, but you usually lose interest before you get this far – It builds well on the last chapter and you feel like you’ve got a complete game at the end of it. It also covers a major part of XNA, and that’s animating 2D sprites.
Chapter 5 : Networking
Multiplayer games can be a lot of fun, and chapter 5 takes you through the basics of what you need for a multiplayer game. Sessions, Signing In players and networking are all covered in this chapter.
Chapter 6 : Rock Rain Live
Chapter 6 takes the knowledge learned in chapter 5 and applies it to Rock Rain. So at the end of this chapter, your game supports multiplayer.
Chapter 7 : Rock Rain Zune
I mentioned this book was focused on an earlier version of XNA, and this chapter covers building games for the Zune, in particular taking the Rock Rain game across to the zune. (R.I.P.) I was a bit surprised this is in the book, and not a chapter devoted to deploying to the XBOX and all it’s quirks. All the games to this point have been Windows games in XNA.
Chapter 8 : 3D Game Programming Basics
This chapter introduces the basics of 3D. and marks the start of the more complex chapters of the book.
Chapter 9 : Rendering Pipeline, Shaders and Effects
In this chapter we learn about the basics of High Level Shader Language HLSL, for use in Pixel Shaders and effects.
Chapter 10 - 12
Chapter 10 covers Lighting, and camera positioning and object transformations. Chapter 11 talks about creating a terrain for your 3D game, and then Chapter 14 covers Skeletal animation. These topics are pretty advanced, and would need a great deal of concentration when reading, preferably more than one. Good stuff though, and quite well explained.
Chapter 13 : Creating a 3D Shooter.
Yep, that’s correct this chapter takes you through creating a 3D shooter game. It’s when the ‘Novice to Professional’ part of the title comes into play.
Reading this book, was like reading a book on magic. I learnt lots of tricks and secrets that would impress my friends
I’d have liked to see more coverage of XBOX, and more time spent on the early chapters, with best practices and challenges, AI in 2D for example and some simple physics effect (if that’s possible). I found the last part of the book quite heavy going, but that was more ‘me’ than the book – I’ll need to reread all that when I graduate from Novice. You can probably pick this book up quite cheap, now it’s probably been succeeded, and you won’t regret it – I enjoyed reading the first 6 chapters and have even started an XNA game targeting the Windows Phone – Yet another reason to buy a book on XNA, and this one is a good start, despite it’s age.