Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Arrow up icon
GO TO TOP
XNA 4.0 Game Development by Example: Beginner's Guide

You're reading from   XNA 4.0 Game Development by Example: Beginner's Guide The best way to start creating your own games is simply to dive in and give it a go with this Beginner‚Äôs Guide to XNA. Full of examples, tips, and tricks for a solid grounding.

Arrow left icon
Product type Paperback
Published in Sep 2010
Publisher Packt
ISBN-13 9781849690669
Length 428 pages
Edition 1st Edition
Arrow right icon
Author (1):
Arrow left icon
Kurt Jaegers Kurt Jaegers
Author Profile Icon Kurt Jaegers
Kurt Jaegers
Arrow right icon
View More author details
Toc

Table of Contents (15) Chapters Close

XNA 4.0 Game Development by Example Beginner's Guide
Credits
About the Author
About the Reviewers
Preface
1. Introducing XNA Game Studio FREE CHAPTER 2. Flood Control – Underwater Puzzling 3. Flood Control – Smoothing Out the Rough Edges 4. Asteroid Belt Assault – Lost in Space 5. Asteroid Belt Assault – Special Effects 6. Robot Rampage – Multi-Axis Mayhem 7. Robot Rampage – Lots and Lots of Bullets 8. Gemstone Hunter – Put on Your Platform Shoes 9. Gemstone Hunter – Standing on Your Own Two Pixels Index

Index

A

  • A* implementation
    • requisites / The A* path-finding algorithm
    • about / Implementing A*
    • PathNode class, adding / Time for action – the PathNode class
    • beginning / Time for action – beginning the implementation of A*
    • path, finding / Time for action – finding the path
    • adjacent squares / Time for action – adjacent squares
  • AddComputerTerminal() method / What just happened?
  • AddExplosion() method / Time for action – creating explosions, What just happened?
  • AddLargeExplosion() method / What just happened?
  • addNodeToOpenList() method / Time for action – beginning the implementation of A*
  • AddShot() method / Time for action – beginning the WeaponManager class
  • AddSparkEffect() method / Time for action – spark effects
  • AddWaypoint() method / Time for action – waypoint management
  • alpha blending
    • about / Sprites and sprite sheets
  • animated pieces
    • about / Animated pieces
    • classes / Classes for animated pieces
    • managing / Managing animated pieces
    • GameBoard, updating / Time for action – updating GameBoard to support animatedpieces, What just happened?
    • fading pieces / Fading pieces
    • falling pieces / Falling pieces
    • rotating pieces / Rotating pieces
    • updating / Time for action – updating Game1 to update animated pieces
    • drawing / Drawing animated pieces, Time for action – update Game1 to draw animated pieces
    • drawing, SpriteBatch overloads used / SpriteBatch overloads
  • AnimateWhenStopped member / What just happened?
  • Animation class
    • building / Time for action – building the Animation class
    • using directives, adding / Time for action – building the Animation class
    • declaration, modifying / Time for action – building the Animation class
    • declarations, adding / Time for action – building the Animation class
    • properties, adding / Time for action – building the Animation class
    • constructor, adding / Time for action – building the Animation class
    • public methods, adding / Time for action – building the Animation class
  • ArePiecesAnimating() method
    • about / Time for action – updating GameBoard to support animatedpieces
  • Asteroid Belt Assault
    • about / Overview of the games
  • Asteroid Belt Assault project
    • creating / Creating the project, Time for action – creating the Asteroid Belt Assault project
    • Sprite class, building / Another definition for "sprite"
    • sprite-based star field, creating / A sprite-based star field
    • asteroid field, creating / Animated sprites – asteroids
    • ShotManager class / Player and enemy shots
    • PlayerManager class / Adding the player
    • EnemyManager class / Enemy ships
    • explosion effects, implementing / Explosion effects
    • Particle class, constructing / Time for action – constructing the Particle class
    • CollisionManager class / The collision manager
    • sound effects / Sound effects
    • game structure / The game structure
  • AsteroidManager class
    • about / Animated sprites – asteroids
    • building / Time for action – building the AsteroidManager class
    • declarations, adding / Time for action – building the AsteroidManager class
    • helper method, adding / Time for action – building the AsteroidManager class
    • second helper function, adding / Time for action – building the AsteroidManager class
    • constructor, adding / Time for action – building the AsteroidManager class
    • asteroids, positioning / Positioning the asteroids
    • asteroids, colliding / Colliding asteroids
    • BounceAsteroids() method, adding / Time for action – bouncing asteroids – part 1
  • asteroids
    • positioning / Positioning the asteroids, Time for action – positioning the asteroids, What just happened?
    • position, checking / Time for action – checking the asteroid's position, What just happened?
    • drawing / Time for action – updating and drawing asteroids
    • updating / Time for action – updating and drawing asteroids
    • colliding / Colliding asteroids

B

  • baseAngle vector / What just happened?
  • BaseSprite / What just happened?
  • Begin() pair / What just happened?
  • BounceAsteroids() method
    • about / Time for action – bouncing asteroids – part 1, What just happened?
  • BoundingBox class / What just happened?
  • BoundingBoxRect property / What just happened?

C

  • camera class
    • creating / Defining a camera, Time for action – creating the Camera class
  • Camera class
    • adding, to title engine project / Time for action – the Camera class
    • using directive, adding / Time for action – the Camera class
    • declaration, modifying / Time for action – the Camera class
    • declarations, adding / Time for action – the Camera class
    • properties, adding / Time for action – the Camera class
    • methods, adding / Time for action – the Camera class
  • checkAsteroidToPlayerCollisions() method / Time for action – player collisions
  • CheckChanged event / Time for action – completing the editor – part 1
  • CheckCollisions() method / Time for action – using the CollisionManager class
  • checkCurrentCellCode() helper method / Time for action – handling codes
  • checkEnemyToPlayerCollisions() method / Time for action – player collisions
  • checkLevelTransition() method / What just happened?
  • checkPowerupPickups() method / Time for action – power-ups
  • checkPowerupSpawns() method / Time for action – power-ups
  • checkRocketSplashDamage() method / Time for action – awarding points
  • CheckScoringChain() method / Time for action – generating fading pieces, Time for action – updating and displaying ScoreZooms, Time for action – adding difficulty levels
  • CheckScoringRow() method / What just happened?
  • checkShotEnemyImpacts () method / Time for action – awarding points
  • checkShotToAsteroid() method / Time for action – player shot collisions
  • checkShotToEnemy() method / Time for action – player shot collisions
  • checkShotToPlayerCollision() method / Time for action – player collisions
  • checkWeaponUpgradExpire() method / Time for action – new weapons
  • Child classes
    • about / Classes for animated pieces
  • CircleCollision() method / What just happened?, What just happened?
  • class declaration area
    • variables, adding / Time for action – adding variables to the class declaration area
  • classes, for animated pieces
    • creating / Classes for animated pieces
    • about / Classes for animated pieces
  • classes, for fading pieces
    • creating / Time for action – fading pieces
  • classes, for falling pieces
    • creating / Time for action – falling pieces
  • classes, for rotating pieces
    • creating / Time for action – rotating pieces
  • ClearBoard() helper method / What just happened?
  • ClearBoard() member / What just happened?
  • Click event handler / Time for action – completing the editor – part 1
  • Code Folding / What just happened?
  • collision detection
    • supporting / Collision detection, Time for action – supporting collision detection
  • collision manager
    • about / The collision manager
  • CollisionManager class
    • about / The collision manager
    • creating / Time for action – creating the CollisionManager class
    • declarations, adding / Time for action – creating the CollisionManager class
    • constructor, adding / Time for action – creating the CollisionManager class
    • checkShotToEnemy() method, adding / Time for action – player shot collisions
    • checkShotToAsteroid() method, adding / Time for action – player shot collisions
    • checkShotToPlayerCollision() method, adding / Time for action – player collisions
    • checkEnemyToPlayerCollisions() method, adding / Time for action – player collisions
    • checkAsteroidToPlayerCollisions() method, adding / Time for action – player collisions
    • CheckCollisions() method, adding / Time for action – using the CollisionManager class
  • collisions
    • types / Handling collisions
    • handling / Handling collisions
    • player shot collisions / Time for action – player shot collisions
    • player collisions / Time for action – player collisions
  • colors / What just happened?
  • ComputerTerminal class
    • adding , to robot rampage project / Time for action – building a computer terminal
    • using directives, adding / Time for action – building a computer terminal
    • declarations, adding / Time for action – building a computer terminal
    • constructor, adding / Time for action – building a computer terminal
    • public methods, adding / Time for action – building a computer terminal
  • constants
    • vs. numeric literals / What just happened?
  • Contains() method / What just happened?
  • Content Pipeline
    • about / Introducing the Content Pipeline
    • textures, reading into memory / Time for action – reading textures into memory
  • createLargeExplosion() method / Time for action – shots colliding with tiles
  • currentSquare / What just happened?

D

  • Dequeue() method
    • about / What just happened?
  • Deserialize() method / What just happened?
  • Destination property / What just happened?
  • DetectShutdowns () method / Time for action – awarding points
  • DetectShutdowns() method / What just happened?
  • DetermineScore() / What just happened?
  • Dictionary
    • about / Managing animated pieces
  • difficulty levels
    • adding, to game / Difficulty levels, Time for action – adding difficulty levels, What just happened?
  • directives
    • using / What just happened?
  • Draw() method / The LoadContent() method, The Draw() method, Time for action – drawing the screen – the title screen, What just happened?, Time for action – building a new Sprite class, Time for action – the TileMap class – part 3
    • about / Time for action – updating and drawing shots, What just happened?

E

  • EffectsManager class
    • about / The EffectsManager class
    • adding, to robot rampage project / Time for action – the EffectsManager class
    • using directives, adding / Time for action – the EffectsManager class
    • declaration, modifying / Time for action – the EffectsManager class
    • declarations, adding / Time for action – the EffectsManager class
    • initialize() method, adding / Time for action – the EffectsManager class
    • RandomDirection() method, adding / Time for action – the EffectsManager class
    • updating / Time for action – the EffectsManager class
  • elastic collision
    • implementing / Colliding asteroids
    • bouncing asteroids / Time for action – bouncing asteroids – part 1, What just happened?, Time for action – bouncing asteroids – part 2
  • End() pair / What just happened?
  • enemy AI methods / Time for action – enemy AI methods
  • Enemy class
    • about / Enemy ships
    • creating / Time for action – creating the Enemy class
    • declarations, adding / Time for action – creating the Enemy class, Time for action – building the Enemy class
    • constructor, adding / Time for action – creating the Enemy class, Time for action – building the Enemy class
    • AddWaypoint() method, adding / Time for action – waypoint management
    • waypoint management / Time for action – waypoint management
    • WaypointReached() method, adding / Time for action – waypoint management
    • IsActive() method, adding / Time for action – waypoint management
    • Update() method, adding / Time for action – enemy update and draw
    • Draw() method, adding / Time for action – enemy update and draw
    • building / Time for action – building the Enemy class
    • using directive, adding / Time for action – building the Enemy class
    • upodating / Time for action – building the Enemy class
    • movement related methods, adding / Time for action – enemy AI methods
  • EnemyManager class
    • about / The EnemyManager class
    • creating / Time for action – creating the EnemyManager class
    • declarations, adding / Time for action – creating the EnemyManager class, Time for action – the enemy manager
    • setting up / Time for action – setting up the EnemyManager class
    • updating / Time for action – updating and drawing the EnemyManager, Time for action – the enemy manager
    • drawing / Time for action – updating and drawing the EnemyManager
    • adding, to robot rampage project / Time for action – the enemy manager
    • Initialize() method, adding / Time for action – the enemy manager
    • AddEnemy() method, adding / Time for action – the enemy manager
  • enemy robots, robot rampage project
    • adding / Enemy robots
    • enemy basics / Enemy basics
    • enemies, moving / Moving enemies
    • EnemyManager class / The enemy manager
    • WeaponManager class, updating / Updating the WeaponManager, Time for action – destroying enemies
  • Enqueue() method
    • about / What just happened?
  • exitToolStripMenuItem_Click() event handler / Time for action – creating the menu bar
  • explosion effects, Asteroid Belt Assault project
    • about / Explosion effects
    • particle system, designing / Expanding on sprites – particles
    • particle-based explosions, building / Particle explosions
  • ExplosionManager class
    • about / Particle explosions
    • declarations, adding / Time for action – the ExplosionManager class
    • constructor, adding / Time for action – the ExplosionManager class
    • RandomDirection() helper method, adding / Time for action – creating explosions
    • explosions, creating / Time for action – creating explosions
    • AddExplosion() method, adding / Time for action – creating explosions
    • updating / Time for action – updating and drawing explosions
    • drawing / Time for action – updating and drawing explosions

F

  • FadingPiece class
    • about / Time for action – fading pieces
  • fading pieces
    • generating / Time for action – generating fading pieces
    • adding / What just happened?
  • FallingPiece class
    • about / Time for action – falling pieces
  • falling pieces
    • about / Falling pieces
    • generating / Time for action – generating falling pieces
  • FillFromAbove() method / Time for action – generating falling pieces
  • FillPiece() method / What just happened?
  • findAdjacentNodes() method / What just happened?, Time for action – adjacent squares
  • FindPath() method / Time for action – finding the path, What just happened?
  • FireShot() helper method / Time for action – handling user input
  • FireShot() method
    • about / What just happened?
  • FireWeapon() method / Time for action – beginning the WeaponManager class
  • FixScrollBarScales() helper method / Time for action – scroll bars
  • flood
    • tracking / Time for action – tracking the flood, What just happened?
    • displaying / Displaying the flood, Time for action – displaying the flood, What just happened?
  • Flood Control
    • about / Overview of the games
  • Flood Control game
    • project, setting up / Time for action – set up the Flood Control project, What just happened?
    • Content Pipeline / Introducing the Content Pipeline
    • classes / Classes used in Flood Control
    • GamePiece class / The GamePiece class
    • water filled pipes / Water filled pipes
    • water, propogating / Propagating water
    • building / Building the game
    • animated pieces, adding / Animated pieces
    • SpriteFonts, adding / SpriteFonts
    • GameOver game state, adding / Adding the GameOver game state, Time for action – game over
    • flood, tracking / Time for action – tracking the flood
    • difficulty levels, adding / Difficulty levels, Time for action – adding difficulty levels, What just happened?
  • Flood Control game, building
    • Game1 declarations / Time for action – Game1 declarations, What just happened?
    • Initialize() method, updating / Initialization
    • Draw() method / The Draw() method – the title screen, The Draw() method – the play screen
    • screen, drawing / Time for action – drawing the screen – the title screen, What just happened?, Time for action – drawing the screen – the play screen, What just happened?
    • scores / Time for action – scores and scoring chains, What just happened?
    • scoring chains / Time for action – scores and scoring chains, What just happened?
    • mouse input, handling / Input handling, What just happened?
    • player, letting to play / Time for action – letting the player play, What just happened?
    • playing / Play the game
  • FormClosed event
    • handing / Time for action – handling the FormClosed event
  • frame-based animations
    • about / Animation and movement
    • animation frames, adding / Time for action – adding animation frames
    • Sprite, updating / Time for action – updating the Sprite, What just happened?
    • Sprite, drawing / Time for action – drawing the Sprite, What just happened?

G

  • game
    • building / Building your first game
    • Windows game project, creating / Time for action – creating a new Windows game project, What just happened?
  • Game1 class
    • resetGame() helper function, adding / Time for action – structuring the game
    • updating / Time for action – updating the Game1 class
    • checkPlayerDeath() method, adding / Time for action – updating the Game1 class
  • Game1 class, map editor project
    • updating / Updating the Game1 class, Time for action – updating Game1
  • Game1 Update method / Time for action – the Game1 Update method
  • GameBoard class
    • about / The GameBoard class
    • GameBoard.cs class, creating / Time for action – create the GameBoard.cs class, What just happened?
    • game board, creating / Creating the game board
    • game board, initializing / Time for action – initialize the game board, What just happened?
    • GamePieces, updating / Updating GamePieces
    • game board, manipulating / Time for action – manipulating the game board
    • gaps, filling in / Time for action – filling in the gaps, What just happened?
    • new pieces, generating / Time for action – generating new pieces, What just happened?
    • water filled pipes / Water filled pipes, What just happened?
    • water, propogating / Propagating water
    • connection, making / Time for action – making the connection, What just happened?
  • gameBoardDisplayOrigin vector / What just happened?
  • gameForm_VisibleChanged() method / What just happened?
  • GameManager class
    • adding, to robot rampage project / Time for action – the GameManager class
    • declaration, modifying / Time for action – the GameManager class
    • declarations, adding / Time for action – the GameManager class
    • public methods, adding / Time for action – the GameManager class
  • GameObject class
    • about / Animated game objects
    • building / Animated game objects
    • using directives, adding / Time for action – building the GameObject class – Part 1
    • declaration, modifying / Time for action – building the GameObject class – Part 1
    • declarations, adding / Time for action – building the GameObject class – Part 1
    • properties, adding / Time for action – building the GameObject class – Part 1
    • updateAnimation() helper method, adding / Time for action – building the GameObject class – part 2
    • public methods, adding / Time for action – building the GameObject class – part 2
    • map-based collision detection methods, adding / Time for action – building the GameObject class – part 3
  • GameOver game state
    • adding / Adding the GameOver game state, Time for action – game over
  • GamePiece class
    • about / The GamePiece class, Classes for animated pieces
    • identifying / Identifying a GamePiece
    • building / Time for action – build a GamePiece class – declarations, What just happened?
    • creating / Creating a GamePiece
    • constructors, building / Time for action – building a GamePiece class: constructors
    • updating / Updating a GamePiece
    • methods, updating / Time for action – GamePiece class methods – part 1 – updating
    • methods, rotating / Time for action – GamePiece class methods – part 2 – rotation, What just happened?
    • pipe connectors / Pipe connectors
    • connection, methods / Time for action – GamePiece class methods – part 3 – connection methods
    • GetSourceRect / Time for action – GamePiece class methods – part 4 – GetSourceRect, What just happened?
  • games
    • overview / Overview of the games
    • Flood Control / Overview of the games
    • Asteroid Belt Assault / Overview of the games
    • Robot Rampage / Overview of the games
    • Gemstone Hunter / Overview of the games
    • requisites / System requirements
    • requisites, optional / System requirements
  • game structure, Asteroid Belt Assault project
    • about / The game structure, Time for action – structuring the game
    • drawing / Time for action – drawing the game structure
  • game structure, Gemstone Hunter project
    • about / Game structure
    • game states, implementing / Time for action – implementing game states
  • game structure, robot rampage project
    • about / Game structure
    • score keeping / Keeping score
    • Game1, updating / Updating Game1
  • Gemstone class
    • building / Time for action – building the Gemstone class
    • using directives, adding / Time for action – building the Gemstone class
    • declaration, modifying / Time for action – building the Gemstone class
    • constructor, adding / Time for action – building the Gemstone class
  • Gemstone Hunter
    • about / Overview of the games
  • Gemstone Hunter project
    • graphics, borrowing / Borrowing graphics
    • projects, creating / Time for action – creating projects
    • advanced tile engine, constructing / A more advanced tile engine
    • tile engine project, constructing / A more advanced tile engine, Constructing the tile engine
    • camera, rebuilding / Rebuilding the camera
    • tile map, drawing / Drawing the tile map
    • map editor project / The map editor project
    • animation strips / Animation strips
    • animated game objects / Animated game objects
    • movement / Drawing, animation, and movement
    • animation / Drawing, animation, and movement
    • drawing / Drawing, animation, and movement
    • player, creating / The Player
    • levels, loading / Loading levels
    • gemstones, building / Gemstones
    • score tracking, implementing / Time for action – implementing score tracking
    • property, adding / Time for action – implementing score tracking
    • enemies, creating / Enemies
    • zombies, summoning up / Time for action – summoning up the zombies
    • player-enemy interaction / Player-enemy interaction
    • level transitions / Level transitions, Time for action – supporting map transitions
    • other codes, processing / Processing other codes
    • map codes, handling / Processing other codes
    • game structure / Game structure
  • GenerateNewPieces() / What just happened?
  • GenerateNewPieces() method / Time for action – generating falling pieces
  • GenerateRandomMap() / Time for action – random wall placement
  • GenerateRandomMap() method / What just happened?
  • GetSourceRect() method / Time for action – GamePiece class methods – part 4 – GetSourceRect, What just happened?
  • GetWaterChain() method / Time for action – making the connection
  • GoalManager class
    • adding , to robot rampage project / Time for action – the GoalManager class
    • using directives, adding / Time for action – the GoalManager class
    • declaration, modifying / Time for action – the GoalManager class
    • declarations, adding / Time for action – the GoalManager class
    • read-only property, adding / Time for action – the GoalManager class
    • Initialize() method, adding / Time for action – the GoalManager class
    • public methods, adding / Time for action – the GoalManager class
    • updating / Time for action – the GoalManager class
    • DetectShutdowns () method, adding / Time for action – awarding points
  • graphics object / The declarations area
  • graphics_PreparingDeviceSettings() event handler / Time for action – adding a form

H

  • Handle...() methods / What just happened?
  • HandleGamepadInput() method / What just happened?
  • HandleInput() method / Time for action – beginning the WeaponManager class
  • handleInput() method / What just happened?, Time for action – staying in bounds, Time for action – accounting for walls
  • HandleKeyboardInput() helper method / Time for action – handling user input
  • HandleKeyboardInput() method / What just happened?
  • HandleMouseInput() helper method / Time for action – handling mouse input
  • HasConnector() method / What just happened?

I

  • imposeMovementLimits() helper method / Time for action – updating and drawing the player's ship
  • imposeMovementLimits() method / What just happened?
  • initialize() method
    • about / The Initialize() method
    • customizing / Time for action – customizing the Initialize() method
  • Initialize() method / Time for action – building a sound effects manager, Time for action – creating the TileMap class, Time for action – creating the Player class
  • installing
    • XNA Game Studio / Time for action – installing XNA Game Studio
  • Intersects() method / What just happened?
  • IsBoxColliding() method / What just happened?, What just happened?
  • IsCircleColliding() method / What just happened?
  • IsEqualToNode() method / What just happened?
  • IsKeyDown() method / What just happened?
  • IsMouseVisible property / What just happened?
  • isOnScreen() helper method / Time for action – checking the asteroid's position
  • IsWallTileByPixel() / What just happened?

L

  • Lerping
    • about / What just happened?
  • LevelManager class
    • building / The LevelManager class, Time for action – building the LevelManager class
    • using directives, adding / Time for action – building the LevelManager class
    • declaration, modifying / Time for action – building the LevelManager class
    • declarations, adding / Time for action – building the LevelManager class
    • properties, adding / Time for action – building the LevelManager class
    • Initialize() method, adding / Time for action – building the LevelManager class
    • LoadLevel() method, adding / Time for action – building the LevelManager class
    • ReloadLevel() method, adding / Time for action – building the LevelManager class
  • level transitions, Gemstone Hunter project
    • about / Level transitions
    • map transitions, supporting / Time for action – supporting map transitions
  • LinearCost() method / What just happened?
  • Load() method / What just happened?, What just happened?
  • LoadContent() method
    • about / The LoadContent() method
    / The LoadContent() method, Time for action – add SpriteFonts to Game1, Time for action – using the CollisionManager class, Time for action – creating the Robot Rampage project, Time for action – creating the Camera class, Time for action – spark effects, Time for action – beginning the WeaponManager class
  • LoadImageList() helper method / What just happened?

M

  • map
    • drawing / Drawing the map
    • tile map, drawing / Time for action – drawing the tile map, What just happened?
  • map-based collision detection
    • about / Map-based collision detection
  • map codes / Map codes
  • MapEditor form
    • menu bar, creating / Time for action – creating the menu bar
    • tile selection controls / Time for action – tile selection controls
    • scroll bars / Time for action – scroll bars
    • final controls / Time for action – final controls
    • connecting, to game / Connecting the form to the game
    • editor, completing / Time for action – completing the editor – part 1
    • scrolling delay, fixing / Time for action – fixing the scrolling delay
  • map editor project
    • about / The map editor project
    • creating / Creating the map editor project
    • level editor project, creating / Time for action – creating the level editor project, What just happened?
    • form, adding / Adding a form, Time for action – adding a form
    • event handlers, adding / Time for action – adding event handlers
    • controls, adding to form / Filling Out Our Form
    • Game1 class, updating / Updating the Game1 class, Time for action – updating Game1
    • Game1 Update method / Time for action – the Game1 Update method
    • maps, loading / Loading and Saving Maps, Time for action – implementing loading and saving
    • maps, saving / Loading and Saving Maps, Time for action – implementing loading and saving
    • passability / Passability
    • map codes / Map codes
  • MapEditor_FormClosed() event / Time for action – handling the FormClosed event
  • MapEditor_Load() event handler / Time for action – tile selection controls
  • MapEditor_Load() method / Time for action – final controls
  • MapEditor_Resize() method / Time for action – scroll bars
  • MapSquare class
    • adding, to Gemstone Hunter project / Time for action – the MapSquare class
    • using directives, adding / Time for action – the MapSquare class
    • declaration, modifying / Time for action – the MapSquare class
    • declarations, adding / Time for action – the MapSquare class
    • TogglePassable() method, adding / Time for action – the MapSquare class
  • map squares
    • dealing with / Time for action – dealing with map squares, What just happened?
  • mapSquares array / Map squares
  • MathHelper / What just happened?
  • MathHelper.Clamp() / What just happened?
  • MathHelper.Clamp() method / What just happened?
  • MathHelper.Max() method / What just happened?
  • MouseState class / What just happened?
  • Move() method / What just happened?

N

  • Next() method / What just happened?
  • numeric literals
    • vs constants / What just happened?

O

  • ObjectIsVisible() method / What just happened?

P

  • particle-based explosions
    • building / Particle explosions
  • Particle class
    • constructing / Time for action – constructing the Particle class
    • declarations, adding / Time for action – constructing the Particle class, Time for action – the Particle class
    • constructor, adding / Time for action – constructing the Particle class, Time for action – the Particle class
    • updating / Time for action – updating and drawing particles, Time for action – the Particle class
    • drawing / Time for action – updating and drawing particles
    • creating / Time for action – the Particle class, Time for action – the EffectsManager class, Time for action – building explosions, Time for action – spark effects, Time for action – beginning the WeaponManager class, Time for action – new weapons, Time for action – shots colliding with tiles, Time for action – power-ups
    • using directives, adding / Time for action – the Particle class
    • properties, adding / Time for action – the Particle class
  • particle system, explosion effects
    • designing / Expanding on sprites – particles
  • passability / Passability
  • PathFinder class
    • adding, to robot rampage project / Time for action – beginning the implementation of A*
    • using directive, adding / Time for action – beginning the implementation of A*
    • class declaration, modifying / Time for action – beginning the implementation of A*
    • declarations, adding / Time for action – beginning the implementation of A*
    • addNodeToOpenList() method, adding / Time for action – beginning the implementation of A*
    • FindPath() method, adding / Time for action – finding the path
    • findAdjacentNodes() method, adding / Time for action – adjacent squares
  • path finding system implementation, robot rampage project
    • about / Path finding
    • A* path finding algorithm / The A* path-finding algorithm
    • A* implementation / Implementing A*
    • power-ups, placing safely / Safely placing power-ups
  • PathNode class
    • adding, to robot rampage project / Time for action – the PathNode class
    • using directive, adding / Time for action – the PathNode class
    • declarations, adding / Time for action – the PathNode class
    • properties, adding / Time for action – the PathNode class
    • constructor, adding / Time for action – the PathNode class
    • helper method, adding / Time for action – the PathNode class
  • pathWaypoints object / What just happened?
  • pieceType parameter / What just happened?
  • PlayAnimation() method / Time for action – building the GameObject class – part 2
  • PlayEnemyShot() method / Time for action – building a sound effects manager
  • player
    • adding / Adding the player
    • Player class, building / Building the Player class, Time for action – building the Player class, What just happened?
    • input, handling / Time for action – handling input
    • in bounds, staying / Time for action – staying in bounds
    • walls, accounting for / Time for action – accounting for walls, What just happened?
  • player's ship
    • drawing / Time for action – updating and drawing the player's ship
    • updating / Time for action – updating and drawing the player's ship
  • player-enemy interaction, Gemstone Hunter project
    • about / Player-enemy interaction
    • zombies, interacting with / Time for action – interacting with zombies
  • Player class
    • creating / Time for action – creating the Player class
    • using directives, adding / Time for action – creating the Player class
    • declaration, modifying / Time for action – creating the Player class
    • declarations, adding / Time for action – creating the Player class
    • Dead property, adding / Time for action – creating the Player class
    • constructor, creating / Time for action – creating the Player class
    • running animation / Running...
    • update() method, overriding / Time for action – overriding the Update() method – part 1
    • jumping animation / ...and jumping
    • repositionCamera() method / Time for action – repositioning the camera
  • player goals implementation, robot rampage project
    • about / Player goals
    • computer terminals, building / Computer terminals, Time for action – building a computer terminal
    • computer terminals, spawning / Spawning computer terminals
  • PlayerManager class
    • creating / Adding the player
    • declarations, adding / Time for action – creating the PlayerManager class
    • constructor, adding / Time for action – creating the PlayerManager class
    • user input, handling / Handling user input, Time for action – handling user input
    • FireShot() helper method, adding / Time for action – handling user input
    • HandleKeyboardInput() helper method, adding / Time for action – handling user input
    • HandleGamepadInput() helper method, adding / Time for action – handling user input
    • imposeMovementLimits() helper method, adding / Time for action – updating and drawing the player's ship
    • Update() method, adding / Time for action – updating and drawing the player's ship
    • Draw() method, adding / Time for action – updating and drawing the player's ship
  • playerScore / What just happened?
  • player shot collisions
    • about / Time for action – player shot collisions
  • PlayExplosion() method / Time for action – building a sound effects manager
  • PlayPlayerShot() method / Time for action – building a sound effects manager
  • position vector / What just happened?
  • power ups, robot rampage project
    • about / Power-ups
    • spawning / Power-ups
  • PreparingDeviceSettings event / What just happened?
  • PropagateWater() method / Time for action – making the connection, What just happened?
  • public methods, GameObject class
    • PlayAnimation() method, adding / Time for action – building the GameObject class – part 2
    • Update() method, adding / Time for action – building the GameObject class – part 2
    • Draw() method, adding / Time for action – building the GameObject class – part 2
  • puzzle game
    • designing / Designing a puzzle game
    • Flood Control project, setting up / Time for action – set up the Flood Control project, What just happened?

R

  • rand / What just happened?
  • Random.Next() method / What just happened?
  • RandomDirection() helper method / Time for action – creating explosions
  • random map
    • generating / Generating a random map
    • random wall placement / Time for action – random wall placement, What just happened?
  • RandomPiece () method / What just happened?
  • randomVelocity() method / What just happened?
  • redistributable fonts package / What just happened?
  • RemoveSuffix() method / Time for action – GamePiece class methods – part 1 – updating
  • Replace() method / Time for action – GamePiece class methods – part 1 – updating
  • repositionCamera() / What just happened?
  • repositionCamera() helper method / Time for action – staying in bounds
  • resetGame() helper function / Time for action – structuring the game
  • resetGame() method / What just happened?
  • ResetWater() method / What just happened?
  • Robot Rampage
    • about / Overview of the games
  • robot rampage project
    • creating / Time for action – creating the Robot Rampage project
    • visual effects / Visual effects
    • weaponry, adding / Adding weaponry
    • path finding system, implementing / Path finding
    • A*, implementing / The A* path-finding algorithm
    • player goals, implementing / Player goals
    • enemy robots, adding / Enemy robots
    • game structure / Game structure
  • RotatePiece() method / Time for action – GamePiece class methods – part 2 – rotation, What just happened?
  • RotatingPiece class
    • about / Time for action – rotating pieces
    • modifying / What just happened?
  • rotating pieces
    • about / Rotating pieces
    • generating / Time for action – modify Game1 to generate rotating pieces
  • rotationAmount property / What just happened?
  • rowLookup variable / What just happened?
  • running animation, Player class
    • about / Running...

S

  • score display
    • about / Score display, What just happened?
  • ScoreZoom class
    • about / ScoreZooms
    • creating / Time for action – creating the ScoreZoom class
    • displaying / Time for action – updating and displaying ScoreZooms, What just happened?
    • updating / Time for action – updating and displaying ScoreZooms, What just happened?
  • ScreenToWorld() method / What just happened?
  • SelectedIndexChanged event / Time for action – completing the editor – part 1
  • Serialize() method / What just happened?
  • SetTileAtCell() method / What just happened?
  • SetTileAtSquare() / What just happened?
  • setUpWaypoints() method / What just happened?
  • ShotManager class
    • adding / Time for action – adding the ShotManager class
    • declarations, adding / Time for action – adding the ShotManager class
    • constructor, adding / Time for action – adding the ShotManager class
    • about / What just happened?
    • FireShot() method, adding / Time for action – firing shots
    • Update() method, adding / Time for action – updating and drawing shots
    • Draw() method, adding / Time for action – updating and drawing shots
  • shots
    • firing / Time for action – firing shots
  • sound effects, Asteroid Belt Assault project
    • about / Sound effects
    • finding / Generating and finding sound effects
    • generating / Generating and finding sound effects
  • sound effects manager
    • building / Time for action – building a sound effects manager
  • SoundManager class
    • about / Sound in XNA
    • declaration, modifying / Time for action – building a sound effects manager
    • Initialize() method, adding / Time for action – building a sound effects manager
    • PlayExplosion() method, adding / Time for action – building a sound effects manager
    • PlayPlayerShot() method, adding / Time for action – building a sound effects manager
    • PlayEnemyShot() method, adding / Time for action – building a sound effects manager
    • implementing / Time for action – using the SoundManager class
  • SpawnEnemy() method / Time for action – spawning enemies
  • sprite-based star field
    • about / A sprite-based star field
  • SpriteBatch.Draw() call / Sprites and sprite sheets
  • SpriteBatch.Draw() method / What just happened?, What just happened?
    • about / What just happened?
  • SpriteBatch.Draw() overload / SpriteBatch overloads
  • SpriteBatch.DrawString() method / Score display
  • spriteBatch.End() / What just happened?
  • SpriteBatch overloads
    • used, for drawing animated pieces / SpriteBatch overloads
  • Sprite class
    • new Sprite class, building / Time for action – building a new Sprite class
  • Sprite class, Asteroid Belt Assault project
    • about / Another definition for "sprite"
    • building / Building the Sprite class
    • declarations / Time for action – declarations for the Sprite class, What just happened?
    • constructor, adding / Time for action – Sprite constructor
    • basic properties, adding / Time for action – basic Sprite properties
    • TintColor property / What just happened?
    • Velocity property / What just happened?
    • Location property / What just happened?
    • animation and drawing properties, adding / Time for action – animation and drawing properties
    • Frame property / What just happened?
    • FrameTime property / What just happened?
    • Source property / What just happened?
    • collision detection, supporting / Collision detection, Time for action – supporting collision detection
    • frame-based animation / Animation and movement
  • SpriteFonts
    • adding, to game / SpriteFonts, Time for action – add SpriteFonts to Game1, What just happened?
    • score display / Score display
    • ScoreZoom / ScoreZooms
  • sprites
    • and sprite sheets / Sprites and sprite sheets
    • vs textures / Sprites and sprite sheets
  • sprite sheets
    • and sprites / Sprites and sprite sheets
  • SquareChase!
    • drawing / Time for action – draw SquareChase!, What just happened?
    • playing / Time for action – play SquareChase!
  • SquareChase mini game, variables
    • rand / What just happened?
    • squareTexture / What just happened?
    • currentSquare / What just happened?
    • playerScore / What just happened?
    • timeRemaining / What just happened?
    • TimePerSquare / What just happened?
    • colors / What just happened?
  • SquareScreenRectangle() method / What just happened?
  • squareTexture / What just happened?
    • creating / Time for action – creating the squareTexture
  • SquareWorldRectangle() method / What just happened?
  • StarField.Draw() method / What just happened?
  • StarField class
    • about / A sprite-based star field
    • creating / Time for action – creating the StarField class
    • declarations, adding / Time for action – creating the StarField class
    • constructor, adding / Time for action – creating the StarField class
    • drawing / Time for action – updating and drawing the StarField
    • updating / Time for action – updating and drawing the StarField
    • implementing / Time for action – viewing the StarField in action
  • StartNewGame () method / What just happened?
  • StartNewLevel() method / Time for action – adding difficulty levels

T

  • TargetElapsedTime property / The Update() method
  • TextChanged event handler / Time for action – completing the editor – part 1
  • Texture2D object / What just happened?
  • this.Window.ClientBounds property / What just happened?
  • tile engine project
    • constructing / A more advanced tile engine
    • MapSquare class, adding / Time for action – the MapSquare class
  • tile map
    • drawing / Drawing the tile map
    • adding, to game project / Time for action – adding the tile map to the game project
  • TileMap class
    • using directives, adding / Time for action – the TileMap class – part 1
    • declaration, modifying / Time for action – the TileMap class – part 1
    • declarations, adding / Time for action – the TileMap class – part 1
    • Initialize() method, adding / Time for action – the TileMap class – part 1
    • methods, adding / Time for action – the TileMap class – part 2
  • Tile_Sheet.png file / Sprites and sprite sheets
  • TimePerSquare / What just happened?
  • timeRemaining / What just happened?
  • timeRemaining counter / What just happened?
  • timerGameUpdate_Tick() handler / What just happened?
  • titles
    • about / Tiles
    • title map / The tile map
    • TileMap class, creating / Time for action – creating the TileMap class, What just happened?
    • dealing with / Dealing with tiles
    • handling / Time for action – handling tiles, What just happened?
  • Transform() method / What just happened?
  • tryToSpawnPowerup() method / Time for action – power-ups
  • turretAngle vector / What just happened?

U

  • Update() / The Draw() method
  • Update(). Max() / What just happened?
  • Update() method
    • about / The Update() method, Time for action – updating and drawing shots
    • coding, for SquareChase / Time for action – coding Update() for SquareChase
    / What just happened?, Time for action – building a new Sprite class
  • UpdateAnimatedPieces() method
    • about / Time for action – updating GameBoard to support animatedpieces
    • calling / Calling UpdateAnimatedPieces()
  • updateAnimation() helper method / Time for action – building the GameObject class – part 2
  • UpdateFadingPieces() method
    • about / Time for action – updating GameBoard to support animatedpieces
  • UpdateFallingPieces() method
    • about / Time for action – updating GameBoard to support animatedpieces
  • UpdatePiece() method / What just happened?
  • UpdateRotatingPieces() method
    • about / Time for action – updating GameBoard to support animatedpieces
  • updateWaveSpawns() method / Time for action – spawning enemies, What just happened?
  • user input, handling
    • about / Handling user input
  • using directives / Time for action – building a new Sprite class, Time for action – building the Player class

V

  • verticalOffset parameter / What just happened?
  • view
    • visualizing / Visualizing the view
    • sprite, viewing / Time for action – viewing the Sprite and Camera classes in action, What just happened?
    • Camera classes, viewing / Time for action – viewing the Sprite and Camera classes in action, What just happened?
  • viewPortSize vector / What just happened?
  • visual effects, robot rampage project
    • about / Visual effects
    • particles, revisiting / Revisiting particles
    • particle class, adding / Time for action – the Particle class, Time for action – the EffectsManager class, Time for action – building explosions, Time for action – spark effects, Time for action – beginning the WeaponManager class, Time for action – new weapons, Time for action – shots colliding with tiles, Time for action – power-ups
    • EffectsManager class, adding / The EffectsManager class
    • explosions, building / Time for action – building explosions
    • spark effects / Time for action – spark effects

W

  • wallChancePerSquare / What just happened?
  • waterHeight variable / What just happened?
  • WaterTracker list / What just happened?
  • waveSpawns dictionary / What just happened?
  • WaypointReached() method / What just happened?
  • waypoints, managing
    • EnemyManager class, setting up / Time for action – setting up the EnemyManager class
    • enemies, spawning / Time for action – spawning enemies
  • WeaponManager class
    • about / The WeaponManager class, Time for action – new weapons
    • beginning / Time for action – beginning the WeaponManager class
    • using directives, adding / Time for action – beginning the WeaponManager class
    • declaration, modifying / Time for action – beginning the WeaponManager class
    • declarations, adding / Time for action – beginning the WeaponManager class, Time for action – power-ups
    • properties, adding / Time for action – beginning the WeaponManager class
    • AddShot() method, adding / Time for action – beginning the WeaponManager class
    • FireWeapon() method, adding / Time for action – beginning the WeaponManager class
    • updating / Time for action – beginning the WeaponManager class, Time for action – updating the WeaponManager class, Updating the WeaponManager
    • WeaponFireDelay property, replacing / Time for action – new weapons
    • FireWeapon() method, replacing / Time for action – new weapons
    • checkWeaponUpgradExpire() method, adding / Time for action – new weapons
    • checkShotWallImpacts() method, adding / Time for action – shots colliding with tiles
    • createLargeExplosion() method, adding / Time for action – shots colliding with tiles
    • Update() method, modifying / Time for action – shots colliding with tiles
    • tryToSpawnPowerup() method, adding / Time for action – power-ups
    • checkPowerupSpawns() method, adding / Time for action – power-ups
    • checkPowerupPickups() method, adding / Time for action – power-ups
    • checkRocketSplashDamage(), adding / Time for action – destroying enemies
    • checkShotEnemyImpacts(), adding / Time for action – destroying enemies
    • checkShotEnemyImpacts () method, adding / Time for action – awarding points
    • checkRocketSplashDamage() method, adding / Time for action – awarding points
  • weapon upgrades, robot rampage project
    • about / Weapon upgrades
    • shot to map collisions / Shot to map collisions
    • power-ups / Power-ups
  • Windows game project
    • creating / Time for action – creating a new Windows game project, What just happened?
  • WorldToScreen() method / What just happened?

X

  • XNA
    • sound, implementing / Sound in XNA
  • XNA game
    • about / Anatomy of an XNA game
    • declarations area / The declarations area
    • variables, adding to class declaration area / Time for action – adding variables to the class declaration area
    • Game1 class constructor / The Game1 class constructor
    • initialize() method / The Initialize() method
    • initialize() method, customizing / Time for action – customizing the Initialize() method
    • LoadContent() method / The LoadContent() method
    • squareTexture, creating / Time for action – creating the squareTexture
    • update() method / The Update() method
    • update(), coding for SquareChase / Time for action – coding Update() for SquareChase
    • Draw() method / The Draw() method
    • SquareChase!, drawing / Time for action – draw SquareChase!, What just happened?
    • SquareChase!, playing / Time for action – play SquareChase!, Have a go hero
  • XNA Game Studio
    • requisites / System requirements
    • requisites, optional / System requirements
    • installing / Time for action – installing XNA Game Studio
lock icon The rest of the chapter is locked
arrow left Previous Section
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime