Trade and Transit


Staff member
Note: Quoted from @Thamus_Knoward

Hey guys,
we need some help gathering data for the completion of our Trade&Transit module. The focus of this is on regions that we have almost completed: Ironislands, Westerlands, Vale. Anyone can help out! So, if youre willing shoot Demod a message and ask for editing perms on this doc and then follow this nice step-by-step guide for contributors:

How to Complete the “Trade and Transit” Database:
The “Trade and Transit” database is a comprehensive spreadsheet that lists each warp and how it is fit into the Voronoi areas and the transportation network. Each warp is considered as a point, with transit routes that connect it to adjacent points. The document is divided by region, with each region having its own page. Warps within cities are not included, but if a warp has a significant role in the region (e.g. a holdfast, a crossroads village, an inn, a lumber camp), the point should be assigned data and fit into the network.

Step 1: Determining Points
Go to the Dynmap and find all the warps for an area (or use a map that plans an entire region if warps haven’t been placed yet)
List the warps in alphabetical order (or sort later), giving it a “Build Name” and also the /warp title associated with it. Note: These might be different or need to be updated!
As more things are built and completed, this may need to be updated.

Step 2: Determining Links
When a region’s warps are listed, consult (or make!) a map of how those points are connected in-game. Use the Dynmap or draw your own network (what I usually do).
There are two types of links, Road (Over-land) and Water, which have some differences

R6 - Global Road
R5 - Multi-Regional Road
R4 - Regional Road
R3 - Local Road
R2 - Local Trail
R1 - Hidden/Secret

W6 - Major Ocean Route - a large port, very busy traffic
W5 - Major River - must be navigable by ships
W4 - Medium Ocean route - a medium port, with average traffic
W3 - Medium River - must be navigable by rafts, barges
W2 - Minor Ocean Route - a small port or a minor, isolated build
W1 - Minor River - must still be navigable by small boats

A difference in travelling by ocean routes
Ocean routes have a longer range. If a build has a large enough port, they can “skip” local places because they could board vessels going to distant ports. Small ports would only have ships going to larger areas, but major ports might go further.
For example, Quiet Isle has a small part (W4) only going to Maidenpool, Saltpans, etc., but Maidenpool (W5) could go directly to Duskendale, but not all the way to Kingslanding without stopping elsewhere.
Generally, I list the closest ports of equal or lesser value, so Duskendale (T5) could go to Kingslanding, Maidenpool, Dragonstone, Hull, Bywater, Rooks Rest, Edgerton, Wendwater, Sharp Point, with it being a very important port hub in Blackwater Bay, etc.
But, Rooks Rest, a smaller port (T3), might only be able to go to Duskendale and Hull, links W3
Each type has a value, 1 - 6, which reflects the size and safety of that route
List the links according to where they go (adjacent points) and also the quality of the link.
Again, this may need to be updated as more things are added to the map or the roads are updated.

Step 3: Determining Trade Scores
For each point, determine its prominence within the region. These values will eventually be bundled into larger Voronoi areas, which could affect an area’s upkeep cost and trading dynamics. The scale is 1 - 6
Factors that determine a trade score included the size of the build, it’s connectivity to other builds, the influence of its lords, or a landmark of significance. The value is somewhat arbitrary, but allows the game to represent a point with a set of data.

Step 4: Determining Families
For each point, research which family it belongs to, if any. This might include using the wiki, finding canon quotes, but also check the project app, which should have researched this already and explains which holdfasts, inns, etc. belong to a certain family. Only list the family name is the warp that is there “seat of power.” If a smaller build belongs directly to them, write N/A and then the house name under Fealty. Some large towns do not have a family (e.g. Fairmarket), which complicates things, so list them as Independent.

Step 5: Determining Voronoi Sizes
For each point, describe which category of game-play it belongs to. This will be used to determine if it is a playable family, its cost to buy and maintain, or which family a subsidiary point belongs to.
For the seat of power, list one of the following
Subsidiary -- belongs to another house, like a holdfast, village, or inn
Small - Player -- smaller lords or landed knights
Medium - Player -- medium lords, but not prominent
Large - Player -- large lords, probably not in large towns/cities
Public - Political -- the wardens, usually in iconic location, one or two per region
Public - Economic -- the major cities, usually in iconic location, one or two region
Public - Religious -- a special site left open for religious regions
Public - Special -- a special, quest-related site or iconic for another region.

Step 6: Achieving a Balance
Go through each region and balance things. This might involve downgrading trade scores, Voronoi sizes, and link qualities.
Each region should have only a few major lords, and more medium, and several small lords. This might mean that a wealthy region, which would have many prominent lords, might have a few more, but should still be balanced within the entire continent.

Example 1 -- Golden Tooth

Step 1: A point on the River Road called Golden Tooth (/goldentooth)
Step 2: Find points connected to it: to Wayfarer's Rest (R6), to Sarsfield (R6), to Hornvale (R4)
The River Road is well travelled, R6, but the road to Hornvale is less travelled, R4
Step 3: A major house at a very important choke point, 5
Not as big as Casterly Rock, but definitely a major place in the region
Step 4: House Lefford
Step 5: Large - Player
Although prominent, the Westerlands have other Public Areas, so this could be a Large - Player house, very expensive to maintain and only available to players with more experience to inhabit.
Step 6: Looks good!
There are quite a few Large - Player houses with high trade scores, but this data all seems logical, balanced, and supported by canon.

Example 2 -- Lord’s Mill

Step 1: A point on the Red Fork, belonging to House Blackwood. Lord's Mill (/lordsmill)
Step 2: Connected by roads and river. to Cairns (R5), to Woodhedge (R2), to Kneeling Man (R5), to Riverrun (W4), to Harroway (W4)
The roads are fairly well maintained to some locations, but also has very local roads, R5 and R2. The rivers are more important links, but are medium rivers, W4
Step 3: An average village, but not a seat of power. 2
Most of the subsidiary builds in the Blackwood Lands have trade scores of 2, so it is balanced.
Step 4: No house assigned, so N/A, but in the Blackwood Lands, so Blackwood in fealty column.
Step 5: Subsidiary, but belongs to a Large - Player Voronoi area.
Step 6: Looks good! It fits the other builds in the region, it supports the status of Blackwood without being too prominent itself.

Future Additions:

Each point could also have economic and military data, but we haven’t discussed how to go about that yet.

ONE IMPORTANT LAST POINT: We need someone to finish a map of the above mentioned regions in the same scope of Demodocus' map of the riverlands! Don't preoccupy yourself with any region of SP2 yet (Dorne, Reach, Stormlands). Those can come at a later date!


Hello Iwan.
I can see the appeal of Voronoi partitioning the map, because it is automatic once the warps are cleaned up. However, as you know, most houses control a more or less defined region on the map which will not align with the Polygon yielded by Voronoi subdivision. In reality, I presume, there will be warps added to a build name just to approximate the resulting area better. Wouldn't it be more sensible to define those areas by hand in the first place? I expect them to run along natural borders such as rivers, mountain ranges anyway.
Or do you think manually defining polygons is too much work?


If I may make a proposal which I deem very clever:

Rk = Set of points in Voronoi cell, d = distance function

Now any sane man would take the euclidian distance as distance function d. But if you had a map of the rivers and mountain ranges, you could integrate them into your distance function in such a way that crossing a river or a mountain adds substantially to the distance.

Thus your cells would neatly align themselves to natural features.

Please note that this would contradict with the subadditivity property of a metric function, where

Also, I like your idea of improving region generation from landmarks by giving a weight (you call it Voronoi size) to warp points.

Last edited:
  • Like
Reactions: Iwan


Prior work by Lucas Moran (old forum thread: does not deal with region generation. What he did was manually adding zones (as axis-aligned bounding boxes) from where you where able to teleport to any other such zone. He then worked (like Iwan) on cost calculations for such a teleport.
My proposal does not touch such calculations or game mechanics. I simply concerned myself with 2D region generation to subdivide the map between houses.
  • Like
Reactions: Iwan


Proposal (I mean 'somebody' should do this):

warps: [ {name: HouseDefaultLord, importance: 'small', warps[{1234,376},{76,1234},{123,1234}, {name: HouseAnotherLord, importance: 'medium', warps[{1454,37},{7,14},{13,134} ),...]
naturalborders: [{type:river, cost:'easy', linesegment:[{123,1256},{978,3},{9786, 34},...], {type:mountainrange, cost:'hard', linesegment:[{123,1256},{978,3},{9786, 34},...]]

regions{name: HouseDefaultLord, polygon[{2345,1234},{678,345},...]}, {name: HouseAnotherLord, polygon[...] ...}

The warps with 'importance' and 'coordinates' you can get from the trade&travel-database in the original first post. Natural borders would not be that much work.
Last edited:
  • Like
Reactions: AerioOndos and Iwan