I'm always trying to document the things that I learn. Not only does this provide valuable information to others, it also clarifies my understanding of complex subjects. Back when I was still playing guitar a lot and giving lessons, I found that whenever I explained something to a student, I learned just as much as the student did.

As with everything on the Internet, these are works in progress. So if you spot any errors, please let me know.

C++ Game Programming Tutorials

Managing Game States in C++ - This advanced tutorial describes a method of handling multiple game states using a C++ class heirarchy. The included sample implements three different game states and simplifies the task of switching between them and adding new states.

Lua Tutorials

Getting Started With Lua - This tutorial is a gentle introduction to the Lua scripting language. It shows the basics of integrating Lua into a C++ program on Linux and Windows. A simple "Hello, World!" example is provided for download.

Calling Lua Functions - Building on the first tutorial, this one explains how to define functions in Lua and call them from a C++ program. Another simple example is provided for Windows and Linux.

Calling C++ Functions from Lua - The conclusion of my Lua tutorials for now, this one explains how to call a C++ function from Lua. There is also a brief discussion of error handling. The sample program demonstrates taking a variable number of arguments and returning more than one value.

SDL (Simple DirectMedia Layer) Tutorials

Getting Started With SDL - A simple introduction to SDL. This tutorial describes the process of loading a bitmap file and displaying it on the screen. A basic understanding of SDL will be needed for my more advanced graphics tutorials.

Moving Sprites With SDL - Moving sprites with SDL. This tutorial shows how to get the current state of the keyboard and react to keypresses to move a sprite around the screen.

Animating Sprites With SDL - Add animated characters to your game. This tutorial shows how to switch between multiple frames of animation in response to SDL keyboard events.

Ruby Game Programming Tutorials

Getting Started With Rubygame - A simple introduction to Rubygame. Rubygame is a Ruby wrapper for SDL inspired by PyGame.