Skip to Content
Gaming Hacks
book

Gaming Hacks

by Simon Carless
October 2004
Beginner
464 pages
13h 42m
English
O'Reilly Media, Inc.
Content preview from Gaming Hacks

Write a Game in an Afternoon

Learn to create your own games by dissecting a simple homebrew game.

With a little knowledge, some time, and the right tools, game programming is within your reach. As [Hack #91] and [Hack #92] demonstrated, Python and PyGame are two excellent tools for creating interactive animations. They’re also good for the rest of game programming.

Let’s explore a simple game that has all of the essential features of any 2D arcade game: animation, collision detection, user input, and a winnable challenge. Best yet, it’s a couple of hundred lines of code that you can enhance, change, polish, and adapt to create your own masterpieces.

Introduction and Initialization

In Bouncy Robot Escape, you control a robot trying to escape from the laboratory into the wild world of freedom. Several colorful, giant, bouncy balls (a tribute to The Prisoner) block your path. You can block their attack with a small force field. Can you find the door in time?

The game starts by loading several other Python modules:

#!/usr/bin/python

import math
import random
import sys
import time

import pygame
from   pygame.locals import *

The math, random, sys, and time modules provide math, random number, operating system, and time-related functions, respectively. You’ll encounter them all later. The pygame lines should look familiar; the second imports some variables used for input handling.

The main entry point of the game is the main function. It’s very similar to that in [Hack #92] .

def main( ): ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Retro Gaming Hacks

Retro Gaming Hacks

Chris Kohler
Developing Games in Java™

Developing Games in Java™

David Brackeen, Bret Barker, Laurence Vanhelsuwé
The Kollected Kode Vicious

The Kollected Kode Vicious

George V. Neville-Neil
Strange Code

Strange Code

Ronald T. Kneusel

Publisher Resources

ISBN: 0596007140Catalog PageErrata