Blog Index

Sam Trenholme’s blog

ObHack7 release

July 25, 2026

I have made what will probably be my only release of ObHack7 today. This is a random map generator (procedural generator) for Doom, Doom2, and Heretic that runs in Windows. It can be downloaded by clicking (or tapping on) this link, and source code is also available.

OhHack

ObHack is a fork of Oblige 2 which I mainly worked on back when I didn’t have Internet at home and wanted to be able to play unlimited Freedoom and Heretic levels.

There was interest in me doing a version of ObHack for later versions of Oblige, something I never did until a couple of years ago, when I started using Oblige 7 to generate Heretic levels.

ObHack7 2026-07-25

Compared to Oblige 7, ObHack7 has the following changes

Playing Heretic in 2026

Now that Heretic + Hexen has been released, finally giving the E6 levels official names, here are my thoughts on playing Heretic here in 2026:

Episode 6

Heretic’s “Shadow of the Serpent Riders” release included three secret levels in Episode 6; these maps were for deathmatch play. E6M3, “American’s Legacy”, doesn’t have an exit.

Oblige 7 handled episode 6 by ignoring it. ObHack7 handles Episode 6 by having E6M3 have an exit; ObHack generates not only E6M1-E6M3, but also E6M4, E6M5, and so on, even generating E6M9.

The way Heretic + Hexen handles E6M3 having an exit is by having a “You’re not supposed to get here, but hurray, you won the secret levels” message after exiting E6M3, then ending the game. E6M4 and so on are not accessible.

Dengine (Doomsday) 1.8.6 had a bug: It would take one to E6M4 once one exited E6M3, and so on until E6M8. Switching the exit in E6M8 causes the exit to “click”, but otherwise nothing happens. Exiting E6M9 puts one in level E6M0. While it’s not possible to load a game saved in E6M0, exiting E6M0 puts one in E6M1 again.

ObHack2 in fact generated an E6M0 level so one could exit the secret E6 level and continue playing maps. ObHack 7 doesn’t generate E6M0; not only isn’t there a way of getting to E6M9 without using the Doomsday console, but exiting E6M9 will, since there isn’t E6M0, crash Doomsday 1.8.6.

This is a non-issue for source ports with UMAPINFO support, but ObHack7 is made for Doomsday 1.8.6, which came out well over a decade before UMAPINFO existed, and doesn’t generate UMAPINFO lumps.

Obsidian

I mention Obsidian, another fork of Oblige 7. Obsidian is available here:

https://github.com/GTD-Carthage/Obsidian-Content

My impression is that Obsidian has a lot of features Oblige 7 doesn’t have, but the code is a lot more buggy and unstable than Oblige 7 and ObHack are.

Download

ObHack7 can be downloaded by clicking (or tapping on) this link, and source code is also available.

Note that both files are compressed using 7-zip. Windows 11 comes with built-in 7-zip support; users of Windows 10 or earlier can use 7-zip to extract the files.

Go to: Older - All entries - Index