Building a Commercial Atlas
This article originally appeared in the September 2014 issue, and was reprinted in the September/October 2023 issue.
Author’s note: The map for the example is taken from the Traveller5 Second Survey data at TravellerMap.com. The world data used for the example is from the Classic Era Galaxy from the Galactic 2.4d program by Jim Vassilakos. The trade rules used are those from the 1981 printing of Classic Traveller Book 2: Starships, and from Classic Traveller Book 7: Merchant Prince. It should be emphasized that rules and methods presented here are not dependent on those particular rules or data sources.
Introduction: What is a Commercial Atlas?
In a mercantile campaign, the players are going to be concerned about the prices of goods, and where they can get the best price for them. The trade process in the Traveller rules are complex enough that role-playing may end up taking second place to consulting tables and computing base prices. As a referee’s aid, the Commercial Atlas offers a way of short-circuiting that table consultation. The basic idea is that all invariant DMs for a given trade good on a given world are precalculated and tabulated, in effect consolidating the various lookups and calculations.
Beyond the simplification of the process of buying or selling, a commercial atlas can also be made available as an in-game document to player-characters, to provide information regarding the commercial viability of purchasing a good on world A and selling it on world B, and/or planning trade routes to optimize profit-making opportunities.
Structure of the Commercial Atlas
In general, Traveller trade systems come in two forms, and the form of the trade system necessarily determines the structure of the Commercial Atlas. The two trade systems are illustrated by the trade rules in Classic Traveller Book 2: Starships (henceforth referred to as a ‘goods-based’ system), and Classic Traveller Book 7: Merchant Prince (henceforth referred to as an ‘origin-based’ system).
In a goods-based system, the Commercial Atlas data can be interpreted in either of two ways: Either the invariant DMs represent an adjustment of the base price, and the player/broker DMs then affect the actual purchase/sale price as a percentage of the adjusted base price, or the given base price in the rules remains the base price, and the invariant DMs and the player/broker DMs are added together to affect the actual purchase/sale price as a percentage of the documented base price (the latter method is the way to do it using the rules as written). In either case, each world table in the Commercial Atlas will have a list of goods, with purchase/sale DMs and Modified Base Prices, available lot sizes, and/or adjusted base prices.
In an origin-based system, the base price is always adjusted by the purchase/sale DMs, but some of the sale DMs depend on trade codes (in the Remarks column) of the origin world’s UWP. In this case, the Commercial Atlas will be a single table, whose heading is the “current world” and will include the Cargo Identification Code and purchase DMs and/or adjusted base price for purchase, and which tabulates nearby worlds showing the world's name and hex location, Cargo Identification Code, and adjusted base prices for cargos in both directions between the current world and the indicated world. See the examples later in this article.
Constructing the Commercial Atlas
Jewell Region UWP Listings | |||||||
---|---|---|---|---|---|---|---|
Name | Hex | UWP | B | Remarks | Z | PBG | Al |
Esalin | 1004 | C565673-8 | Ag Ni Ri | A | 223 | Cs | |
Mongo | 1204 | A368685-A | A | Ag Ni Ri | 603 | Im | |
Ruby | 1005 | B400445-B | S | Ni Va | 201 | Im | |
Nakege | 1305 | D591314-2 | Lo Ni | A | 501 | Im | |
Emerald | 1006 | B766555-B | S | Ag Ni | 534 | Im | |
Jewell | 1106 | A777999-C | A | Hi In Cp | 623 | Im | |
Lysen | 1307 | B592655-A | S | Ni | 623 | Im |
For the examples, we will be looking at the J2 region around Jewell, in the Spinward Marches. The accompanying map and UWP listing is provided for reference.
Goods-Based Systems
Goods-based systems list trade goods, either specifically or by general type, and provide individual prices and an individual set of purchase DMs and sale DMs for each, based on relevant trade codes (in the UWP Remarks column). For each trade good that may be purchased or sold on a given world, carry out the following steps:
- Compute the purchase and sale DMs according to the system rules.
- Apply those DMs to an assumed roll of 7 on the Actual Price table.
- Multiply the given base price by the results from step 2. These represent a Modified Base Price (MBP).
- List the trade good in the following format:
Purch DM Purch MBP Qty Good (Base Price) Sale DM Sale MBP
If a good cannot be purchased on the world, subsitute dashes for the purchase DM and MBP; if it cannot be sold on the world, substitute dashes for the sale DM and MBP.
The final table should look something like this:
Jewell (Spinward Marches 1106) A777999-C A [Hi In Cp] 623 Im | |||||
---|---|---|---|---|---|
Purch DM | Purch MBP | Qty | Good | Sale DM | Sale MBP |
+4 | Cr30,000 | 1D | Crystals (Cr20,000) | +3 | Cr26,000 |
-2 | Cr8,000,000 | 1D | Computers (Cr10,000,000) | 0 | Cr10,000,000 |
This tells us that (for example) Crystals can be purchased on Jewell with invariant DM+4 (or a Modified Base Price of Cr30,000/ton), and that Crystals purchased elsewhere can be sold here with invariant DM+3 (or a Modified Base Price of Cr26,000/ton). It also tells us that the typical Computer can be purchased on Jewell with invariant DM-2 (or a Modified Base Price of Cr8,000,000), and a Computer purchased elsewhere can be sold here with no invariant DM (or a Modified Base Price of Cr10,000,000). Naturally, the roll on the final value table is, as per the rules, further modified by such skills as Broker, Admin, Bribery, et cetera.
Alternatively, with a goods-based trade system, one can tabulate the purchase and sale DMs and MBPs by world for a given good. The calculations are the same; the final listing, however, would look something like this:
1D Crystals Cr20,000/ton | ||||
---|---|---|---|---|
Purch DM | Purch MBP | World | Sale DM | Sale MBP |
+4 | Cr30,000 | Jewell [Hi In Cp] | +3 | Cr26,000 |
0 | Cr20,000 | Esalin [Ag Ni Ri] | +3 | Cr26,000 |
Here, the table is titled with the quantity and base cost of the good in question, and the column identifying the world also contains the Remarks from the UWP. Reading it, we see that on Jewell, 1D tons of Crystals can be purchased with an invariant DM of +4, or a Modified Base Price of Cr30,000/ton, or sold with an invariant DM of +3, or a Modified Base Price of Cr26,000/ton; and on Esalin, they can be purchased with no invariant DM, or a “Modified” Base Price of Cr20,000/ton, or sold with an invariant DM of +3, or a Modified Base Price of Cr26,000/ton.
Origin-Based Systems
Origin-based systems list worlds and their trade profiles, and provide sale prices for goods purchased on the current world to be sold on the indicated world, and sale prices for goods purchased on the indicated world to be sold on the current world. There is no need to tabulate or report purchase DMs, as these are subsumed into the price recorded in the trade profile, and the trade profile reports the Modified Base Price directly. For each world within a defined radius of the current world, carry out the following steps:
- Compute the Modified Base Price for goods purchased on that world to be sold on the current world. This is the “Import Modified Base Price” (IMBP).
- Compute the Modified Base Price for goods purchased on the current world to be sold on that world. This is the “Export Modified Base Price” (EMBP).
- List the results in the following format:
EMBP World Name Trade Profile IMBP
If it is not possible to sell goods from a world on the current world, substitute a dash for the IMBP; if it is not possible to sell goods from the current world on the indicated world, substitute a dash for the EMBP.
The final table should look something like this:
Jewell (Spinward Marches 1106) [A-C Hi In Cr2,200] | |||
---|---|---|---|
EMBP | World | Trade Profile | IMBP |
Cr7,700 | Emerald | B-B Ag Ni Cr5,100 | Cr7,200 |
Cr14,000 | Nakege | D-2 Lo Ni Cr8,200 | — |
This tells us that one can expect to purchase goods on Jewell for (on average) Cr2,200/ton; one can expect that those goods can be sold on Emerald for (on average) Cr7,700/ton, or on Nakege for (on average) Cr14,000/ton. Goods that one can expect to purchase on Emerald for (on average) Cr5,100 can be expected to sell on Jewell for (on average) Cr7,200, and goods purchased on Nakege for (on average) Cr8,200 have no market on Jewell.
Naturally, the constructed tables are the minimum needed for a usable Commercial Atlas; one could expand on it to include “color” information, world maps, broker fees, and so on. The concepts presented here can also obviously be used with homebrew trade systems; the main idea is simply that the referee, as part of the campaign preparation, is “short-circuiting” some of the complexity of the documented trade system by partly precomputing the sale or purchase DMs and prices.