Beginning XNA 3.0 Game Programming

From Novice to Professional

By Bruno Pereira Evangelista , Alexandre Santos Lobao , Riemer Grootjans , Antonio Leal de Farias

Beginning XNA 3.0 Game Programming Cover Image

Even if you don't know how to program at all, Beginning XNA 3.0 Game Programming: From Novice to Professional, Second Edition will teach you the basics of C# 2008 programming along the way. Don't get overwhelmed with details you don't need to know—just learn what you need to start creating your own games right now!

Full Description

  • ISBN13: 978-1-4302-1817-3
  • User Level: Beginner to Advanced
  • Publication Date: April 26, 2009
  • Available eBook Formats: EPUB, MOBI, PDF
  • Print Book Price: $39.99
  • eBook Price: $27.99
Buy eBook Buy Print Book Add to Wishlist

Related Titles

Full Description

Would you like to create your own games, but never have the time to dig into the details of multimedia programming? Now you don’t have to! XNA 3.0 makes it simple to create your own games, which will run on your PC and Xbox 360 console. Even if you don’t know how to program at all, Beginning XNA 3.0 Game Programming: From Novice to Professional will teach you the basics of C# 2008 programming along the way. Don’t get overwhelmed with details you don’t need to know—just learn what you need to start creating your own games right now!

This fast–paced introduction to XNA 3.0 and the C# language provides you with a quick–start guide to creating high–quality XNA games. You’ll be introduced to the key concepts and ideas you need to know in a gradual fashion so that you master one concept before using it as a foundation for the next. Before long, you will have the skills to create smooth, professional–looking results in a range of gaming genres. By the end of the book, you will have constructed several working games and have an excellent knowledge base from which to investigate more advanced techniques.

What you’ll learn

  • Master game planning and programming basics
  • Understand 2–D graphics, audio, and input basics
  • Create your first 2–D game
  • Improve your first 2–D game
  • Explore the basics of game networking
  • Deal with sound in XNA 3.0
  • See how to create a 2–D multiplayer game, Rock Rain Live!
  • Understand 3–D game programming basics
  • Render pipelines, shaders, and effects
  • Work with lights, cameras, and transformations
  • Generate a terrain
  • Learn skeletal animation techniques
  • Create a third–person shooter game
  • Play games on the Zune console

Who this book is for

This book is for anyone approaching XNA programming for the Xbox 360 for the first time, whether they have experience programming computer games or not.

Source Code/Downloads

Downloads are available to accompany this book.

Your operating system can likely extract zipped downloads automatically, but you may require software such as WinZip for PC, or StuffIt on a Mac.

Errata

Please Login to submit errata.

On page 24:
The book states: You can move the sprite by simply adding one line in the code, incrementing the X position
of the sprite, according to the following line of code:

mySprite1.position.X += 1;

This is incorrect, and generates an error message, since the X property of mySprite1.position is not exposed, and is, therefore, not a variable.

On page 41:
From the book:
"You need to load the texture using the spriteBatch object. Declare it in the Game1 class:
private SpriteBatch spriteBatch = null;"

Not only is it inaccurate to say that we use SpriteBatch objects to "load" textures (we really use the Game.Content.Load() method), but this code does not appear in the code download for the book. A new XNA 3.0 project automatically creates the SpriteBatch object for us.

On page 53:
From the book: "Call this method inside the doGameLoop method, after the foreach loop."

There is no "doGameLoop" method, in either the book or the downloaded code.

The correct method name is "DoGameLogic".

On page 139-140:

The code in the book, and its description, say that OpenPublicGamerSlots and OpenPrivateGamerSlots should give the total number of those slots available. Those properties do not return that information.

Instead they return the number of available slots. The correct code should be

int TotalOpenSessionSlots = curSession.OpenPublicGamerSlots + curSession.OpenPrivateGamerSlots;
if(ToalOpenSessionSlots > 0)
...