Game Programming

This series is still under development.

The series so far:

Getting Started. A discussion of prerequisite knowledge for this series, the selection of programming language, setting up a development environment to follow along with the code, and the Pyglet game framework for Python. [transcript]

Game Input and Output. Survey of the input and output devices used in most games: display devices, audio devices, game controllers, and timers. [transcript]

Game State and Game Loops. The outline structure of game code, focusing on game logic and the simulation of a game world. [transcript]

Tetris. Walkthrough of code for a Tetris clone in Pyglet. [transcript]

2D Graphics Algorithms (part 1). Alpha compositing, drawing lines, and filling triangles. [transcript]

2D Graphics Algorithms (part 2). Alpha compositing, drawing lines, and filling triangles. [transcript]

3D Projection. The most basic part of 3D rendering: how to convert 3D geometry into a 2D image. [transcript]

2D Transformations. How to translate, rotate, and scale objects in 2D space. [transcript]

3D Transformations. How to translate, rotate, and scale objects in 3D space. [transcript]

2D Graphics Algorithms (part 3). Rotating images using interpolation. [transcript]

Texture Mapping and Filtering. Perspective-correct texture mapping and filtering. [transcript]

Coming installments (order yet to be determined):

Pyglet Demos. Very short programs demonstrating basic Pyglet features, such as drawing to windows, playing sound, and getting gamepad input.

Asteroids. Walkthrough of code for an Asteroids clone in Pyglet.

Pacman. Walkthrough of code for a Pacman clone in Pyglet.

Sidescrolling platformer. Walkthrough of code for a simple sidescrolling paltformer.

3D Graphics Concepts and Algorithms. Projections, transformations, texture mapping, etc.

OpenGL Intro. A historical survey of of OpenGL and its basic usage.

An original 2D game. Probably in the vein of Gravitar and Solar Jetman, but yet to be determined.

Pathfinding. Common AI algorithms for finding navigation paths.

Math for 3D (tentative)The math used in 3D rendering, such as matrices.

Debugging techniques (tentative)Game debugging presents some unique challenges in software.


Comments are closed.