ObHack

ObHack is a procedural random map generator created primarily by Sam Trenholme for classic Doom and the related games Heretic, Freedoom, and Blasphemer. It is a fork of OBLIGE version 2. ObHack was actively developed from 2009 to 2017, plus a single bugfix release in 2020.

Several novel features were created for ObHack, which were then added to later versions of OBLIGE, including a greatly improved Heretic theme, secret rooms, progressive level sizes (where earlier levels in a mapset are smaller then later levels), and a choice of initial weapon.

Obtaining ObHack
The most recent update to the post-2009 codebase (ObHack 008) is in the ObHack-8-final release of ObHack.

ObHack can also be downloaded at its home page.

More recent developments, which are being performed against an older code base, can be downloaded from the tree for ObHack at GitHub. This Git tree is mirrored at GitLab, Bitbucket, and Sourcehut.

Features
ObHack added a number of features to OBLIGE 2, including:


 * The ability to choose swarms of monsters.
 * The ability to have both letters and numbers in map seeds, and to have arbitrarily long seeds.
 * Real secret rooms.
 * The ability to have the player be immediately given a weapon.
 * Monster traps.
 * Selectable room size.
 * A mode which makes maps which can be played either as single player or as deathmatch.
 * Very basic capture the flag support (no, the maps are not symmetrical).
 * Support for tiny and small levels.
 * Progressive level size, where maps gets bigger as one goes through a megawad.

These features were incorporated into later versions of OBLIGE.

History
ObHack was developed by Sam Trenholme from 2007 until 2009; Fritz took over development between 2009 and 2012. Trenholme resumed ObHack development from 2015 to 2017, adding basic capture the flag support (levels are not symmetrical), Blasphemer support, and randomly generated boss arenas.

In 2020, a bug was found where the same random seed would generate somewhat different maps. This bug was mostly fixed (around 5% of maps are still non-deterministic); this is the only update done to the 2017 version of ObHack.

Current development
While there have been a number of recent commits to ObHack, they are being done against an older version of ObHack from 2009, adding tests (now that ObHack is mostly deterministic) and some minor adjustments to the 2009 ObHack code base, including a lot more firepower in single player maps when they are played in Deathmatch mode.