
Ultima I Unity
Rebuilding the 1987 DOS Remake of
Ultima I: The First Age of Darkness
Pulling apart the original DOS binaries to figure out how they work, filling in the gaps where things aren't clear, and putting it back together in Unity, one commit at a time.
Playable download coming soon.
Read the DevlogPlease consider purchasing the official release of Ultima I from GOG.com before downloading this fan project.
Trying to Rebuild a Classic
This project works from the binary data files and decompiled executables of the 1987 DOS remake. Some things map cleanly, others take a lot of trial and error. Where the original data runs out, the project borrows assets and ideas from other versions of the game.
Binary Archaeology
Digging through the original DOS binary formats: EGA row-planar tiles, nibble-packed overworld maps, column-major town data. Some structures decoded cleanly; others required guesswork and testing against the running game.
Switchable Graphics
The original EGA and CGA palettes are in, but the project also supports tilesets from FM Towns, Ultima III, and Ultima V, switchable on the fly with F3. A way to see these worlds through different eras of the series.
Complete World
168×156 overworld, 40 enterable locations (8 castles, 32 cities), multi-level dungeons, and a full star system. Town coordinates came from cross-referencing multiple sources where the binary data alone wasn't conclusive.
Game Systems
Turn-based combat, space battles, XP-based leveling, inventory, vehicles, and NPC dialogue. Combat formulas were decompiled from the original EXE where possible. Some edge cases are best-effort recreations.
Community References
Where the binary data alone wasn't enough, these community resources helped fill in the gaps, documenting game mechanics, formulas, sprites, and quirks that would have taken far longer to reverse-engineer from scratch.
Ultima Dragons
Special thanks to members of the Ultima Dragons Discord who dug through their own archives and helped track down sprites that weren't available anywhere else:
Music
Original music and arrangements contributed by community musicians, bringing the soundtrack to life beyond the original PC speaker beeps.
▶Uncle Willy Tracks on MajuularcadeSystems Implemented
Overworld Exploration
168×156 tile overworld with towns, castles, dungeons, and encounters. Spawn tables are approximated from observed behavior since the exact original logic isn't fully understood.
Towns & Castles
40 interior maps with NPCs, shops, kings, and princesses. Some NPC placement was reconstructed from partial data and cross-referenced with community maps.
Dungeon Crawling
First-person wireframe dungeons with trap doors, coffins, and treasure. Optional FM Towns and Ultima V textured wall modes for a different look.
Space Combat
Cockpit-view battles, station docking, and hyperspace jumps. The behavior is a best guess from decompiling SPACE.EXE, close but probably not byte-exact.
Sound & Music
SFX and music playback pulled from multiple versions of the game. The 1987 DOS original had PC speaker beeps, so the fuller soundtrack comes from later ports.
Multi-Tileset Rendering
Switch between EGA, CGA, FM Towns, Ultima III, and Ultima V tilesets with F3. Animated sprites and depth-based water shaders in the newer visual modes.