User Tools

Site Tools



Mapcraft - Fantasy map designer

WorldGen - SciFi universe generator

Mapcraft Web - Web based fantasy map designer

All code for the project is released under the GPL, and is copyright Samuel Penn.

The text on this wiki is dual licensed CC-BY-SA and GPL.

You can contact the author at



Commodities are the actual things that are traded between worlds. We could keep things very simple, but part of the purpose of this is to provide background for RPGs, so it's far more interesting for there to be a wide range of commodities for PCs to have available for buying and selling.

See also: Resources, Facility, Production, Basic Commodities

Defining a Commodity

Commodities are initially defined using XML, though after these definitions have been read and stored in the database the XML files are not touched again. An example definition for a commodity is as below.

<commodity name="Megafauna" parent="Animals">
    <cost volume="1000000">1000</cost>
    <production tech="0" law="6" pr="4" cr="6">
        <output mode="AgHg" efficiency="75">Meat</output>
        <output mode="AgHg" efficiency="75">Animal products</output>
        <output mode="AgFa" efficiency="125">Meat</output>
        <output mode="AgFa" efficiency="125">Animal products</output>
    <codes source="Ag">Pe</codes>
        Any type of large land animal, a few tonnes or larger.

This defines a resource, Megafauna, which can be turned into either Meat or Animal products (both commodities in their own right). There is nothing that differentiates resources (what planets provide) from trade goods (things that can be traded and sold) in the definition.


Every commodity has a Production Requirement, which defines how many people are required to produce one unit of the commodity per week. This is regardless of whether the commodity is coming from a natural resource, or a factory.

PR People PR People PR People
0 1 5 300 10 100,000
1 3 6 1,000 11 300,000
2 10 7 3,000 12 1,000,000
3 30 8 10,000 13 3,000,000
4 100 9 30,000 14 10,000,000

A typical commodity has a PR of 6-8. Common commodities are 4-5, Rare 9-10, etc.

Where a commodity is converted from type A to type B, the PR of B is used. One unit of A is converted to one unit of B.

Basic Resources

Basic resources are as follows:

  • Ferric Ore (Rare Metals, Exotic Metals, Heavy Metals)
  • Silicate Ore (Rare Silicates, Exotic Crystals)
  • Carbonnic Ore (Carbon Crystals, Exotic Compounds)
  • Radioactives
  • Water (Deuterium)
  • Oxygen
  • Inert Gases
  • Radioactives
  • Organic Gases
  • Heavy Metals
  • Rare Metals
  • Precious Metals
  • Corrosive Gases
  • Exotic Gases
  • Silicate Crystals

Extra Attributes

We need some extra attributes to a simpler logic for determining what does what to what. Each commodity needs to know what it can be turned into.

Extended Commodity Codes

In order to try and simplify things, the commodity codes system has been extended to allow for 4 character codes. This is to make it easier for facilities to specify a type of good rather than having to define specific commodity ids (which can change).


Food commodities (those with trade code Fo) have their own set of codes and guidelines. The Consumption Rate is an estimate of how many people 1dt of the commodity will feed for a week.

CR Feeds Food types
4 50000 High protein meat
5 15000 Typical meat
6 5000 High quality vegetables, low energy meat
7 2000 Typical vegetables
8 1000 Low quality vegetables
9 500 Simple plants
10 250 Poor quality
11 150 Basic living matter
12 100 Basic organic matter

The Production Rating determines the amount of effort required to obtain the food. Some food is very intensive to farm, other types look after itself.

PR Workers Food types
7 3000 Difficult to obtain
8 1000 Hard to obtain
9 500 Intensive crops, e.g. rice
10 250 Typical crops
11 150 Cattle

Food Codes

  • Fo: Food. All food commodities have this code.
  • FoMe: Meat, food is from land animals.
  • FoFi: Fish, food is from marine animals.
  • FoGa: Food is suitable to be gathered without need for agriculture.
  • FoAg: Agricultural product, suitable to be grown in farms. Note that this could include some animals, such as chickens etc.
  • FoHd: Herd animal, suitable for keeping in farms.
  • FoOr: Basic organic products, requires processing.
  • FoHu: Can be hunted.

Commodity Codes

Codes class a commodity according to who has need for it. Codes provide a way to add new commodities into the system without having to think too hard about how every facility or world will need to use it.


Many goods are only required at particular tech levels. For example, flint tools are only used by stone age cultures, so there is no use for them at higher tech levels.

Code Description 0 1 2 3 4 5 6 7 8 9 10 11 12
Tn Neolithic Y y - - - - - - - - - - -
Tb Bronze age y Y y y - - - - - - - - -
Ti Iron age - y Y Y y y - - - - - - -
Tm Middle ages - y y Y Y y - - - - - - -
Tr Renaisance - - y y Y Y y - - - - - -
Tl Lo tech - - - y Y Y Y - - - - - -
Ts Steam tech - - - - y Y Y y - - - - -
  • Ts - Steam age
  • Tm - Machine age (TL6)
  • Nt - Neolithic technology, stone age (TL0-1)
  • Bt - Primitive-technology, (TL1-3)
  • It - Early technology, (TL2-4)
  • Lt - Low technology, (TL4-6)
  • Mt - Mid technology, (TL6-8)
  • Ht - High Tech, TL7-10, Electronics, advanced tools, medical supplies
  • At - Advanced tech, TL9-12
  • Ut - Ultra tech, TL11+


  • Minerals
  • Food
  • Textiles
  • Luxuries
  • Alloys
  • Machinery
  • Computers
  • Electronics
  • Firearms

Stone Age

Commodity Price TL Codes
Flint tools 10 0 Lo
Animal skins 15 0 Lo


  • Agricultural tools
    • Bronze farm tools (TL1)
    • Iron farm tools (TL2-3)
    • Steel farm tools (TL4-5)
    • Agricultural machinery (TL6)
    • Agricultural vehicles (TL7)
    • Fertiliser (TL2-6)
    • Chemical fertiliser (TL7+)
worldgen/commodity.txt · Last modified: 2016/09/21 21:58 by sam