Wolfire Blog


; Subscribe

Imposters

October 3rd, 2010

We can achieve a lot of performance gains by using texture atlases and instancing, but it won't be enough for dense environments like forests and jungles. For these, we need imposters! What are imposters? Imposters are an extreme form of LOD (level of detail) optimization, replacing entire models with simple, flat pictures of themselves. They are much like the ...

Read more 0

SIMD optimization

September 22nd, 2010

Fifteen years ago, it would be impossible to make a graphics-intensive game without using hand-written assembly language. Almost all classic games used it extensively, including Doom, Marathon and Prince of Persia. That has all changed with modern optimizing compilers and complicated CPUs. Now, writing assembly code by hand hurts performance more often than not, and is largely just used for ...

Read more 0

Face morph test

August 22nd, 2010

To test out facial expressions, I created shapes for winking, squinting, sniffing, and 'oh' phonemes. Then to see how they looked in-engine, I used Angelscript to weight them with asynchronous sine waves. This means that each shape cycles smoothly between its 'on' and 'off' state, and since they cycle at different rates, we can see them in every possible combination ...

Read more 0

OpenGL update

August 21st, 2010

Since my controversial post comparing OpenGL and DirectX, there have been two significant new developments: the release of OpenGL 4.1 and the release of Steam for Mac. OpenGL 4.0 Tessellation with TessMark A few months ago, the Khronos Group announced the release of OpenGL 4.0, bringing it to "feature parity" with DirectX 11, including the much-advertised tessellation ...

Read more 0

Hand shapes with intermediate frames

August 12th, 2010

Some of you asked whether Robbert could make fists yet, so here is an update on that front. This is a pretty important feature for a fighting game -- punches are difficult to perform without fists. It takes a lot of bones to rig a hand, even a simplified one like Robbert's. You need at least two bones per finger ...

Read more 0

AWOL technology

August 8th, 2010

Aubrey recently posted about the artwork he did for a pre-Overgrowth game prototype, called AWOL. Today I'd like to show some of the technical work I did for that prototype. The first thing I did is make a quick level editor to test out the basic movement and aiming controls. This allowed us to easily create simple test levels ...

Read more 0

Linear algebra for game developers ~ part 4

July 31st, 2010

Last time we talked about transformation matrices, and how they let us change from one coordinate system to another. A lot of you expressed interest in quaternions, so today I will go over 3D rotations. But first let's review 2D rotations. 2D Rotation Since there is only one possible axis of rotation (the axis going into the screen), the ...

Read more 0