Games

Ultima Underworld: The Stygian Abyss

DOS · 1992 · 2 projects

2 ports

Fan remake Experimental

Ultima Underworld / Ultima Underworld II (UnderworldGodot)

hankmorgan/UnderworldGodot

UnderworldGodot: an engine recreation of Ultima Underworld and Ultima Underworld II in Godot, written in C#, that supersedes the earlier Unity-based project and reboots the code to work more like the original games did. It builds on years of reverse engineering by other fans, whom it credits. Its author calls it pre-alpha, “an interactive map viewer with a lot of game logic implemented,” and warns not to expect it to be playable as normal. It already has full conversations, almost all triggers and traps, bartering, inventory, spells with the original logic, melee and missile combat, NPC AI and pathfinding, character creation, leveling up, an automap with notes, cutscenes, swimming, death and resurrection, speech and sound effects, and music synthesized in real time from the original XMI files through an emulated MT-32 or CM-32L (with your own ROMs), a bundled free SoundFont, or FM synthesis. Loading saves is fully supported, saving only partly. It publishes test builds for Windows and Linux, the latest, build 31, on June 20; on Apple silicon macOS it builds and runs. Its policy rules out AI-upscaled or AI-generated assets; two of its last 100 commits list Claude or Cursor as a co-author.

You needThe files from your own copy of Ultima Underworld, Ultima Underworld II, or both: the game folder with the DATA, CRIT, CUTS, and SOUND subfolders (in the GOG versions, the game.gog file is an ISO image you need to open or extract first). For MT-32 or CM-32L music, the ROMs from your own synthesizer. Plus Windows or Linux; on macOS, by building it with the .NET version of Godot 4.3.

★ 333 · 2026-09-30 View →
Port (decomp) Experimental

Ultima Underworld: The Stygian Abyss (Interrupt)

Interrupt/ultima-underworld

A PC port of Ultima Underworld 1 (called Grandaddy) based on a decompilation of the Pocket PC (WinCE) version, which the author says upgraded the DOS engine: 32-bit and a more advanced software renderer that fixed the original’s warping and added smoother lighting. The decompiled code is in the repository, with names recovered from Ghidra and tests that compare tables and strings against the original executable’s, but not the Ghidra project or the game data. It compiles, links, and runs against real data and has been tested through the end of level one; testing is ongoing. It adds mouselook, a fullscreen mode that hides most of the HUD, and a debug panel with a console. The releases, in alpha, are 1 MB packages for Windows, Linux, and macOS (Apple Silicon); 0.5.1 is from October 19. 61 of its last 100 commits list Claude as a co-author.

You needThe original data files of your own copy of Ultima Underworld: either the DOS or the WinCE ones, extracted into a UWDATA folder with DATA, DATA3D, SOUND, CRIT, and CUTS, which you point to with --data-dir. Plus Windows, Linux, or macOS with Apple Silicon; building needs CMake, clang, and SDL2.

View →

Questions

What projects are there for Ultima Underworld: The Stygian Abyss?

The catalog has 2 ports for Ultima Underworld: The Stygian Abyss, all on this page with their status.

What do I need to play it?

Your own copy of Ultima Underworld: The Stygian Abyss (DOS). Recompendium only links projects that don’t distribute the game, and each entry says which version or region you need.

Which one is the most popular?

Ultima Underworld / Ultima Underworld II (UnderworldGodot), with 333 stars on GitHub.