OBLIGE Level Maker

Random map generator for classic FPS games


OBLIGE is a random level generator for various classic games, including DOOM, DOOM II, and Heretic. The goal is to produce high quality levels which are fun to play.

(see the About page for more information)


OBLIGE 4.28 is the current version.


Report on current activity:

Early last year (2013) I began work on another major version, V5, which had some big changes: a better lighting system, storing prefabs in standard Doom WAD format, and using large prefabs (768x768 units) for laying out rooms. There were improvements in other areas too, such as better way to calculate how much health to put into maps.

However the large prefabs for rooms proved to be unsatisfactory. While they often looked good, it tended to make very repetitive levels. This could have been alleviated by making lots and lots of different prefabs, but I feel that was the wrong way to go. Instead I think a random map generator should be able to create interesting things by the combination of a moderate set of primitives and idioms.

So right now I am working on merging the 3.57 room layout logic with the rest of the V5 codebase. This is major surgery, made harder by changing the grid size back to 192x192 units, and it will take a while to get everything into a usable state again. But progress is being made, and I'm excited at being able to really take version 3.57 forward, and add lots of "new" stuff to it....

The 4.28 source package has been updated, since it was missing the lua_src and glbsp_src directories (oops!).

In other news, I have been working on a new prefab system where the prefabs are stored in ordinary WAD files (rather than using Lua code), which I hope will make it easier to create custom content. I have also implemented a new algorithm for DOOM lighting, which should be better than the system used in 3.57, since it properly accounts for blocking walls and distance to lighting sources.

I hadn't been doing much with OBLIGE for a long time, but for the sake of moving forward with the V4 codebase I am happy to announce that.....


OK, it's true that this is not exactly an Earth-shattering release, and compared with previous versions all the rooms are very plain. However there are still some good things in this version:

I'm not sure exactly what I'm going to work on now, but I definitely have some ideas that I want to experiment with. The same vision that I had five years ago -- that a random level generator can create levels genuinely worth playing -- that is still something which I want to achieve.

Anyway, I hope you have some fun with this release.

Well it's a brand new year and work continues on OBLIGE. I had hoped to get a full release of the new "V4" code out by the end of 2011, but unfortunately that never happened.

Currently I am working on various aspects: outdoor bordering, caves, hallways, and will start working on windows and fences soon. When all that is sorted out, another WIP testing package will be made available on the forums. Hopefully that will be sometime before the end of February, but it may take longer.

After that, I will work on making the levels a bit prettier, such as pictures in walls, diagonal corners in rooms, normal doors, etc... Then I think OBLIGE will be ready for a proper release (with a period of testing to shake out any outstanding issues).

I hope everyone had a nice Christmas and here's wishing everybody a great year in 2012 :-)

OBLIGE now has a new forum. This move was prompted by various problems and annoyances with the existing "hosted app" phpBB3 forum.

All of the users and topics from the previous forum have been successfully converted into the new forum, although certain things did not make the transition, in particular: avatar images, images in posts, and post attachments. Users will need to re-upload their avatar images.

The existing phpBB3 forum will be kept around in a read-only state for a few months, and hopefully a method can be found to restore the attachments and images in the posts (otherwise I will fix the most important ones by hand and not worry about the rest).

Wow, hard to believe it's been five months since the last update!

OBLIGE development has been continuing and progress is being made (slowly but surely). Recently I have been working on improving the overall structure of levels, such as creating multiple paths between rooms and better hallway logic. I have also worked on adding some 3D architecture into the maps, as well as getting more games (like Hexen) into a usable state.

I expect to make a new release by the end of the year -- though for anyone really curious there will be a couple of "WIP" (Work In Progress) testing packages made available on the forums before then.

Quick note to say that I am still hacking away on OBLIGE :-)

Several months ago I started work on "V4", which was a completely new way of layouting rooms. However I was not satisfied with that new system, so I have been exploring what kinds of algorithms are going to work best. Once this been sorted out, development should pick up pace again....

Update on latest work:

It has been a while since the last release, but a lot has been happening in OBLIGE's codebase. The planning, room connection and quest code have gotten an overhaul, with support for special room shapes and teleporters. Another large (and on-going) change is the introduction of a Prefab system, which will be used to build nearly all architecture in a level.

Most of the work has been on the QUAKE support. I starting off with some new CSG code aiming to fix the collision problems, but then continued on to implement proper lighting, visibility and liquid areas. Plus I'm really stoked that QUAKE 2 maps are now being built correctly, and plan to support it well in the next release. There is still a lot left to do though.

Version 3.57 of OBLIGE has been released.

Major changes include a new system of lighting the levels, which is rather simplistic and blocky but a big improvement over what was there before. Also this is the first version of V3 to include support for other games, namely: Heretic and Quake, although they are still in their early stages (especially Quake).

There is also lots of bug fixes and general improvements in this release, like Chris's new E1M8 boss map, faster CSG and node building code, support for FreeDOOM, and more restrained use of cavey areas (TECH themes in particular). So what are you waiting for, go grab it!

Another version of OBLIGE, namely 3.51, has just been released. The most exciting new feature is the support for natural areas: twisty caves and outdoor landscapes. Other changes include an Options window, a system for adding pre-built maps, and better support under Linux and similar OSes (such as the new "batch" mode).

However some things are not working as well as before, since the fundamental grid size which Oblige uses was reduced from 256 to 192. For example, the small exit rooms are disabled (they didn't fit), and you'll often see things like fences stuck in doors. Monster and item placement is out of whack too.

Thanks once again to Chris and Enhas for their contributions and testing.

I'm happy to announce OBLIGE 3.47 has been released. This version has a larger, more readable GUI window, separate buttons to control monster quantity and toughness, more DOOM themes (Urban and Hell), and a bunch of new modules, plus many tweaks and fixes.

Big thanks goes to Enhas and Chris who have contributed a lot to this release, including new code, theme stuff and heaps of testing.

The web-site has gotten a large overhaul, with a brand new look and a lot more information. Some things are still missing, e.g. the screenshots page, but this paves the way for more pages in the future, especially the planned modding guide.

OBLIGE now has a proper forum located on the SourceForge site. All you need to join the discussions is a SourceForge account. Hope to see you there!

OBLIGE 3.43 is released. Not a huge amount has changed, it is mostly code improvments under the hood. One nasty bug, the too-much-ammo problem, has been fixed.

Other changes include: improved name generator (thanks to 40oz), a working module system, new 'Crazy' setting for monsters, new 'Psychedelic' theme, a couple of new modules (thanks to Enhas), and boss maps for E1M8 and E2M8 (thanks Mr Chris).

Version 3.39 has been released. This is the first public release after the big rewrite (which is on-going). It's very much in the spirit of open source motto "release early release often", because this is somewhat premature and lacking many features (e.g. it only supports DOOM II right now).

The good stuff includes: better GUI interface, level name generator, random sky generator, big rooms!!, symmetrical rooms, room-in-a-room, and some diagonal walls here and there.

The bad stuff includes: only supports DOOM II, with only one theme: TECH. There are no traps or cages, nor any secrets or powerups, and the scenery is very limited (lousy crates). Fences in outdoor areas also suffer common glitches.

Many thanks to all the beta testers: Sam Trenholme, Chris Pisarczyk, JohnnyRancid, Esselfortium, gggmork, Csonicgo.

Another blog about current developments: Nov-2008 Blog

Released Oblige 0.97. This is a small update to version 0.94 which fixes the error about stair placement that occured sometimes (aborting the whole build). It also includes Sam Trenholme's expanded set of Heretic themes.

Added a summary of recent development: Mar-2008 Blog

Oblige 0.94 is released!

Major changes in version 0.94 include a new prefab system, new theming system, different sized rooms, greatly improved Hexen support, secret areas and levels, and experimental support for Wolfenstein 3D.

During development I came to the conclusion that the current algorithms are the wrong way to do things, and that a big rewrite of OBLIGE's level-building code is urgently needed. So I'm releasing this version as-is, even though some things are broken (notably the monster closet traps).

This version will occasionally abort the map-building process with an error message, for example saying it cannot place a stair in a room. This is symptom of the messed up level-building code and another reason why the rewrite is necessary. The only workaround is to try a different SEED value.

Oblige 0.85 has been released. This includes many major improvements: support for hallways, crates, and new exit rooms, better selection of floor and ceiling heights, user adjustments for health, ammo, monsters and traps, and support for TNT Evilution and Plutonia. User settings are also remembered when you quit.

(see the History page for detailed changelogs)

© 2014 Andrew Apted