Modding in Exult the Ultima VII engine part 1: portrait editing

Exult, the Ultima VII fan-made engine for porting and running Ultima VII (including The Black Gate and Serpent Isle) to modern systems, is also coming with a convenient tool for modding Ultima VII both parts, and even make new games in the similar style. Throughout the years, Ultima fans might be interested in changing part of the game or make own mods, but might not know how to begin with, which is the motivation of this guide.

Most of the basic contents of how to use the modding tool, Exult Studio, can be found in the official Exult Studio documentation (please refer to the documentation and make sure to install and run Exult properly), but here I try to go directly into how to modify some of the things fans might care about the most and give a bit of insight of how Exult Studio works.

Custom Avatar mod, made by yulotomorrow (author)

What can we do, and how easy or difficult are they?

Exult Studio allowed you to modify a lot of things, and with some additional scripting, you can edit something more complicated. Here we assume you have already prepared your assets that you want to work with, and from easy to difficult, you can do including but not limited to:

  • Only need to modify in Exult Studio:
    • Modifying the looking of people or items
    • Modifying the combat data, character attributes, item attributes etc.
    • Adding new items, weapons, etc.
    • Adding your own monster
  • Need to also modify in running game
    • Placing and editing the place of items (when they first generate) in map
    • Editing the map environment, building your house that look like what provided in-game
  • Need scripting
    • Adding not existing NPCs with dialogues
    • Adding trigger points of events on map
    • Modifying existing NPCs and dialogues
    • New game features

Note that, contrary to common beliefs, dialogue modify is actually harder than adding new dialogue. This is due to the original game data script is packed and cannot access source script directly. You need to override the whole original dialogue if you want to change a line, but it’s still doable.

In most case you cannot simply “copy” something and make a similar individual item. Modify an existing item is easy, but it will lead to everything that mark as this item in game changed. So you need to understand what the data are for when you create a new item.

Lastly, once you hit save, the modifications you did is not revertible, you need to manually change back or clear the whole mod if things go wrong. Make sure to do your source control if you’re aiming for complex modification that affect multiple in-game objects.

As to the scope of this tutorial, we will do 3 case studies that covers sprite change, item modification and new NPC creation. We won’t be covering map and eggs (triggers) as of the current version of tutorial. Please find the corresponding chapters in Exult Studio documentation.

Case study 1: Custom Avatar

This probably is a quite common request because it can greatly increase immersion. Here I assume you have prepared your Avatar avatar, either by scaling a photo or draw your own character.

In short, the procedure is pretty straightforward: Find the target to replace -> Export target shape -> Make modification -> Import new shape to target -> Save and check in game.

In Exult Studio, first choose File -> Load game -> the game we want to modify (such as The Black Gate). Note that the two parts of Ultima VII are mostly separated, and modifying one cannot affect another. Next we need to find the target shape, for portraits, they are located in FACES.VGA, click it in the Exult Studio, and it shows all the portraits. Then right click -> export shape, save it at the directory you want. Technically if you have the .shp file ready, you can skip this step, but I strongly suggest you edit your art based on an existing shape in Exult, to avoid any palette mismatch problem.

Exult Studio interface

Any art assets should be in .shp file format. There’s a plug-in provided by Exult that let you edit and export .shp file in free 2D graphic editing software gimp. When you export shape from exult studio, you will see it shows like ordinary layered graphic in gimp. The different layer is corresponding to “frame”, a concept in Exult that marks different shapes in one item. So if you have some art that is under the same person/item/concept and share same logic, you probably would want them as frames instead of separate items.

For example, if we want to make a mod of the female Avatar in U7-Black Gate (BG), we load the game “black gate” in exult studio, the find the Avatar in the tag FACES.VGA. Avatar should be the first one, but here we only see the male Avatar. We need to right click -> info and inspect different frames, and here we found Female Avatar is at frame 1. In Gimp we simply replace this layer with your pixel portrait prepared, save and export as .shp, and choose “import shape” to import back to the slot. Now we inspect in editor and see indeed the frame 1 is the new Avatar.

Exult Studio shape inspection

If you want to FULLY edit the Avatar, you need to change the paperdoll and sprite too. The NPC sprite contains 32 frame, it’s a lot of work to edit all the frames, but make sure they’re all edited if you decide to edit, or it will look strange. The sprite is in the SHAPES.VGA file, but there are over 1000 items and they’re very small, it’s hard to find target item. In this case search is suggested to use. Enter “Avatar” in the “Find” textbox below, and click the arrows to find the Avatar shape. Note that this name is the display name in game, so there might be multiple items sharing the same name, and in Serpent Isle some of the Avatar sprites didn’t have names, you might still need some manual search sometimes. For paperdoll modification, since BG and SI have different paperdoll, the ones in BG is under GUMPS.VGA, and in SI under PAPERDOLL.VGA.

This simple mod can do in Exult studio alone, the modification will be saved in patch folder in the Ultima 7 game folder (for example, if you have GOG version, the Ultima 7 file will be in the GOG game folder), and the change will immediately show in game, even in an existing save.

Now you have your own custom Avatar! If you are interested in having your custom Avatar, you can also try and show off your Exult modding result!

(To be continued in part 2)

Leave a comment

Blog at WordPress.com.

Up ↑

Design a site like this with WordPress.com
Get started