Shianra

Information, tools, and thoughts on tabletop games, video games, and their worlds

Delivery Payment Rates

Alright, so now we also know how much an industry can change their production, but what are we paid for our deliveries? This is based on a number of factors: cargo, amount, distance, and days in transit, and is the product of the cargo payment rate, amount of cargo, transit distance, and time factor determined by days in transit. Let’s have a look at each of these factors separately.

Amount of cargo

Let’s start with the easiest one – the amount of cargo. This one is really easy to figure out as it is simply the amount of cargo that we are determining the payment for. The payment rate, as we will see in a moment, measures payments for each 100 units or 10,000 litres of cargo, so the amount of cargo for use in the eventual calculation will be how many lots of 100 units or 10,000 litres there are. This means that 300 units of cargo will mean we use 3, whilst 10,000 litres will mean we use 1.

Cargo payment rate

Initial cargo payment values, shown for each cargo type in the table below, are for delivering 100 units or 10,000 litres of cargo over a distance of one tile. However, remember that the payment value will go up with inflation as the game progresses for the first one hundred and seventy years.

Cargo Units Pay. Cargo Units Pay. Cargo Units Pay.
Passengers £39 Wheat Tonnes £58 Sugar Tonnes £54
Valuables Bags £91 Paper Tonnes £66 Toys £68
Livestock Items £53 Gold Bags £71 Batteries £53
Grain Tonnes £58 Food Tonnes £69 Sweets Tonnes £75
Goods Crates £75 Rubber Kilolitres £54 Toffee Tonnes £58
Coal Tonnes £72 Fruit Tonnes £51 Cola Kilolitres £59
Steel Tonnes £69 Maize Tonnes £53 Candyfloss Tonnes £61
Iron Ore Tonnes £62 Tropical Wood Tonnes £97 Bubbles £62
Wood Tonnes £61 Copper Ore Tonnes £59 Plastic Kilolitres £54
Oil Kilolitres £54 Water Kilolitres £57 Fizzy Drinks £76
Mail Bags £55 Diamonds Bags £71

It’s possible to see the payment rate trend within the game by going to Graphs and bringing up the Cargo payment rate window, such as shown below. Like the table above, these are shown at the rate for delivering 10 units or 10,000 litres of cargo a distance of 20 squares.

OpenTTD: Cargo payment rate

Transit distance

The transit distance is measured by adding the differences in x and y tiles, not straight-line distance, between the origin station and the destination station. The tile from which this distance is measured is the name-labelled tile of each, not from the industries or by vehicle distance travelled.

This process of finding the distance is known by quite a few names, such as taxicab geometry, rectilinear distance, L1 distance or norm, city block distance, Manhattan distance, or Manhattan length, with corresponding variations in the name of the geometry. The latter names refer to the grid layout of most streets in Manhattan which cause the shortest path a car could take between two intersections to have a length equal to the intersections’ distance.

For example, the distance between the point P1 with coordinates (x1, y1) and the point P2 at (x2, y2) is

 \left|x_1 - x_2\right| + \left|y_1 - y_2\right|.

Time factor

The time factor penalises slow transportation by granting a penalty for deliveries that are considered late for the particular cargo type. Each cargo type has two numbers, days1 and days2, that determine the boundaries between fast, medium, and slow deliveries. These are shown in the table below in the Early and Late columns, with each value being presented in number of days. However, one day here is actually 2.5 days in the game, so if days_in_transit = 4, then 4 is in the calculations that follow, but the cargo is actually already ten days in transit.

Cargo Early Late Cargo Early Late Cargo Early Late
Passengers Immediate 24 Wheat 4 40 Sugar 20 None
Valuables 1 32 Paper 7 60 Toys 25 None
Livestock 4 18 Gold 10 40 Batteries 2 30
Grain 4 40 Food Immediate 30 Sweets 8 40
Goods 5 28 Rubber 2 20 Toffee 14 60
Coal 7 None Fruit Immediate 15 Cola 5 75
Steel 7 None Maize 4 40 Candyfloss 10 25
Iron Ore 9 None Tropical Wood 15 None Bubbles 20 80
Wood 15 None Copper Ore 12 None Plastic 30 None
Oil 25 None Water 20 80 Fizzy Drinks 30 50
Mail 20 90 Bags 10 None

The penalties for late deliveries have a maximum penalty of 88% and are as follows.

  • For each day after the Early delivery time that the cargo is delivered, the penalty is increased by 0.4%.
  • For each day after the Late delivery time that the cargo is delivered, the penalty is increased by 0.4%.

For example, let’s assume that there is no inflation and try to figure out the amount we would get paid for delivering 200,000 litres of oil a distance of 20 squares in ten days. We take the amount of cargo as 2 because the payment rate if per 100 units of cargo, then we take the payment rate as £54 from the table earlier, then we take the distance which is 20 squares, and because there is no late delivery for oil, our time factor is 100%.

2 × £54 × 20 squares × 100% = £2,160

Therefore we would get paid £2,160 for this delivery. Now, whilst still assuming there is no inflation, let’s try to figure out the amount we would get paid for delivering 100 bags of mail a distance of 100 squares in 100 days. Because we’re only delivering 100 pounds, we don’t need to add the initial 1 × part, so we will take the £55 payment rate from the table, the distance which is 100 squares, and then figure out the time factor because we are delivering these goods very late. The Early delivery time for mail is 20 and we are delivering it on the 100th day, so for each day after the Early delivery time, of which there are 80, we increase the penalty by 0.04%, making it 80 × 0.04%. Furthermore, the Late delivery time is 90 and we’re over that by 10 days, so for each day after the Late delivery time, we increase the penalty by 0.04%, making it there’s an additional 10 × 0.04%.

£55 × 100 squares × (1 – 80 × 0.004 – 10 × 0.004) = £3,520

And finally we see that we would get paid £3,520 for this delivery.

However, there is an exact formula for calculating delivery payment rates that is much more complicated and slightly more accurate, due to rounding error when converting from larger discrete values. What we have already covered is enough to understand how it works on a basic level, but if you’re interested in the exact formula, here it is. If you’re not, feel free to skip ahead to the next topic – vehicle speeds.

OpenTTD: Income formula

i.e. Income (cargo, amount, distance, time) = cargo payment rate. The table below presents the values that should be used for the above – Base, Days1, and Days2.

Cargo Type Base Days1 Days2 Cargo Type Base Days1 Days2
Batteries 4322 2 30 Oil 4437 25 255
Bubbles 5077 20 80 Oil (subtropical) 4892 25 255
Candyfloss 5005 10 25 Paper 5461 7 60
Coal 5916 7 255 Passengers 3185 0 24
Cola 4892 5 75 Plastic 4664 30 255
Copper Ore 4892 12 255 Rubber 4437 2 20
Diamonds 5802 10 255 Steel 5688 7 255
Fizzy Drinks 6250 30 50 Sugar 4437 20 255
Food 5688 0 30 Sweets 6144 8 40
Fruit 4209 0 15 Toffee 4778 14 60
Gold 5802 10 40 Toys 5574 25 255
Goods 6144 5 28 Valuables 7509 1 32
Grain 4778 4 40 Water 4664 20 80
Iron Ore 5120 9 255 Wheat 4778 4 40
Livestock 4322 4 18 Wood 5005 15 255
Mail 4550 20 90 Wood (subtropical) 7964 15 255
Maize 4322 4 40