Welcome to Ultima VII: Revisited, my attempt at writing a replacement engine for Ultima VII: The Black Gate.

(Click for a preview of upcoming attractions.)
Engine installation and operation
To run this program, you must copy the contents of your original DOS ULTIMA7 folder /Data/u7This replacement will allow the engine to read maps and graphics from the original files,
-
Locate your Ultima 7 game files (eg.
C:\Program Files (x86)\GOG Galaxy\Games\Ultima 7,

-
Copy all these files, folders and subfolders
./Data/U7,Hint: look forU7.txtfile,

Developer Installation Notes
- Clone the project to a local folder using whatever Git interface you prefer
- Copy the entire contents of your original DOS ULTIMA7 directory here
$(SolutionDir)/Redist/Data/U7/
Building with Mason (cross-platform)
- Make sure you have the Meson build system installed
- run
meson setup buildOr if you want to create a Visual Studio project,meson setup --backend vs build - run
meson compile -C buildto create a project - Go
build/directory and runu7revisitedProgram
Building with CMake (Windows and Linux)
Windows:
- Install CMake (3.15 or higher) – Visual Studio 2019+ includes CMake support that you can install via the Visual Studio Installer. See CMake Projects in Visual Studio for details.
- To get the console with cmake on your path you need to open “Developer Command Prompt for VS 2019”! A normal powershell or cmd.exe will not work!
- CD into the project folder, and configure and generate the build files:
cd U7Revisted cmake -S . -B build
- Open new solution file in Visual Studio 2019+:
build/U7Revisited.sln - Build the project using Visual Studio (Ctrl+Shift+B or Build → Build Solution) or F5 to build and debug
- The release executable will be copied automatically
Redist/u7revisited.exeafter construction
Linux:
- Install CMake and required dependencies:
sudo apt-get install cmake build-essential libgl1-mesa-dev libx11-dev libxrandr-dev libxi-dev libxcursor-dev libxinerama-dev
- Configure and generate build files:
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release - Create Project:
cmake --build build -j$(nproc) - The release executable will be copied automatically
Redist/u7revisitedafter construction
WASD: move around.Q/E: Rotate left and right.Mousewheel: zoom in Zoom Out.- To teleport to a location, left click there in the minimap.
- Double-left-click on an NPC to attempt to talk to it (does not work for all NPCs yet)
- Double-right-click on a container to open it and view its contents (NPCs are considered containers)
- Press +/– on the keypad to slow down/speed up the time. Press Enter on the keypad to advance the time one hour.
- Press
ESCTo exit.
This is an open source project, meaning you can take the source files from github.com/viridiangames and build it yourself!
The sandbox is a “debug” mode and has additional options available for world building and testing. You can make changes and save them to work on the game from inside the game! The red square in the upper left corner toggles NPC pathfinding.
- LMB – Clicking on objects, NPCs or floor tiles prints debug information
- LDBL – Left double click on object/NPC calls interact()
- F1 toggles the shape editor tools
- F7 Toggles black outline borders and draws static objects
- F8 toggles Lua debug for additional logging
- F9 toggles debug bounding box
- F10 toggles pathfind cost shown by coloring tiles
- F11 toggles green highlights for scripted objects
- -> Right arrow moves forward in time to the next hour
Feedback welcome boy, you’re welcome!
The best way to give feedback is to send it to my email address anthony.salter@gmail.com and put Revisited In the subject line.
Have fun and rule Britannia.