Menu

Tree [6a7ee3] master /
 History

HTTPS access


File Date Author Commit
 android 2023-04-29 Karl Robillard Karl Robillard [cde0f0] Move unzip.* to support directory.
 dist 2025-05-09 Karl Robillard Karl Robillard [c724ae] Bump version to 1.4.3.
 doc 2025-01-04 Karl Robillard Karl Robillard [488fba] Update Faun to v0.2.1 and pull from Codeberg.
 gradle 2022-08-04 Karl Robillard Karl Robillard [cb6d99] Add Android application files.
 icons 2024-12-18 Karl Robillard Karl Robillard [ce0f05] Change app icon to shield. Show title bar icon...
 module 2024-12-18 Karl Robillard Karl Robillard [8e4833] vendors.b: Fix karma word! argument (broken in ...
 src 2025-06-05 Karl Robillard Karl Robillard [6a7ee3] Makefile.common: Fix GLFW build.
 tools 2025-05-02 Karl Robillard Karl Robillard [a05485] Update Faun to v0.2.3.
 .gitattributes 2021-08-31 Karl Robillard Karl Robillard [5fcdb6] Identify Boron files on GitHub.
 .gitmodules 2025-01-04 Karl Robillard Karl Robillard [488fba] Update Faun to v0.2.1 and pull from Codeberg.
 AUTHORS 2022-01-13 Karl Robillard Karl Robillard [6b14b8] Update AUTHORS, ChangeLog, and README for v1.0.
 COPYING 2024-11-17 Karl Robillard Karl Robillard [2516b1] Update license to GPL-3.0-or-later.
 ChangeLog 2025-05-09 Karl Robillard Karl Robillard [c724ae] Bump version to 1.4.3.
 Makefile 2024-12-18 Karl Robillard Karl Robillard [ce0f05] Change app icon to shield. Show title bar icon...
 README.md 2025-05-19 Karl Robillard Karl Robillard [84bfb0] README.md: Update gog.com link.
 build.gradle 2022-08-04 Karl Robillard Karl Robillard [cb6d99] Add Android application files.
 configure 2024-12-15 Karl Robillard Karl Robillard [40837c] Add GLFW backend.
 gradle.properties 2022-08-04 Karl Robillard Karl Robillard [cb6d99] Add Android application files.
 project.b 2024-12-21 Karl Robillard Karl Robillard [d6d647] Allow using GLV on Windows. Update GLV to vers...
 settings.gradle 2022-08-04 Karl Robillard Karl Robillard [cb6d99] Add Android application files.

Read Me

XU4

Prepare yourself for a grand adventure: Ultima IV, sixteen times
larger than Ultima III, is a milestone in computer gaming. Lord
British has produced a game to challenge, not only your physical
and mental skills, but the true fabric of your character. The evil
triad of Mondain, Minax, and the hellspawn Exodus, have been
vanquished and peace reigns throughout the land of Britannia. Evil
yet abounds, but in isolated pockets and in the hearts of men. A
new age awaits the coming of one who can conquer evil on all
frontiers through the mastery of both magic and the use of force.
Daemons, dragons and long-dead wizards still plague the countryside
and must be destroyed. The seeker on the path of the avatar will
faces hostile groups composed of mixed enemy types and will survive
such encounters only by strategic use of weapons and terrain.
Earthly victories over seemingly impossible odds lead to the final
conflict, where the ultimate challenge -- the self -- awaits...

-- Back cover of Ultima IV box

XU4 is a remake of the computer game Ultima IV. The goal is to make
it easy and convenient to play this classic on modern operating
systems. XU4 is primarily inspired by the much more ambitious project
Exult. Linux is the primary development platform but it gets built
for Windows regularly. It should be easy to port to any system with
[Allegro] 5.2 or [GLFW] 3 support.

XU4 isn't a new game based on the Ultima IV story -- it is a faithful
recreation of the old game, right up to the crappy graphics. If you
are looking for a game with modern gameplay and graphics, this is not
it -- yet. New features that improve the gameplay and keep with the
spirit of the original game will be added.

XU4 also tries to maintain strict compatibility with the original for
its savegame files. You can use a game saved in XU4 with the original
and vice versa, at least in theory.

Status

The game is fully playable and can use the original DOS EGA and
upgraded VGA graphics.

Some optional features have been added such as reagent mixing similar to
Ultima 5, speech for non-player characters, and unique spell sounds.

Some thoughts for possible improvements:
- Ultima 5 style aiming in combat (i.e. allow angle shots)
- More sound effects
- Support for higher-resolution tile sets
- Allow the map view to display more of the world
- Menu-based interface, like Sega version
- Use GPU for all rendering.
- Formal modding system to extend the world or create entirely new adventures.

Compiling

To build the binary on Linux use these commands:

./configure
make

If the required libraries & headers are present, make will create the
executable src/xu4.

For more detailed build instructions see doc/build.md.

Running

The actual data files from Ultima 4 are loaded at runtime, which means
that a copy of Ultima 4 for DOS must be present. Fortunately, Ultima IV is
available as closed-source freeware from [www.gog.com].

Some graphics and sounds are stored in module files which have a .mod
extension. Soundtrack modules that only contain music streams are also
available. One game module and one soundtrack module can be selected using
the Game Module Browser, which is opened with the Escape key. Modules can be
found on the [XU4 Download] page.

If you have the optional u4upgrad.zip XU4 can read the data files straight
out of the zipfile. To use it select the U4-Upgrade module.

XU4 searches for data, modules and zipfiles in the following places:
- The current directory when xu4 is run
- On Linux: $HOME/.local/share/xu4, /usr/share/xu4 & /usr/local/share/xu4
- On Windows: %LOCALAPPDATA%\xu4

The DOS game zipfiles (ultima4.zip & u4upgrad.zip) don't need to be unpacked,
but if they are the contents may be in a subdirectory named ultima4 or u4.

Settings & Options

At the title screen, a configuration menu can be accessed by pressing
'c'. Here, the screen scale, filter, volume and other settings can be
modified. These settings are stored in $HOME/.config/xu4/xu4rc on Linux
and %APPDATA%\xu4\xu4.cfg on Windows.

The saved game files are stored in the settings directory.

XU4 also accepts the following command line options:

    --filter <string>   Specify display filtering mode.
                        (point, HQX, xBR-lv2, xBRZ, point-43, xBRZ-43)
-f, --fullscreen        Run in fullscreen mode.
-h, --help              Print this message and quit.
-i, --skip-intro        Skip the intro. and load the last saved game.
-m, --module <file>     Specify game module (default is Ultima-IV).
-p, --profile <string>  Use another set of settings and save files.
-q, --quiet             Disable audio.
-s, --scale <int>       Specify display scaling factor (1-5).
-v, --verbose           Enable verbose console output.

Profiles

Profiles are stored in the profiles sub-directory.
Use quotation marks around profile names that include spaces.
The active profile name is shown on the introduction map view off the main menu.

Ultima 4 Documentation

Included with Ultima 4 for DOS, as downloaded from one of the above
sites, are electronic copies of the printed documentation from the
original Ultima IV box. HISTORY.TXT contains the "The History of
Britannia", a general introduction to the world of Ultima IV.
WISDOM.TXT contains "The Book of Mystic Wisdom", which explains the
system of magic and provides descriptions of the spells and reagents.

PDF versions of these books are included in the official download in
the EXTRA folder of the zip file.
As an added bonus this folder also includes a pdf of the offical
Ultima IV cluebook.

An image of the cloth map from the original Ultima IV box is also
included in the EXTRA folder.

Debug Mode (cheats)

XU4 has a very useful debug mode (you can also think of it as a cheat mode).
To enable it:
- press 'c' in the main menu
- make sure that
1) Game Enhancements = On
2) Enhanced Gameplay Options -> Debug Mode (Cheats) = On

Cheat list:
* ctrl-c (cheat menu; press one of the following keys to use a cheat)

    1-8   gate (teleports you to a moongate location)
    F1-F8 virtue +10
    a     advance moons (advances the left moon [Trammel] to its next phase)
    c     collision (lets you walk across water, through mountains, etc.)
    e     equipment (gives the party Armour and Weapons)
    f     full stats (gives all party members 50 str, dex & intel and level 8)
    g     goto (enter a location and you will be teleported there)
    h     help (displays list of available cheats)
    i     items (gives the party Items and Equipment)
    j     joined by companions (if eligible)
    k     show karma (shows your virtues)
    l     location (displays current map and coordinates)
    m     mixtures (gives the party 99 mixtures of all spells)
    o     opacity (lets you see through opaque tiles)
    p     peer (switches between normal and gem view)
    r     reagents (gives the party 99 of all reagents)
    s     summon (enter a monster name, and it will appear somewhere nearby)
    t     transports (press b/h/s + arrow key to create a balloon/horse/ship)
    v     full virtues (makes you a full avatar)
    w     change wind (changes or locks the wind direction)
    x     exit map (teleports the party to where it entered the current map)
    y     y-up (like the Y-up spell, but free)
    z     z-down (like the Z-down spell, but free)
  • ctrl-d (destroy monster/object; doesn't work on energy fields)
  • ctrl-e (end combat)
  • ctrl-h (teleport to Lord British's throne room)
  • ctrl-v (switch between 3-d and 2-d view; dungeons only)
  • F1-F8 (teleport to a dungeon entrance; surface only)
  • F9-F11 (teleport to the altar room of truth/love/courage; surface only)
  • F12 (display torch duration)

Note:
Except for the ctrl-e command, none of the cheats work during combat.

Misc.

See http://xu4.sourceforge.net/links.html for some other interesting
Ultima IV related links.

Please send an email to wickedsmoke@users.sourceforge.net if you are
interested in helping.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.