OBLIGE Level Maker

Random map generator for classic FPS games


Oblige V1 was a simple prototype created around May 2005. It was written in C++ and produced maps with a very limited architecture (everything was just 64x64 blocks). No monsters or items were added. A notable feature was a GUI window which showed you the shape of each generated area.

Oblige V2 started development in June 2006, based on the idea of using the Lua scripting language for level generation, and C++ for the user interface and WAD file creation. It evolved with many features and support for several games, culminating in the first public release (0.81) in early 2007.

Oblige V3 was a huge rethink and rewrite, prompted by severe limitations in the previous design. The V3 code introduced the concept of constructing maps from brushes (similar to how Quake mapping works), and planned the levels using a grid of 192x192 unit squares called "seeds".

Oblige V4 / V5 were both experimental designs, sharing a goal of building rooms from very large prefabs (where a whole room could be a single prefab). However this approach proved to be a dead end, being too inflexible and producing maps that were very repetitive, so it was scrapped.

Oblige V6 was the result of merging the layout logic of V3 with some of the good features developed for V4 and V5, especially the system of using normal WAD files for prefabs (greatly easing the construction of those pre-fabricated pieces).

Oblige V7 began as a rewrite of the level generator using another experimental method nick-named the "weird" generator. While that system could produce some interesting layouts, it was unsatisfactory in other ways (like a general inability to use large prefabs), so it was ultimately replaced by a system inspired by the concept of "shape grammars".


Version 7.70   : 2017-10-25
Version 7.666 : 2017-07-29
Version 7.50   : 2016-09-27

Version 7.17 : 2015-09-16   (unofficial, experimental package)

Version 6.20 : 2015-03-10
Version 6.10 : 2014-07-11
Version 6.05 : 2014-04-30

Version 5.10 : 2013-08-14   (unofficial "work in progress" package)

Version 4.28 : 2012-09-28

Version 3.57 : 2010-04-07
Version 3.51 : 2010-02-24
Version 3.47 : 2009-09-22
Version 3.43 : 2009-08-11
Version 3.39 : 2009-04-12

Version 0.97 : 2008-05-30
Version 0.94 : 2007-07-05
Version 0.85 : 2007-02-19
Version 0.81 : 2007-01-21   (very first public release)


+  Heretic support!

-  Makefile.macos file, courtesy Doctor Nick

-  fixed error when Steepness setting is "NONE"
-  fixed blocked paths when using the "Alternate Starts" setting



+  UI: big revamp, two scrolling columns of modules
-  UI: main window can be vertically resized
-  UI: default save filename is the generated title name
-  UI: remember the previous folder when saving

-  UI: option to use mousewheel to change settings
-  UI: option to disable the overwrite-file warning
-  UI: the "Use" button in config manager now sets the seed too
-  UI: "@@" on the command line will forget current module

+  the "Weapons" button now controls how early or late new
   weapons are introduced into the wad

+  new "Park" rooms, naturalistic outdoor areas

+  hallways

+  more variety of window prefabs

+  ensure a secret exit can always be placed
-  fixed bug swapping normal-exit and secret-exit switches
-  support secret weapons (available earlier than usual)

+  add barrels, blood and corpses to rooms
-  fixed large teleport-in monsters getting stuck
-  support for the Quake3 map format in the CSG code
-  sky generator makes better looking mountains

-  new "Ramp Up" and "Bosses" buttons for monster panel
-  new themes: "Bit Mixed", "Original-ish", "Episode-ish"
-  new health/ammo settings: "Bit Less" and "Bit More"

!  removed Skulltag engine and modules
!  removed most other engines, since they did nothing at all
!  removed "Mode" button in UI, since it did very little
!  removed the non-standard player things (4001..4004)

-  got triple-key doors working again
-  got remote-activated doors working again
-  got lowering-bar fences working again

-  added exit signs to doors leading to exit room
-  renamed "Start Together" setting to "Alt-start Rooms"

-  improved title generator, removed pre-made backgrounds
-  support TGA format title pics when engine is GZDOOM

-  better scenic areas outside the map
-  raise outdoor fences when near an item pedestal (etc)
-  smooth corners where two fences meet

-  proper action system for remotely activated doors (etc)
-  introduced variation in how much symmetry to use
-  unused leaf rooms become "storage" for some minor items
-  lower tendency of creating long/thin rooms

-  various polishing of the shape rules
-  DOOM CSG: reworked how railing textures are handled
-  abbreviated config in OBLIGDAT lump and config manager
-  fixed issue with garbage characters in the Log Viewer



Major stuff

+  new "Shape Grammar" level generation system
+  add-on package system
+  support other languages (localization)
+  a title-pic generator
+  a log-file viewer

+  better planning for Boss monsters
+  better indoor lighting
+  better secrets


-  no hallways
-  no 3D floors
-  no outdoor cavey rooms
-  no scenery outside the map borders



+  added basic monster closets

+  re-implemented diagonal walls

+  new Gameplay Tweaks module
   (can prevent monsters in start room, among other things)

+  new "Easier" and "Harder" settings for monster strength

+  new "Episodic" setting for monster quantity and level size

+  finer control over Outdoors, Caves and all level styles
   with new "Rare", "Less" and "More" settings

!  removed "Always" setting for Caves and Outdoors

-  ability to set the random seed
-  in co-op mode prefer steep stairs instead of lifts
-  better monster selection via new 'min_weapon' field
-  water and blood are no longer damaging

-  fixed error when all monsters in control module are "None"
-  fixed map header lumps having size 1 instead of 0
-  fixed creating "arch with step" when steepness == NONE
-  fixed using key podiums underneath a 3D floor



+ new 'Weapons' setting
+ implemented the 'Powerups' setting
+ new 'Menu' button, replaces 'About' and 'Options'

+ new 'Config Manager' window 
+ better window scaling, new 'Window Size' option
+ store options separately from normal settings

+ generate DOOM 1 episode name graphics
+ better outdoor borders (like in V5)
+ preliminary support for 3D floors

+ added 'tech_Gray' theme for DOOM, thanks to Chris
+ new 'Egypt' theme for TNT Evilution, courtesy Chris
+ new 'Theme Control' module for DOOM 1 and 2
+ new 'Music Swapper' module (for Boom compatible ports)

! removed the 'Seed' setting
! removed the 'Hide Modules' option
! reverted indoor lighting to a simpler model
! curvey corners are not working atm

- support upto 8 players in CO-OP mode
- new 'Steepness' setting for Level Control module
- new theme choices: Mostly Tech, Mostly Urban, Mostly Hell
- reorganized the 'Theme' menu, added a separator

- tweaked the DOOM monster mix
- small reduction in the overall health in levels
- small increase in number of bonus items per level
- increased size of exclusion zones around teleporters
- sometimes change the pacing near the exit room

- added a couple of special doorways for caves
- added arch-shaped doorway for Urban and Hell themes
- better secret connections in outdoor rooms
- better texturing for outdoor fences
- build all doors and fences using the wad-fab system
- build all stairs and lifts via wad prefabs

- CSG: better handling of Y offsets
- CSG: improved handling of railing textures
- support 3D floors in wad prefabs
- better logic for finding monster and item spots

- caves: improved floor texturing in flat caves
- caves: never place pickup items in liquid areas
- caves: if not many caves, keep texturing consistent
- caves: added some waterfalls near lakes

- fixed error when setting Monster Variety to "none"
- fixed uncounted secrets that lead into CAVE rooms
- fixed Psychedelic theme using SKY1/2/3 as a normal texture
- fixed the silly "free standing" archways and doors
- fixed the weird metal walls in large scenic areas
- fixed pegging on lifts in slime pits

- fixed rare infinite loop when planning cave rooms
- fixed torches in caves to never obstruct the player
- fixed missing automap names for TNT and Plutonia maps
- fixed secret sectors from being split by lighting
- fixed rare problem of co-op player stuck in cave wall



The Good

+ new lighting system
+ WAD-based prefab system
+ restored v3.57 room layout logic (with improvements)
+ secret rooms, with nice items to get
+ more varied monsters, guard monsters
+ better health calculation (no more mountains of it)
+ escapable slime pits

The Bad

! no support for games other than DOOM
! no closets (for starts, exits, teleporters, etc)
! no multiple paths between rooms
! crappy hallways


+ Heretic boss maps, thanks to LakiSoft
+ new E2M8 and MAP07 boss maps, thanks to Chris
+ new E1M8 boss map, contributed by SylandroProbopas
+ variations of MAP30 boss map, courtesy Chris
+ DOOM 1 "Ultra" boss maps, by Chris

Other Changes

- proper installation for Linux / Unix
- in the GUI replaced 'Secrets' button with 'Caves'
- added "Always" setting for Outdoors and Caves
- the occasional dark outdoor level

- better quests, often need to _find_ weapons and armor
- co-op: sometimes players start in different rooms
- improved Sky generator module
- some cave improvements


© 2017 Andrew Apted