I Getting Started in 2D
Introduction
About This Book
Why C# and XNA?
Game Development 101
Game Developer Platforms
Book Organization
Basics of Computer Graphics
Bits and Bytes
Display
Double Buffering
Graphic File Formats
Sprites!
What Is a Sprite?
Layering with Depth
The Sprite Sheet and the GPU
Scaling Sprites
II Motion and Depth
Animation
Historical Animation
Cel Animation
A Few Principles of Animation
Animation Cycles
Camera and Tiling
A Simple Camera
Simple Camera Zoom
Tiling
Isometric Tiled Graphics
The Illusion of Depth
A Historical Perspective on Perspective
Layering
The Six Principles of Depth
The 6 Principles in Code
Traditional Perspective
Summary
User Interface
UI Types
Fonts
Localization
Safe Frames
Menus
III Advanced Graphics
Particle Systems
What’s a Particle?
Creating Effects
Blending Types
Types of Effects
An Effects System
Optimization
GPU Programming
Pixel Modification
Full Screen Pixel Modifications
What Is a Shader
Shader Languages
Pixel Shader Examples
Polish, Polish, Polish!
Transitions
Sinusoidal Movement
Splines
Working with Your Artist
A Conclusion
IV Appendices
Math Review: Geometry
Geometry Primer
Math Review: Vectors
Vectors and Notation
Vector Comparison
Length, Addition, and Subtraction
Unit Vectors and Normalizing a Vector
Standard Unit Vectors and Polar Representation
Math Review: Trigonometry
Triangle Trig
Unit-Circle Trig
Trig as a Collection of Periodic Functions
Translations and Transforms of Trig Functions
Circles and Ellipses
The Tangent Function
Bibliography
Glossary
Index
Exercises appear at the end of each chapter.
Biography
John Pile, Jr. is an assistant professor of game programming at Champlain College, where he teaches courses in graphics programming, game physics, game networking, and iPhone game development. He has a decade of experience as a game programmer and indie game developer. He was a multiplatform engineer on the team that developed the 2009 BAFTA Scotland Game of the Year, Flock!, and the acclaimed repackaging of CAPCOM’s Final Flight: Double Impact. He earned an MS in computer games technology from the University of Abertay.






