Contents
Chapter 1: Introducing 2D Game Development in C#
Downloading and Installing Development Tools
Download and install the IDE: Visual Studio Express
Download and install the game SDK: MonoGame Framework
Download and install the asset builder: XNB Builder
What Is Not Covered in This Book?
Chapter 2: Getting to Know the MonoGame Framework
The Visual Studio Development Environment
Creating a MonoGame project in Visual Studio
The Visual Studio layout and Solution Explorer
The relationship between the file system and Solution Explorer
Understanding the MonoGame Framework
The Microsoft.Xna.Framework.Game Class
Adding, Drawing, and Controlling Content
Creating the Draw and Control project
Wrapping Game Controller with the Keyboard
Creating the Input Wrapper project
Chapter 3: 2D Graphics, Coordinates, and Game State
The Textured Primitive project
Creating the TexturedPrimitive class
Adding TexturedPrimitive functionality and behavior
Using the TexturedPrimitive class
The User-Defined Coordinate System project
Creating a user-defined coordinate system
Creating the FontSupport class
Using and observing the FontSupport class
The Simple Game Object project
Modifying the classes to include bounds support
Adding collision detection support
Adding TexturedPrimitive collision detection support
Creating the game state object
Modifying Game1 to support the game state
Chapter 4: Getting Things Moving
The Rotate Textured Primitive project
Modifying the TexturedPrimitive class
Creating the ChaserGameObject class
Chapter 5: Pixel-accurate collisions
The Pixel-Accurate Collision project
Extending the TexturedPrimitive class
The General Pixel Collision project
Modifying the TexturedPrimitive class
Creating the RotateObject class
Chapter 6: Game object states and Semiautonomous Behaviors
Review of finite state machines
Creating the SpinningArrow class
Creating the PlayerControlHero class
The Many Spinning Arrows project
Modifying the SpinningArrow class
Creating the SpinningArrowSet class
Creating the PatrolEnemy class
The Smooth Turning Patrol project
Modifying the PatrolEnemy class
The Patrol That Chases project
Modifying the PatrolEnemy class
Creating the PatrolEnemySet class
Chapter 7: Sprites, Camera, Action!
Creating the SpritePrimitive class
Modifying the TexturedPrimitive class
Modifying the SpritePrimitive class
Modifying the TexturedPrimitivePixelCollide partial class
Creating the AudioSupport class
Modifying the TexturedPrimitive class
Creating the ParticlePrimitive class
Creating the ParticleSystem class
Creating the ReddishParticlePrimitive class
Creating the ParticleEmitter class
Modifying the ParticleSystem class
Chapter 9: Building Your First 2D Game
Modifying the PatrolEnemy class
Creating the JellyFish, BlowFish and FightingFish classes
Creating the PatrolEnemySet class
Creating the EnvironmentGenerator class