Fredoom E1M1

Fredoom 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.

My stuff

I contribute to the Doom Wiki. My aim is for it to be a great resource for those interested in exploring Doom's source code. There's a biography of me there, plus a list of my contributions.

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

WadC

WadC is a programming language for the construction of Doom levels.

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.

10 Sectors Competition

Key room

Key room

Balcony

Balcony

In August 2000, Linguica of doomworld organised the 10 sectors competition. The premise was simple: submit the best map you can using only 10 sectors.

Modern FPS games tend to have maps constructed from 3d objects: a little bit like building things from lego. Doom's maps resemble maps in a cartography, geometric sense: you build up a map by joining together sectors, which are 2d-shapes which can be assigned properties. The 10 sector restriction boils down to ten unique combinations of floor/ceiling height, light level, special properties (e.g. damaging) and texture.

My entry was considered to be amongst the top-32 (roughly speaking) and made it into the competition 'megawad'. It has been described as "A very different and original map", as having "Some boring rooms (quite a bit)" (a judge), and "reasonably diverse in its textures, height, and light levels" (another judge).

Grab it here.

Freedoom

E1M1: flooded area

E1M1: flooded area

E1M1: outside

E1M1: outside

Although the doom engine is GPL, the game data isn't, and you still need a copy of the game to make use of the engine. freedoom's purpose is to develop a replacement IWAD (game data) which can be distributed with the same degree of freedom as the doom engine.

I used to be involved with managing submissions to the project, trying to get people to do stuff that needs to be done (rather than redoing existing stuff), I've done one or two levels, textures and sounds myself. I also designed the current website. Nowadays I maintain the autobuilder that provides nightly builds; the Debian packaging and occasional advice.

These pictures are all taken from E1M1/MAP01. This is one of my pride and joys in the project: the level took me months to finish and is extremely over-engineered.

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.