PC Game Programming Explorer
Table of Contents
- The Great Adventure
- Mastering the Keyboard
- Catching the Mouse
- Joystick Magic
- VGA Basics
- Bitmaps and Bitblts
- Adventures in Animation
- Color Your World
- Detecting Collisions
- Controlling Game Speed
- Creating Alien Alley
- Audio Immersion
- Scrolling Along
- Game Programming Resources
- Index
Detailed Table of Contents
- Preface
- The Audience For This Book
- A Glance Inside
- The Great Adventure
- Game Programming versus Game Design
- The Structure of a Game Program
- Assumed Knowledge
- Example Code
- Other Materials
- Mastering the Keyboard
- The Secret Is Buttons
- Introducing the Keyboard Controller
- The Keyboard Button Project
- Using the Keyboard Routines
- 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
- Joystick Magic
- Joystick Electrical Stuff
- Reading a Joystick
- Multiple Input Device Example
- 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
- 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
- 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
- Color Your World
- Computers and Color
- The VGA Color Palette
- Setting Your Own Colors
- Fade to Black: Palette Effects
- Detecting Collisions
- Analyzing the Basic Problem
- Reducing Tests with Game Rules
- Other Test-Reducing Techniques
- Collision Testing with Bounding Rectangles
- Bitmap Testing
- Controlling Game Speed
- Synchronizing to Vertical Retrace
- Synchronizing to the System Clock
- Reprogramming PC Timers
- Synchronizing a Timer to Vertical Retrace
- 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
- 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
- Scrolling Along
- Introduction to Scrolling
- A Bit of Background: Using Tiles
- Modifications to Alien Alley
- A Farewell
- Game Programming Resources
- Index