OBLIGE : Current Development

by Andrew Apted.   13th March 2008

 

It has been a while since the last OBLIGE release (around 8 months), and judging by the web page you may think that development has stalled or the project has died. I assure you this is far from the case! Lots of work has been going on, and here is a summary of what is happening...

OBLIGE is being rewritten. All the of level building code (except for the game-specific stuff) has been retired and new algorithms are being developed. The new version is called "Oblige III" since it is the third major version of this level generator.

The first big change is the map representation, which was quite limited before, made up of 16x16 blocks, and creating architecture with finer detail or arbitrary shapes was not possible. The new representation is similar to the Quake map format, made up of "brushes" which are solid chunks in 3D space (e.g. the floor is one brush, and the ceiling is another one). This allows to create maps with "Extrafloors" for the advanced DOOM ports, and also allows creating maps for true 3D engines like the Quake series.

I have been working on converting this new format into DOOM map format, and right now it works, and can even generate Extrafloors, but a lot of smaller details are not implemented yet, like special line/sector types, railing textures, x/y offsets, and lighting.

I've also been working on Quake-1 support. This means creating the BSP files directly from the internal represenation. So far the level builds correctly, has proper clipping hulls, and flat lighting, plus there is a built-in texture extractor. But it lacks a proper lighting method, and visibility info.

Talking about lighting: I plan to implement it for DOOM in a similar way to QUAKE, by determining how much light reaches each sector from light-emitting entities and surfaces (as well as the sky).

The GUI interface has been revamped, see the screenshot below. The mini-map is nicer, a lot like what you see in an editor or the automap in DOOM. The GUI has a few more options, like being able to select a specific theme for the maps, and some options will allow a "MIXED" setting (e.g. for monsters, some maps will have Hordes and some maps will have Few). Plus I am working on supporting custom mods: you could download somebody's mod, put it in the "mods" folder, and OBLIGE will load it automatically and you can enable/disable it in the MODS panel. Mods can add new monsters and items, new themes and textures, new prefabs, or even change the way levels are built.

Finally, I have some ideas for the new level building methods. For example, I'm working on "Room-in-a-Room", which will allow OBLIGE to create maps like MAP16 of DOOM II, where there is a bunch of separate buildings scattered about a large outdoor area. The new code will directly support symmetry, so it can make rooms (and possibly large areas) that are mirrored either vertically or horizontally (or even both, four-way symmetry). There are some new ideas for creating good deathmatch maps too.

All this is gonna take a while though :-)

Screenshot 1: the new GUI interface

Screenshot 2: DOOM Extrafloors
NOTE: The map itself was hand converted from Quake (DM7), so this shot is just showing how Oblige can create sectors and extrafloors from the brushes.