Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Cover
Half Title
Title
Copyright
Dedication
Contents
Acknowledgement
Preface
Chapter 0 Games
Virtual Reality
Game Genres
Strategy
Sports
Simulation
Role Playing
Action
Adventure
Other Games
Common Aspects of Computer Games
Platforms
Desktop Computers
Tablets
Game Consoles
Portable Consoles
Cellular Phones
Aspects of Interesting Games
Venue
Conflict
Graphics and Sound
Props
Interface
Pace/Scale
Fidelity/Accuracy
Exercises
Resources
References
Chapter 1 Introduction to How Games Work
Video Game Architecture
The Graphics System
Object Level
Geometric Level
Rasterization
Comments on Optimization
The Audio System
Game Design
Mechanics
Playing the Game by the Rules
Most of a Computer Game Is Hidden
The Artificial Intelligence
Game State
Global State
Push/Pull (client server)
Managers
Broadcast-listener
Shared and Global Entities
Pong
The Game Design Document
C2H6O Jet Boat Race
C2H6O Jet Boat Race Design Document
Exercises
References
Chapter 2 Graphics and Images
Pygame Essentials
Simple Static Drawing
Pixel Level Graphics
Example: Create a Page of Note Paper
Example: Creating a Color Gradient
Lines and Curves
Example: Note Paper Again
Polygons
Blitting
Drawing Text
Transparent Colors
Images
Pixels
Example: Negative Image
Image Transformations
Rotation
Pixels and Color
The C2H6O Jet Boat Race Game
Exercises
Resources
References
Chapter 3 The Game Loop
Time and Intervals
The pygame.time Module
A Game Loop: Bouncing a Simulated Ball
Events
The Mouse
The Keyboard
An On-Screen Button
A Simple Game
A Better Game
Randomness in Games
Randomness Generally
Randomness in Games: Dice, Cards
Probability for Beginners
Probability Calculations
Generating Random Values
Pseudorandom Numbers
Simulating Reality and Intelligence
Exercises
Resources
References
Chapter 4 Game AI: Collisions
Collision Detection
Polygonal Objects
An Example
Broad Phase Collision Detection
“Operational” Methods
Geometric Tests
Using Enclosing Circles
Sphere VS. Plane Collision (Circle – Line)
Circle-Circle Collisions
Finding the Closest Point on a Line to a Specified Point
Using Bounding Boxes
Object Oriented Bounding Boxes
Space Subdivision
Narrow Phase Collision Detection
Ray/Triangle Intersection
Collision Detection in the Boat Race
Ray Casting
Exercises
References
Chapter 5 Navigation and Control
Basic Autonomous Control
How to Control a Car
Cruising Behavior
Avoidance Behavior
Waypoint Representation and Implementation
Finite State Machines
FSA in Practice
State and the “What Do We Do Now” Problem
Other Useful States
Pathfinding
A * Search
Stochastic Navigation
Exercises
Resources
References
Chapter 6 Sound
Basic Audio Concepts
Introduction to Sound in Pygame
Sound Options
Sound Volume
Channels
Creating Your Own Sounds
Recording Using Cell Phones and MP3 Devices
A Small Studio
Audio Software
Positional Audio
Example: Distance Attenuation
Example: 2D Positional Sound
Exercises
Resources
References
Chapter 7 C2H6O Jet Boat Race
Implementing the Game: Prototypes
Prototype 0
Prototype 1
Screens
Buttons
Start Screen
Options Screen
Play Screen
End Screen
Prototype 2
The Play Screen
User Control
The Boat Class
Artificial Intelligence
Collisions
Navigation
Waypoints
Avoiding a Boat
Colliding with the Shore
Sound
Engine Sounds
Collisions and Explosions
Starting Gun
Finish
Testing
Summary
Exercises
Resources
Sound Effects
Sound Editing
Graphics Editing
References
Chapter 8 Animation
Creating Elementary Animations
Animation Math
Motion Equations
Reactive Animations
Using Real Images
Ambient Animations
Character Animation
Cut Scenes
Animations in the Boat Race Game
Wakes
Summary
Exercises
Resources
References
Chapter 9 C2H6O – Final Steps
Animations
Wakes
Explosions
Determining a Boat Collision
Sounds
Engine Sounds
Starting Gun
Finish
Bing
Audience
Gameplay
Completing the Race
Start
Timer
Intermediate Goals
Finish
Mini-Map
Game Data
Tuning
Exercises
Resources
References
Chapter 10 Networking
The Game: Python Pong
The Paddle Class
The Ball Class
Communication between Processes
Example: Moving a Ball on the Screen
Network Pong
The Client
The Server
Blocking and Non-Blocking
Messages
The Pong Client
The Pong Server
Playing the Game
Resources
References
Appendix A: A * in Python
Appendix B: C2H6O Jet Boat Race Game Design Document
Appendix C: The NPC (Boat) Class for the Example Game
Index
← Prev
Back
Next →
← Prev
Back
Next →