CONTENIDO: GAME PROGRAMMING OVERVIEW
Evolution of Video Game Programming
The Game Loop
Time and Games
Game Objects
Summary
Review Questions
Additional References
2D GRAPHICS
2D Rendering Foundations
Sprites
Scrolling
Tile Maps
Summary
Review Questions
Additional References
LINEAR ALGEBRA FOR GAMES
Vectors
Matrices
Summary
Review Questions
Additional References
3D GRAPHICS
Basics
Coordinate Spaces
Lighting and Shading
Visibility
World Transform, Revisited
Summary
Review Questions
Additional References
INPUT
Input Devices
Event-Based Input Systems
Mobile Input
Summary
Review Questions
Additional References
SOUND
Basic Sound
3D Sound
Digital Signal Processing
Other Sound Topics
Summary
Review Questions
Additional References
PHYSICS
Planes, Rays, and Line Segments
Collision Geometry
Collision Detection
Physics-Based Movement
Physics Middleware
Summary
Review Questions
Additional References
CAMERAS
Types of Cameras
Perspective Projections
Camera Implementations
Camera Support Algorithms
Summary
Review Questions
Additional References
ARTIFICIAL INTELLIGENCE
“Real” AI versus Game AI
Pathfinding
State-Based Behaviors
Strategy and Planning
Summary
Review Questions
Additional References
USER INTERFACES
Menu Systems
HUD Elements
Other UI Considerations
Summary
Review Questions
Additional References
SCRIPTING LANGUAGES AND DATA FORMATS
Scripting Languages
Implementing a Scripting Language
Data Formats
Case Study: UI Mods in World of Warcraft
Summary
Review Questions
Additional References
NETWORKED GAMES
Protocols
Network Topology
Cheating
Summary
Review Questions
Additional References
SAMPLE GAME: SIDE-SCROLLER FOR IOS
Overview
Code Analysis
Exercises
Summary
SAMPLE GAME: TOWER DEFENSE FOR PC/MAC
Overview
Code Analysis
Exercises
Summary ANSWERS TO REVIEW QUESTIONS
Game Programming Overview
2D Graphics
Linear Algebra for Games
3D Graphics
Input
Sound
Physics
Cameras
Artificial Intelligence
User Interfaces
Scripting Languages and Data Formats
Networked Games
USEFUL TOOLS FOR PROGRAMMERS
Debugger
Source Control
Diff and Merging Tools
Issue Tracking
Index