Why walk when you can ride?

Wolfgang Müller

Do you ever find yourself in the middle of nowhere, in the northern Ashlands of Vvardenfell, and suddenly think: “Damn, what’s my fastest way to Tel Branora from here? I still have to deliver Mistress Therana’s skirt!"

A screenshot of Morrowind in the dark and dusty Ashlands, with two Netch in the vicinity.
Somewhere in the Ashlands of Vvardenfell.

Depending on the character you play, the answer to this question can vary wildly. For one you could try to reach Khuul and rely on regular fast travel services like the Silt Strider and the Guild Guide, but maybe you’re playing a particularly stuck-up Telvanni and would like to avoid interacting with the Imperial rats of the Mages Guild. Valenvaryon or Falasmaryon is close, and you have picked up all Propylon indices already, so that is a very good alternative. Or maybe you’re feeling the need for some fresh sea air and would like to sail all around Vvardenfell.

Morrowind’s fast travel system is extensive and complex, so figuring out the fastest routes from any one location to another is not an easy task. Even worse, some of the best travel options (the intervention spells that teleport you to the next Temple or Imperial Shrine) are hard to know when to use optimally.

A map of all travel routes on Vvardenfell
A map of all travel routes on Vvardenfell, courtesy of the UESP.

Morrowind veterans probably have a very good idea of the intricacies of Vvardenfell’s travel routes and can figure out the above problem in seconds, but maybe you’ve just started the game and feel a bit overwhelmed, or you just installed Tamriel Rebuilt and have to suddenly juggle a multitude of new routes.

The latter is true for me, so I ended up writing ywalk, a command-line tool that figures out the fastest route between a set of places in Morrowind. It can consider certain limitations (Telvanni disdain for the Mages Guild perhaps, or having to escorting yet another lost pilgrim1 who can’t teleport) and give you an optimized route.

Connections between places are parsed from a simple text file with tab-separated values. A connection definition is simply the origin, the destination, the mode of travel, and how long the journey takes in in-game hours:

Origin       Destination     Mode            Time
Seyda Neen   Balmora         Silt Strider    3
Vivec        Hla Oad         Boat            5
Balmora      Seyda Neen      Silt Strider    3
Balmora      Vivec           Guild Guide     0

Since a very small number of routes are one-way only2, I decided to keep things simple and require every route to be specified explicitly. As you can see above, the route between Seyda Neen and Balmora is specified twice, once for each direction.

To collect these routes, I used the indispensable Unofficial Elder Scrolls Pages and my own copy of the game running on OpenMW. I made each catalogued journey myself at least once, just to be sure.

ywalk ships with definitions for the entire fast-travel network for the Game of the Year version of Morrowind (meaning the Master Index plugin is enabled by default). For Tamriel Rebuilt it includes definitions that are active with TR_Travels. For now, only places with fast-travel options are considered. An exception to this rule are available player homes in Vvardenfell, for use with the Recall option. If you are curious, check out goty.tsv and tr-travels.tsv.

Installation

ywalk is written in Python and is supposed to be installed per user. The data files and manual need to be installed separately because Python packaging is a nightmare. For a full install as a user, get the sources from the git repository and run the following commands:

$ python setup.py install --user
$ make install

This will install ywalk to ~/.local/bin, the data files to their canonical path ~/.local/share/ywalk, and the manual to ~/.local/share/man/.

Usage

ywalk offers a simple command-line interface. Invoke it with the list of places you want to travel through or to, and it will print a route if it can. By default it allows all modes of travel, but you can allow only specific modes with -m, or restrict them with -M. For detailed usage information, see the manual.

A screenshot of Morrowind in the port of Khuul.
Can't wait to get out of this place.

Let’s see it in action! Consider a regular character that has no problem with land-based transport and can use the Mages Guild relays, but has no way of invoking Almsivi or Divine Intervention and never even heard of a Propylon chamber. In that case, we’d head over to Khuul and then start our journey:

$ ywalk -M almsivi,divine,propylon Khuul 'Tel Branora'
Start in Khuul
 then take the Silt Strider to Ald'ruhn (5 hours)
 then take the Guild Guide to Vivec
 then take the Boat to Tel Branora (5 hours)
Arrive in Tel Branora after 10 hours.
A screenshot of Morrowind in Falasmaryon's Propylon chamber.
The homely hum of crystals.

Now for the stuck-up Telvanni that raided every single Dunmer stronghold and completed their Propylon Index collection. We start in Falasmaryon in that case and avoid Mages Guild relays like the Corprus disease:

$ ywalk -M guide Falasmaryon 'Tel Branora'
Start in Falasmaryon
 then travel by Propylon to Caldera
 then travel by Propylon to Telasero
 then invoke Almsivi Intervention to Molag Mar
 then take the Boat to Tel Branora (2 hours)
Arrive in Tel Branora after 2 hours.
A screenshot of Morrowind in the eastern swamp.
On the way to Hla Oad.

And finally for our sailor, again from Khuul:

$ ywalk -m boat Khuul 'Tel Branora'
Start in Khuul
 then take the Boat to Gnaar Mok (7 hours)
 then take the Boat to Hla Oad (4 hours)
 then take the Boat to Vivec (5 hours)
 then take the Boat to Tel Branora (5 hours)
Arrive in Tel Branora after 21 hours.
A screenshot of Morrowind in the port of Sadrith Mora.
Arriving in Sadrith Mora.

Let’s say our character absolutely hates the swamp. We can make sure to avoid Gnaar Mok with -P. This will lead to a journey around the eastern parts of Vvardenfell:

$ ywalk -m boat -P 'Gnaar Mok' Khuul 'Tel Branora'
Start in Khuul
 then take the Boat to Dagon Fel (8 hours)
 then take the Boat to Sadrith Mora (10 hours)
 then take the Boat to Tel Branora (8 hours)
Arrive in Tel Branora after 26 hours.

By default, ywalk optimizes for least travel time. It recommends using teleportation over regular Silt Strider or boat services even though using the latter would usually decrease the number of hops needed. If you’re interested instead in a route with the least number of hops, you can change the weighting method for the path-finding algorithm with -w.

A screenshot of Morrowind looking at Tel Branora.
Our destination, with a slight hint of rotting Kwama Eggs.

I hope you’ll have fun trying this out. Feel free to send any improvements along!


  1. Always better than a naked Nord, though. They probably all deserve it. 

  2. Vos to Sadrith Mora, for example. Curiously, Tamriel Rebuilt removes this connection entirely.