XNA 4.0 Game Development by Example: Beginner's Guide
|Also available on:|
- Dive headfirst into game creation with XNA
- Four different styles of games comprising a puzzler, a space shooter, a multi-axis shoot 'em up, and a jump-and-run platformer
- Games that gradually increase in complexity to cover a wide variety of game development techniques
- Focuses entirely on developing games with the free version of XNA
- Packed with many suggestions for expanding your finished game that will make you think critically, technically, and creatively
- Fresh writing filled with many fun examples that introduce you to game programming concepts and implementation with XNA 4.0
- A practical beginner's guide with a fast-paced but friendly and engaging approach towards game development
Book DetailsLanguage : English
Paperback : 428 pages [ 235mm x 191mm ]
Release Date : September 2010
ISBN : 1849690669
ISBN 13 : 9781849690669
Author(s) : Kurt Jaegers
Topics and Technologies : All Books, Beginner's Guides, Games, Microsoft
Table of Contents
Chapter 1: Introducing XNA Game Studio
Chapter 2: Flood Control – Underwater Puzzling
Chapter 3: Flood Control – Smoothing Out the Rough Edges
Chapter 4: Asteroid Belt Assault – Lost in Space
Chapter 5: Asteroid Belt Assault – Special Effects
Chapter 6: Robot Rampage – Multi-Axis Mayhem
Chapter 7: Robot Rampage – Lots and Lots of Bullets
Chapter 8: Gemstone Hunter – Put on Your Platform Shoes
Chapter 9: Gemstone Hunter – Standing on Your Own Two Pixels
Download the code and support files for this book.
Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.
Errata- 14 submitted: last submission 28 Mar 2013
Errata type: code | Page number: 318
at step 3, it says: gameForm.SizeChanged += new EventHandler ... where instead it should say pictureBox.SizeChanged += new EventHandler ...
Errata Type: Code page no:150
On the 6th step it says "In the Draw() method of Game1, add the following after the ShotManager draw call:" [...] In reality it should say enemyManager instead of ShotManager. The ShotManager is not used in the Draw() method of that class. On the example project available on this site you can check the code and see it's just as I say.
Errata Type: Code Page no:52-53
page 53 refers to CheckScoringRow method, however method is named CheckScoringChain on page 52
Errata Type:Code Page no:76
Step 2 of the ScoreZoom class instructs the reader to add: using Microsoft.Xna.FrameWork.Graphics; However, in order for C# to recognize the term 'Color' in step 3, the reader needs to include this as well: using Microsoft.Xna.Framework; Without this, the code will not compile as the compiler does not know how to interpret lines such as: public Color DrawColor;
Errata Type:Code related Page no:28
"When multiple version of the same method are declared with either different parameters lists or different return values, each different declaration is called an "overload" of the method." 1. I think it should say "parameter lists" instead of "parameters lists" 2. In C# all overloads must have the same return value. Maybe it was more of a language independent statement about overloads, but overloading only by return value is a strange concept in an OO language.
Errata Type:Code Page no:64
not "wrong" but... in each of the update functions RemoveKeys.Enqueue(thisKey.ToString()); calling .ToString() on a string is a bit redundant.
Errata Type:Grammar Page no:19
This is the Kindle eBook version. The very minor error is in the sentence "...as sequential Draw() calls would provide no benefit nothing in the game state will have changed." which I think was intended to read "...as sequential Draw() calls would provide no benefit *since* nothing in the game state will have changed."
Errata Type: Page no:124
On page 124 you call playerSprite.Velocity.Normalize(); It does nothing to call that on a property wrapping a struct. You need to create a variable like you do in the imposeMovementLimits function. You also need to check for a zero vector because normalizing that will mess things up. Here's my code: Vector2 velocity = playerSprite.Velocity; if (velocity != Vector2.Zero) velocity.Normalize(); playerSprite.Velocity = velocity; Thanks for the great book
Errata Type:Code Page no:127
when adding frames to the enemy sprite, the first coordinate of the rectangle is initialFrame.X = (initialFrame.Width * x) instead of initialFrame.X + (initialFrame.Width * x)
Errata Type:Code Page no:76
Step 2 in the "Time for Action - creating the ScoreZoom Class" Section reads as follows: 2. Add the following using directive to the top of the file: using Microsoft.Xna.Framework.Graphics; This step is an incomplete statement, as later code references the "Color" struct found in "Microsoft.Xna.Framework". For error free code, the reader must add another using statement. Correction is as follows: 2. Add the following using directive to the top of the file: using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework; Despite thee omission in the book, the source code available for download contains both using statements that are needed.
Errata Type:Code Page no:150
Step 6 tells me to add code after the ShotManager.Draw() call. Shotmanager is not drawn explicitly in this method. The directions should tell you to add it after the EnemyManager.Draw() call.
Errata Type:Code Page no:300
in step 6, you are looping through the layers (the z integer), but the MapSquare constructor sets all three layers at once.
Errata type: Technical | Page number: 76 | Errata date: 22 July 11
Time for action – creating the ScoreZoom class section Step 2 instructs the reader to add: using Microsoft.Xna.FrameWork.Graphics; However, in order for C# to recognize the term 'Color' in step 3, the reader needs to include this as well: using Microsoft.Xna.Framework; Without this, the code will not compile as the compiler does not know how to interpret lines such as: public Color DrawColor;
Errata Type: Code Page no:150
On the 6th step it says "In the Draw() method of Game1, add the following after the ShotManager draw call:" [...] In reality it should say enemyManager instead of ShotManager. The ShotManager is not used in the Draw() method of that class.
What you will learn from this book
- Install the Microsoft XNA Framework and its required tools
- Build XNA Game projects and associated XNA Content projects
- Create a puzzle-style game exploring the concepts of game states, recursion, and 2D animation
- Add sound effects to your game with a "fire-and-forget" sound effects manager
- Create a particle system to generate random explosions
- Implement sound effects, collisions, and particle-based explosions by building a space shooter inside a chaotic asteroid field.
- Implement the A* path-finding algorithm to allow enemies to track down the player
- Generate tile-based maps and path-finding enemy tanks amidst a storm of bullets in a multi-axis shooter
- Combine XNA and Windows Forms to create a map editor for a multi-layered tile map engine
- Run, jump, and squash enemies in a side-scrolling platform using the maps from your editor
- Modify your creations for the Xbox 360 platform and deploy your games to the console
XNA Game Studio enables hobbyists and independent game developers to easily create video games. It gives you the power to bring your creations to life on Windows, the Xbox 360, the Zune, and the Windows Phone platforms. But before you give life to your creativity with XNA, you need to gain a solid understanding of some game development concepts.
This book covers both the concepts and the implementations necessary to get you started on bringing your own creations to life with XNA. It details the creation of four games, all in different styles, from start to finish using the Microsoft XNA Framework, including a puzzler, space shooter, multi-axis shoot-'em-up, and a jump-and-run platform game. Each game introduces new concepts and techniques to build a solid foundation for your own ideas and creativity.
Beginning with the basics of drawing images to the screen, the book then incrementally introduces sprite animation, particles, sound effects, tile-based maps, and path finding. It then explores combining XNA with Windows Forms to build an interactive map editor, and builds a platform-style game using the editor-generated maps. Finally, the book covers the considerations necessary for deploying your games to the Xbox 360 platform.
By the end of the book, you will have a solid foundation of game development concepts and techniques as well as working sample games to extend and innovate upon. You will have the knowledge necessary to create games that you can complete without an army of fellow game developers at your back.
A step-by-step tutorial to using Microsoft XNA by creating four different styles of video games.
This book is a step-by-step tutorial that includes complete source code for all of the games covered. It adopts an engaging style to teach all the game development concepts. Each block of code is explained, and game development concepts are diagrammed and covered in detail. Each game begins with a concept description and concludes with suggestions for expanding on the finished game.
Who this book is for
If you are an aspiring game developer who wants to take a shot at creating games for the Microsoft Windows platform with the XNA Framework, then this book is for you. Using this book, you can get started with creating games without any game development experience. A basic knowledge of C# would be helpful to kick-start your game development, but it's not essential.