Sacred Software

I'm writing some tutorials on various aspects of game development, as a way of sharing my experience. The ones I've published can be found here. These tutorials are written for C programmers, but wherever possible, I try to make them general enough to be useful in any programming language.

The goal of my tutorials is to be the resource that I wished I had when I was learning each subject. I do my best to explain things in simple, easy-to-understand English, with a minimum of jargon to get in the way. I try to address all of the stumbling blocks I ran into in my own experience, and anything else that I think may come up. The idea is to teach practical, useful information in a quick and easy way.

Vectors

An essential tool in any game developer's toolbox. Useful for expressing spatial position, orientation, direction, and distance.

Time-based animation

Need your game to run at the same speed on any computer? Tried implementing such a system, but experiencing unpredictable behavior as a result of it? Read this tutorial for an alternative approach that is stable, fast, and easy.

Quaternions

Rotation in three-dimensional space with full freedom on every axis is made possible by quaternions. Nearly essential for 3D graphics.

Matrices

A transformation matrix is a map from one coordinate system to another, performing translation, rotation, scaling, and more.

Collisions (part 1)

A robust, stable algorithm for basic collision detection.

Page designed by Alex Diener