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) SCREENSHOT


OBLIGE 6.20 is the current stable version.

(Note: this version only supports the DOOM games. For other games please try version 4.28)


It is almost one year since the 6.20 version was released, and believe it or not I am still plugging away on this project......

The V7 code has shifted to a new room construction algorithm based on the concept of Shape Grammars. The system which I am developing is somewhat rudimentary, only applying on a coarse scale (the basic grid) and cannot be used for fine details. However the results so far seem very promising.

Another major thing which has changed is the basic grid size, which used to be 192x192 units but is now 128x128 units (which coincidentally is also the grid size of DOOM's automap). That was a hairy decision, as most the existing prefabs were designed for the larger grid size and will need to be reworked or replaced. Nevertheless the new size is working quite nicely in the generated maps, and offers more flexibility for the sizes of rooms, hallways, closets etc...

All in all, I am happy where V7 is going, and hopefully the next public release will not take another year :-)

Work continues in the new V7 version of OBLIGE, and I am hoping to have a proper release by the end of the year.....

I have recently changed tack too, no longer using the "weird" shape generator, instead I am now exploring the much more traditional approach of "growing" a set of rooms, branching off earlier rooms.

Version 6.20 of OBLIGE has been released.

Changes include some basic monster closets, diagonal walls were re-implemented, a module to disable monsters in the start room, finer grained control over many settings, an ability to set the random seed, plus several bug fixes.

I have been working on a new method of generating maps, using an algorithm for generating "weird" shapes which are then used for the rooms, hallways and scenic areas of the level. This work will become the next major version of OBLIGE, namely V7, although it is going to take a long while before it gets into a truly usable state.

P.S. The SVN repository has been replaced with a GIT repository (on SourceForge).

Merry Christmas everyone!

OBLIGE 6.10 has been released!

It is hard to summarize this release, there have lots of improvements and lots of bugs fixed since the 6.05 version. Perhaps the most outstanding new feature is support for 3D floors. The user interface has changed quite a bit too: there is a new 'Weapons' setting, the 'Powerups' setting actually works now, and there is a built-in 'Config Manager' tool for inspecting / saving / loading of config settings. The most controversial change would be the removal of the 'Seed' setting, which I feel is no longer useful or necessary.

What I hope to do next is have a holiday :-). But afterwards I plan to implement traps and other kinds of closets, make the general shape of rooms more interesting (less square), finish the rework of the layout code, and whatever else in the TODO which takes my fancy. One thing I am not planning to do anytime soon is get the other games working again, there is still so much needed for DOOM yet....

See the full list of changes here: Change Log

Version 6.05 of OBLIGE has been released!

Since the 3.57 version, there has been a lot of experimenting with different approaches to lay out the levels and rooms which OBLIGE generates, and a huge amount of code has flowed under the bridge: written, improved, and ultimately discarded. V4 came along and supported many different games, but the levels were quite poor. Then there was V5 which was better in many ways, but still not doing a good job at generating interesting maps to play.

This version is a spiritual successor to 3.57, since it brings back the same algorithms for generating rooms and levels which version 3.57 used. But that is not the only change, there are numerous new things in here compared to 3.57 or 4.28, in particular the new lighting system, and a lot of improvements to general gameplay. While this release is far from perfect, I consider it the best version of OBLIGE to date.

So why not grab it now and have a blast!

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!

© 2016 Andrew Apted