2D Graphics Programming for Games: 1st Edition (Paperback) book cover

2D Graphics Programming for Games

1st Edition

By John Pile,Jr.

A K Peters/CRC Press

240 pages | 154 Color Illus. | 154 B/W Illus.

Purchasing Options:$ = USD
Paperback: 9780367380052
pub: 2019-07-31
SAVE ~$14.99
Available for pre-order
Hardback: 9781466501898
pub: 2013-05-20
SAVE ~$10.99
eBook (VitalSource) : 9780429184451
pub: 2016-04-19
from $27.48

FREE Standard Shipping!


The success of Angry Birds, Peggle, and Fruit Ninja has proven that fun and immersive game experiences can be created in two dimensions. Furthermore, 2D graphics enable developers to quickly prototype ideas and mechanics using fewer resources than 3D.

2D Graphics Programming for Games provides an in-depth single source on creating 2D graphics that can be easily applied to many game platforms, including iOS, Android, Xbox 360, and the PlayStation Suite. The author presents examples not only from video games but also from art and animated film.

The book helps new programmers learn the concepts and techniques used to produce appealing 2D graphics. It starts with the basics and then covers topics pertaining to motion and depth, such as cel animation, tiling, and layering. The text also describes advanced graphics, including the use of particle systems, shaders, and splines. Code samples in the text and online allow readers to see a particular line of code in action or as it relates to the code around it. In addition, challenges and suggested projects encourage readers to work through problems, experiment with solutions, and tinker with code.

Full of practical tools and tricks, this color book gives novices in-depth guidance on making professional, high-quality graphics for games. It also improves the relationship between programmers and artists by explaining how certain art and design challenges can be solved with a programmatic solution.

Table of Contents

I Getting Started in 2D


About This Book

Why C# and XNA?

Game Development 101

Game Developer Platforms

Book Organization

Basics of Computer Graphics

Bits and Bytes


Double Buffering

Graphic File Formats


What Is a Sprite?

Layering with Depth

The Sprite Sheet and the GPU

Scaling Sprites

II Motion and Depth


Historical Animation

Cel Animation

A Few Principles of Animation

Animation Cycles

Camera and Tiling

A Simple Camera

Simple Camera Zoom


Isometric Tiled Graphics

The Illusion of Depth

A Historical Perspective on Perspective


The Six Principles of Depth

The 6 Principles in Code

Traditional Perspective


User Interface

UI Types



Safe Frames


III Advanced Graphics

Particle Systems

What’s a Particle?

Creating Effects

Blending Types

Types of Effects

An Effects System


GPU Programming

Pixel Modification

Full Screen Pixel Modifications

What Is a Shader

Shader Languages

Pixel Shader Examples

Polish, Polish, Polish!


Sinusoidal Movement


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




Exercises appear at the end of each chapter.

About the Author

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.

Subject Categories

BISAC Subject Codes/Headings:
COMPUTERS / Computer Graphics
COMPUTERS / Programming / Games
COMPUTERS / Computer Engineering