Freedoom E1M1

Freedoom E1M1

On December 4th, 1997, John Carmack decided to release the doom source under a special licence which restricted commercial re-release. Some time around 1999 (I think) Carmack re-licenced the code as GPL.

As a result of these two moves, the doom community at the time grew from a few hardcore players to something large enough to rival that of modern games. Features were piled onto the doom engine, including GL support, proper mouse look, internet play, drop-down consoles, more editing features, hi-res textures, etc. etc.

Pitch-shifting

Doom originally performed some random pitch-shifting of sound effects on playback, but the feature was removed (by accident) early on. I wrote a re-implementation of pitch-shifting for chocolate-doom which is also used in Doomretro and crispy doom. Here are my extended notes.

WadC

A WadC session

A WadC session

WadC is a vaguely-functional programming language for the construction of Doom levels. I took over maintenance of the project from the original author in 2009.

10 Sectors Competition

Key room

Key room

In 2000, I submitted a map to Linguica of doomworld's 10 sectors competition. My entry was considered to be amongst the top 30. It has been described as "A very different and original map"; "Some boring rooms (quite a bit)" (a judge); and "reasonably diverse in its textures, height, and light levels" (another judge).

Freedoom

E1M1: flooded area

E1M1: flooded area

Freedoom is an open source game which can be played with a modern Doom engine. I was an early contributor to the Freedoom project and co-managed it from around 2001 until around 2008. I've submitted all sorts of stuff but my best contribution was E1M1/MAP01, which was eventually replaced in Freedoom's 0.11 release.

Doom Noir

Doom noir

Doom noir

This is just a silly little palette hack, turning all but the red-range into grayscale. It makes the game take on a sort-of film noir feel, and the contrast with the red makes things look gorier.

I originally knocked this together in 1999 or thereabouts, but I was only spurred to releasing it with the film "Sin City", which employed a similar effect.

There's some notes about colormap hacking available.

Map author Aluqah has made a couple of maps with this palette, Oniria and Epicus Furor.

Gib

gib

gib

A Quake-inspired mod from 1998-1999. When you gib monsters, chunks of meat fly out. The ZIP also includes GREEN.WAD, a palette hack which swaps the red and green ranges. I created this at the time by accident, but it looks quite good combined with "Gib".

2countrv

2countrv.wad

2countrv.wad

A 2-bit binary ripple counter (based on a design by Fraggle) with a surprise when the counter overflows. Implemented entirely in WadC.

Other code

I've written some miscellaneous bits of code for reading and interpreting doom WAD files. lswad is a program that lists the contents of a WAD file (including any wasted space). wadfs is a filesystem interface for WAD files using the excellent fuse library. wad.c and wad.h are the shared bits of code for interpreting WAD files used by these two programs.

Grab the code files individually from code.

I've also been working on a short article about parsing doom WAD files using the C programming language in a portable manner: you can find a draft at wad.

I've also been working on a method of calculating a checksum for demo playback to try and catch regressions in source ports.

Miscellaneous

I'm an admin and occasional contributor to the Doom Wiki. There's a biography of me there.

There's an old site of mine covering doom memorabilia at http://doomworld.com/jon/.

More Doom

Blog posts:


Comments