Book Image

Python Game Programming By Example

By : Alejandro Rodas de Paz, Joseph Howse
Book Image

Python Game Programming By Example

By: Alejandro Rodas de Paz, Joseph Howse

Overview of this book

With a growing interest in learning to program, game development is an appealing topic for getting started with coding. From geometry to basic Artificial Intelligence algorithms, there are plenty of concepts that can be applied in almost every game. Python is a widely used general-purpose, high-level programming language. It provides constructs intended to enable clear programs on both a small and large scale. It is the third most popular language whose grammatical syntax is not predominantly based on C. Python is also very easy to code and is also highly flexible, which is exactly what is required for game development. The user-friendliness of this language allows beginners to code games without too much effort or training. Python also works with very little code and in most cases uses the “use cases” approach, reserving lengthy explicit coding for outliers and exceptions, making game development an achievable feat. Python Game Programming by Example enables readers to develop cool and popular games in Python without having in-depth programming knowledge of Python. The book includes seven hands-on projects developed with several well-known Python packages, as well as a comprehensive explanation about the theory and design of each game. It will teach readers about the techniques of game design and coding of some popular games like Pong and tower defense. Thereafter, it will allow readers to add levels of complexities to make the games more fun and realistic using 3D. At the end of the book, you will have added several GUI libraries like Chimpunk2D, cocos2d, and Tkinter in your tool belt, as well as a handful of recipes and algorithms for developing games with Python.
Table of Contents (9 chapters)
8
Index

Adding the Pygame library


With GLUT, we can write OpenGL programs quickly, primarily because it was aimed to provide routines that make learning OpenGL easier. However, the GLUT API was discontinued in 1998. Nonetheless, there are some popular substitutes in the Python ecosystem.

Pygame is one of these alternatives, and we will see that it can be seamlessly integrated with OpenGL, even simplifying the resulting code for the same program.

Pygame 101

Before we integrate Pygame into our OpenGL program, we will write a sample 2D application to get started with Pygame.

We will import Pygame and its locals module, which includes the constants that we will need in our application:

import sys
import pygame
from pygame.locals import *

class App(object):
    def __init__(self, width=400, height=300):
        self.title = 'Hello, Pygame!'
        self.fps = 100
        self.width = width
        self.height = height
        self.circle_pos = width/2, height/2

Pygame uses regular strings for the window title...