Ultima 1 Revenge

Produced by: Dino the Dark Dragon
Website: u1revenge @ BitBucket

Ultima 1 Revenge

Dino the Dark Dragon’s XNA-based reverse engineering of the Ultima 1 engine.


The Ultima 1 Save File Format

The save file format for Ultima 1.


Locations Reference

Hexadecimal coordinates for the cities and castles of Ultima 1.


Dungeons Locations Reference

Hexadecimal coordinates for the dungeons of Ultima 1.

Dino the Dark Dragon began reverse-engineering the Ultima 1 engine as a spare-time project in 2007. Initially, he managed to produce a basic engine for the game, as well as some documentation about the files and sites.

A spare-time project, Ultima 1 Revenge saw a few different iterations. The first version of the engine was written in C and used the SDL libraries. A second, XNA-based version allowed Dino to make significant progress on the project; two demos were released, and he was also able to develop numerous tools. However, the use of XNA limited him to the Windows platform (XNA could not be cross-complied to other systems), and support for the language was later dropped by Microsoft.

The current — third — version of Ultima 1 Revenge is being built with C++ and SDL2. Dino’s aim for the project, now, is to build tools that will work with the original Ultima 1 game files, and (ultimately) to create a cross-platform engine for Ultima 1 in the spirit of Exult.

Leave a Reply