PC Game Programming Explorer


Table of Contents


  1. The Great Adventure
  2. Mastering the Keyboard
  3. Catching the Mouse
  4. Joystick Magic
  5. VGA Basics
  6. Bitmaps and Bitblts
  7. Adventures in Animation
  8. Color Your World
  9. Detecting Collisions
  10. Controlling Game Speed
  11. Creating Alien Alley
  12. Audio Immersion
  13. Scrolling Along

Detailed Table of Contents

  1. The Great Adventure
    • Game Programming versus Game Design
    • The Structure of a Game Program
    • Assumed Knowledge
    • Example Code
    • Other Materials
  2. Mastering the Keyboard
    • The Secret Is Buttons
    • Introducing the Keyboard Controller
    • The Keyboard Button Project
    • Using the Keyboard Routines
  3. Catching the Mouse
    • Working with the Mouse
    • The Built-In Mouse Functions You Cannot Live Without!
    • Creating a Mouse Interface Module
    • Wiring the Mouse into Your Programs
  4. Joystick Magic
    • Joystick Electrical Stuff
    • Reading a Joystick
    • Multiple Input Device Example
  5. VGA Basics
    • Getting Organized
    • Understanding Multiple Display Pages
    • A Look at the VGA Data Path
    • The VGA Register Map
    • The Standard VGA Modes
    • Introducing Mode X
    • Some Guidance
  6. Bitmaps and Bitblts
    • Bitmap Basics
    • Drawing Bitmaps: The Bitblt
    • Dealing with Mode X and Y
    • Planar Bitmaps
    • Mode X Bitblt
    • Extra Storage: Video Memory Bitmaps
    • Creating Video Memory Bitmaps
    • Clipping
    • Optimizations
    • The Complete BITBLT.H and BITBLT.C Listings
  7. Adventures in Animation
    • Introduction to Animation
    • Understanding Video Displays
    • Page-flipping
    • Virtual Screen Buffers
    • Dirty Rectangles
    • Other Animation Problems
    • Object Internal Animation
    • ANIMATE.C, RETRACE.C, and PCX.C Listings
  8. Color Your World
    • Computers and Color
    • The VGA Color Palette
    • Setting Your Own Colors
    • Fade to Black: Palette Effects
  9. Detecting Collisions
    • Analyzing the Basic Problem
    • Reducing Tests with Game Rules
    • Other Test-Reducing Techniques
    • Collision Testing with Bounding Rectangles
    • Bitmap Testing
  10. Controlling Game Speed
    • Synchronizing to Vertical Retrace
    • Synchronizing to the System Clock
    • Reprogramming PC Timers
    • Synchronizing a Timer to Vertical Retrace
  11. Creating Alien Alley
    • The Main Game Loop
    • Intro Screens and Title
    • The Animation Loop
    • Setting Up Mode X
    • Getting Input
    • Moving Sprites
    • Collision Detection
    • Erasing and Drawing
    • The High-Score Screen
    • Creating the Graphics
    • Possible Improvements
  12. Audio Immersion
    • Surfing the Sonic Wave
    • Just What Is MIDI?
    • A Little Help From Our Friends: DigPak and MidPak
    • Enhancing Alien Alley
    • Creating Your Own Audio Sound Effects
    • Licensing DigPak and MidPak
  13. Scrolling Along
    • Introduction to Scrolling
    • A Bit of Background: Using Tiles
    • Modifications to Alien Alley
    • A Farewell