O'Reilly logo

Gaming Hacks by Simon Carless

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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( ): ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required