Introduction | p. 1 |
Getting Started | p. 5 |
Learning the Basics of Game Creation | p. 7 |
Getting to Know Video Games | p. 8 |
Game Design Essentials | p. 11 |
Object-Oriented Programming and Games | p. 17 |
Exploring the Tools of the Trade | p. 20 |
A Windows Game Programming Primer | p. 25 |
Windows Programming Essentials | p. 26 |
Peeking Inside a Windows Program | p. 30 |
Building the Skeleton Example Program | p. 37 |
Creating an Engine for Games | p. 45 |
What Is a Game Engine? | p. 46 |
Pondering the Role of a Game Engine | p. 47 |
Developing a Game Engine | p. 50 |
Building the Game Skeleton Example Program | p. 60 |
Learning to Draw Basic Graphics | p. 69 |
Graphics Essentials | p. 70 |
Examining Graphics in Windows | p. 73 |
Painting Windows | p. 76 |
Building the Trippy Example Program | p. 84 |
Drawing Graphical Images | p. 91 |
The Basics of Bitmap Images | p. 92 |
Peeking Inside a Bitmap | p. 93 |
Developing a Bitmap Class | p. 94 |
Building the Slideshow Example Program | p. 99 |
Interacting with Game Players | p. 111 |
Controlling Games with the Keyboard and Mouse | p. 113 |
Gaming and User Input | p. 114 |
Taking a Look at User Input Devices | p. 115 |
Assessing Keyboard Input for Games | p. 118 |
Tracking the Mouse | p. 119 |
Revamping the Game Engine for Input | p. 121 |
Building the UFO Program Example | p. 126 |
Improving Input with Joysticks | p. 135 |
Joystick Basics | p. 136 |
Calibrating Joysticks | p. 137 |
Tracking Joystick Movements | p. 140 |
Revamping the Game Engine for Joysticks | p. 143 |
Building the UFO 2 Program Example | p. 148 |
Example Game: Brainiac | p. 155 |
How Does the Game Play? | p. 156 |
Designing the Game | p. 157 |
Building the Game | p. 158 |
Testing the Game | p. 165 |
Animating Games with Sprites | p. 171 |
A Crash Course in Game Animation | p. 173 |
What Is Animation? | p. 174 |
2D Versus 3D Animation | p. 176 |
Types of 2D Animation | p. 176 |
Applying Animation in Games | p. 182 |
Making Things Move with Sprites | p. 185 |
Evaluating the Role of Sprites in Games | p. 186 |
Designing an All-Purpose Sprite | p. 186 |
Creating the Sprite Class | p. 188 |
Building the Fore Program Example | p. 195 |
Managing a World of Sprites | p. 205 |
Assessing the Need for Sprite Management | p. 206 |
Designing a Sprite Manager | p. 207 |
Adding the Sprite Manager to the Game Engine | p. 208 |
Eliminating Flicker with Double Buffering | p. 214 |
Building the Fore 2 Program Example | p. 217 |
Example Game: Henway | p. 225 |
How Does the Game Play? | p. 226 |
Designing the Game | p. 228 |
Building the Game | p. 229 |
Testing the Game | p. 239 |
Making Noise with Sound and Music | p. 243 |
Getting Acquainted with Digital Sound and Music | p. 245 |
Understanding Digital Sound | p. 246 |
Getting to Know Windows Waves | p. 248 |
Feeling the Music with MIDI | p. 249 |
Exploring Sound Tools | p. 251 |
Creating and Editing Sounds | p. 252 |
Finding Sounds and Music | p. 253 |
Playing Wave Sounds | p. 257 |
Accessing Wave Sounds | p. 258 |
Playing Wave Sounds | p. 258 |
Building the Brainiac 2 Program Example | p. 262 |
Playing MIDI Music | p. 271 |
Understanding the Windows Media Control Interface | p. 272 |
Using the MCI to Play MIDI Music | p. 272 |
Adding MIDI Music Support to the Game Engine | p. 276 |
Building the Henway 2 Program Example | p. 278 |
Example Game: Battle Office | p. 287 |
How Does the Game Play? | p. 288 |
Designing the Game | p. 288 |
Building the Game | p. 291 |
Testing the Game | p. 302 |
Taking Animation to the Next Level | p. 307 |
Animating the Appearance of Sprites | p. 309 |
Frame Animation Revisited | p. 310 |
Designing an Animated Sprite | p. 311 |
Adding Animated Sprite Support to the Game Engine | p. 313 |
Building the Battle Office 2 Program Example | p. 318 |
Creating Backgrounds for Your Sprites | p. 323 |
Assessing the Significance of Game Backgrounds | p. 324 |
Understanding the Types of Game Backgrounds | p. 325 |
Adding Background Support to the Game Engine | p. 328 |
Building the Roids Program Example | p. 334 |
Example Game: Meteor Defense | p. 341 |
How Does the Game Play? | p. 342 |
Designing the Game | p. 342 |
Enhancing Sprites in the Game Engine | p. 345 |
Building the Game | p. 348 |
Testing the Game | p. 359 |
Adding Brains to Your Games | p. 365 |
Teaching Games to Think | p. 367 |
Understanding Artificial Intelligence | p. 368 |
Exploring Types of Game AI | p. 370 |
Developing an AI Strategy | p. 376 |
Building the Roids 2 Program Example | p. 377 |
Example Game: Space Out | p. 385 |
How Does the Game Play? | p. 386 |
Designing the Game | p. 386 |
Adding One Last Sprite Feature to the Game Engine | p. 389 |
Building the Game | p. 391 |
Testing the Game | p. 405 |
Spicing up Your Games | p. 411 |
Adding Pizzazz to Your Game with a Splash Screen | p. 413 |
The Importance of a Splash Screen | p. 414 |
Looking Behind a Splash Screen | p. 415 |
Building the Space Out 2 Game | p. 416 |
Showing Off Your Game with Demo Mode | p. 423 |
What Is Demo Mode? | p. 424 |
The Nuts and Bolts of Demo Mode | p. 424 |
Building the Space Out 3 Game | p. 425 |
Keeping Track of High Scores | p. 437 |
The Significance of Keeping Score | p. 438 |
Modeling High Score Data | p. 439 |
Storing and Retrieving High Score Data | p. 439 |
Building the Space Out 4 Game | p. 442 |
Appendixes | p. 455 |
Quiz Answers | p. 457 |
"Learning the Basics of Game Creation" | p. 457 |
"A Windows Game Programming Primer" | p. 458 |
"Creating an Engine for Games" | p. 458 |
"Learning to Draw Basic Graphics" | p. 458 |
"Drawing Graphical Images" | p. 459 |
"Controlling Games with the Keyboard and Mouse" | p. 459 |
"Improving Input with Joysticks" | p. 459 |
"Example Game: Brainiac" | p. 460 |
"A Crash Course in Game Animation" | p. 460 |
"Making Things Move with Sprites" | p. 460 |
"Managing a World of Sprites" | p. 461 |
"Example Game: Henway" | p. 461 |
"Getting Acquainted with Digital Sound and Music" | p. 461 |
"Playing Wave Sounds" | p. 462 |
"Playing MIDI Music" | p. 462 |
"Example Game: Battle Office" | p. 462 |
"Animating the Appearance of Sprites" | p. 463 |
"Creating Backgrounds for Your Sprites" | p. 463 |
"Example Game: Meteor Defense" | p. 463 |
"Teaching Games to Think" | p. 464 |
"Example Game: Space Out" | p. 464 |
"Adding Pizzazz to Your Game with a Splash Screen" | p. 465 |
"Showing Off Your Game with Demo Mode" | p. 465 |
"Keeping Track of High Scores" | p. 465 |
Selecting a Game Development Tool | p. 467 |
Microsoft Visual C++ | p. 468 |
Borland C++Builder | p. 469 |
Bloodshed Dev-C++ | p. 469 |
DJGPP | p. 469 |
Index | p. 471 |
Table of Contents provided by Syndetics. All Rights Reserved. |
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.