Jeffrey M. Barber

Tombstone

zenerd

Aug 2001 – Dec 2001 · age 19

What it was

The umbrella name for four engine parts Jeff wrote in the second half of 2001, all living in one C++ namespace and waiting for an engine that would need them. A model library defined a binary skinned-model format: materials, a bone hierarchy, and an interleaved vertex array holding both rest and animated positions, with four integer bone weights per vertex that summed to 20,000. A console scratchpad held vector and quaternion maths, a handle-based compacting heap, and a swept-sphere collision solver. A converter squared any image to a power of two and wrote it behind a two-byte header. And a set of MFC editor views, a timeline, a sequence list, an action grid and a virtual list with in-cell editing, never got a project of their own. The pieces agreed on a namespace. They never met.

Wins, for the age

What it taught

Genealogy

Ancestors: Evolution 4K: a hand-rolled model format and a swept-sphere collision solver. Z Terrain Editor: the OpenGL editor habit, grown into MFC views. Descendants: Cauldron v1: skinning and model formats in a real engine. Rage: skinned meshes with four bone weights, finally animated. Z Character Exhibitor: the timeline and bone editing grown into a tool. Zheap: the compacting handle heap as its own library.

Epitaph

Here lies zenerd, an engine's worth of parts that agreed on a namespace and nothing else. The bone weights summed to exactly 20,000, every time.