ViridianGames/U7Revisited: A replacement engine for Ultima VII The Black Gate (and eventually Serpent Isle) that presents a new camera angle and other improvements.

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

image

(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,
    Specific GoG U7 Folder

  • Copy all these files, folders and subfolders ./Data/U7 ,Hint: look for U7.txt file,
    Project U7 Data Folder

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 build to create a project
  • Go build/ directory and run u7revisited Program

Building with CMake (Windows and Linux)

Windows:

  1. 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.
  2. 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!
  3. CD into the project folder, and configure and generate the build files:
      cd U7Revisted
      cmake -S . -B build
  4. Open new solution file in Visual Studio 2019+: build/U7Revisited.sln
  5. Build the project using Visual Studio (Ctrl+Shift+B or Build → Build Solution) or F5 to build and debug
  6. The release executable will be copied automatically Redist/u7revisited.exe after construction

Linux:

  1. 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
  2. Configure and generate build files: cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
  3. Create Project: cmake --build build -j$(nproc)
  4. The release executable will be copied automatically Redist/u7revisited after 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 ESC To 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.



Leave a Comment