Openttd Similar Games

2 points 2 years ago. The only game i can think of similar that is modern are train/transport fever and it doesnt really have a city building side to it beyond well serviced cities grow. Still well worth checking out but not as in depth as OTTD. OpenTTD is an open source simulation game based upon the popular Microprose game 'Transport Tycoon Deluxe', written by Chris Sawyer. It attempts to mimic the original game as closely as possible while extending it with new features. Posts where OpenTTD-patches has been mentioned. We have used some of these posts to build our list of alternatives and similar projects - the last one was on 2021-04-01. Arrow Transit - An 8-year old (in-game) network with a modest inventory of 10 trains and 5 buses. 4K composite image which took 3 hours to stitch up.

OpenTTD Manual
Installation · FAQ
Tutorials and Instructions
Game interface ·


Signals · Stations · Junctions · Carrying capacity · Rail Designs & Tips
Roadways · Tramways · Waterways · Airports · LandscapingSettings
Game options · Settings · AI settings ·Custom graphics · Cheats
Graphics and sound
More topics
Climates · Towns · Industries · Economy ·Disasters · Tips ·Hidden features · Hotkeys ·Console · Game Mechanics ·Multiplayer · Scenario editor ·Online content
Troubleshooting · Links

Here you can find information about how OpenTTD calculates in-game figures.

You always wanted to know how the station-rating was built up? How goods-distribution works? Here you can find it!

  • 5Passenger and Mail generation
  • 6Industry production
    • 6.1Production change
      • 6.1.2Smooth Economy Rules
  • 8Vehicle speeds

Company rating

Each part of the company rating is a linear function, i.e. earning 50% of the target for a component will give 50% of the points allocated for that component. Where components involve monetary amounts, these are converted to the currency of the current game; internally these amounts are stored as the pound amount.

ComponentTargetPoints (min)Points (max)Percentage
Number of company-owned vehicles that turned profit last year>=1200 points for 0 vehicles100 points for at least 120 vehicles0 to 10%
Number of recently-served station parts that the company owns>=800 points for 0 parts100 points for at least 80 parts0 to 10%
Lowest profit of vehicles at least two years old>=£10,0000 points for loss or £0100 points for at least £10,0000 to 10%
Lowest quarterly revenue earned in the past 3 years>=£50k0 points for £050 points for at least £50k0 to 5%
Highest quarterly revenue earned in the past 3 years>=£100k0 points for £0100 points for at least £100k0 to 10%
Units of cargo delivered in the past year>=40,0000 points for 0 units400 points for at least 40,000 units0 to 40%
Number of types of cargo delivered in the past quarter>=80 points for 0 cargo-types50 points for at least 8 cargo-types0 to 5%
Current cash in bank>=£10m0 points for £050 points for at least £10m0 to 5%
Current loan from bank£00 points for >£250k50 points for £00 to 5%
Totals0 points1000 points0 to 100%
Company League Table ratings
0 to 127Engineer
128 to 255Traffic Manager
256 to 383Transport Coordinator
384 to 511Route Supervisor
512 to 639Director
640 to 767Chief Executive
768 to 895Chairman
896 to 959President
960 to 1000Tycoon
2050 High Score ratings
0 to 319Businessman
320 to 447Entrepreneur
448 to 575Industrialist
576 to 703Capitalist
704 to 831Magnate
832 to 959Mogul
960 to 1000Tycoon of the Century

Station rating

This section shows the factors that affect the station rating. All calculations are done separately for each cargo type.

FactorConditionRating pointsRating %
Max speed of last vehicle to load cargo (to a max of 255 km/h)
Divide speed by 2 if it was a road vehicle.
Above 85 km/h (52 mph)(Speed (km/h) - 85) / 40% to 17%
Age in years of last vehicle to load cargo2104%
Days since last cargo pickup
Multiply days in 'Condition' column by 4 if last vehicle was a ship.
(Note: If a vehicle was ready to pick up a cargo but there was no cargo, or if it was full, it is still regarded as a cargo pickup. This may be a bug.)
30 to 52.52510%
15 to 305020%
7.5 to 159537%
less than 7.513051%
Units of cargo waiting at station
Note: if cargo has been transferred to other stations, then the game MAY consider the maximum cargo waiting at any of those stations as the waiting cargo for the source station: TruncateCargo().This is triggered when the game truncates cargo (waiting_changed = true), which occurs when any of the stations meet the following conditions:
  • Cargo has not been picked up from any of those stations in 637.5 days. [1]
  • Station has rating less than or equal to 25% AND has more than 200 units of cargo waiting. [2]
  • Station has rating less than 50% AND has more than 0 units of cargo waiting, happening with RANDOM PROBABILITY proportional to the station rating. I.E. if station rating is 49%, there is a ~1% chance, at 25% rating there is a ~50% chance, and at 0% station rating there is a 100% chance. [3]
  • Station has more than 4096 units of cargo waiting. [4].
More than 1500-90-35%
1001 to 1500-35-14%
601 to 100000%
301 to 600104%
101 to 3003012%
less than 1004016%
Statue in town of stationBuilt2610%
EventConditionRating point changeRating % change
Small advertising campaign boughtStation within 10 tiles of town center+64+25pp
Medium advertising campaign boughtStation within 15 tiles of town center+112+44pp
Large advertising campaign boughtStation within 20 tiles of town center+160+63pp
Road vehicle crashedStation within 22 tiles of crash-160-63pp
Train crashedStation within 30 tiles of crash-160-63pp
Town bribe failedStation within town influence-255-100pp

Divide the total rating points by 255 to get the percent rating. The maximum possible rating is 100%.

Every 2.5 days (185 ticks), station ratings are computed; ratings can't change by more than 2 points (0.78%) per cycle, except due to items under 'Event'.Events give an instant, temporary boost (or penalty) to ratings of nearby stations. The rating will gradually return to normal, following the 2 point per 2.5 days rule.

The amount of cargo that can be transported from an industry is fully reliant on the station rating. This means that if there is exactly one station serving an industry, on ticks when the industry produces cargo, exactly station rating % of the cargo will be moved to the station. So if the amount of cargo transported from an industry is low, it is probably because the station rating is low, too.

Note: The exact formula can be seen under 'UpdateStationRating()' in station_cmd.cpp. This uses some values calculated in 'LoadUnloadVehicle()' in economy.cpp.

Big sky river pdf free download. We have developed the simplest, easiest way to preview and download sheet music on the widest variety of systems and devices (e.g.

Note: If the rating gets to be less than 50%, the station starts losing cargo.

Note: If the amount of cargo waiting is greater than 4096 units (or 4,096,000 liters), the station also starts losing cargo. There is a hard cap of 32,768 units of cargo that can be waiting at a station. Any more than that completely disappears every few days. [5]

Cargo delivery to stations

Goods are distributed to stations according to station rating.

If there is only only station around, then a percentage of available goods equal to the station's rating is distributed to it every 2.5 day cycle.

If multiple stations are present, then goods are divided between them based on rating. If there are stations belonging to more than one company, then goods are first divided between companies according to the best station of each company: the proportion of goods allocated to a company C is equal to the best station rating of C over the sum of all best station ratings for all companies. Note that this will be equal to 100% if all stations belong to one company. Then each company's allocation is subdivided among its stations. A station S belonging to C receives a fraction of C's company allocation equal to the rating of S over the sum of the ratings of all stations belonging to C.

Local authority rating

Ratings limit some player actions; they start at +500 and can change based on some actions.

Currently you can exploit the game by planting about 200 trees within a town's influence radius. You may need to clear an area first, in order to have somewhere to plant them, but planting 200 will raise even a minimum rating of -1000 to 220. If your rating is Mediocre or lower, planting 30 trees will approximately wipe out the rating penalty from building one station. Planting trees while at a rating of Very Good or better has no effect.

Rating pointsRating
-1000 to -400Atrocious
-399 to -200Very Poor
-199 to 0Poor
0 to 200Mediocre
201 to 400Good
401 to 600Very Good
601 to 800Excellent
801 to 1000Outstanding
Player actionRequired rating*Effect on rating
Build a station-200n/a
Destroy an 'edge' piece of road16 / 64 / 112-18, down to -100.
Destroy an 'inner' piece of road16 / 64 / 112-50, down to -100.
Destroy a city tunnel or bridge144 / 208 / 400-250, down to 0.
Destroy building**40 to 300-40 to -300
Plant tree on clear squaren/a+7, up to 220.
Clear a tile with treesn/a-35
Successful briben/a+200, up to 800.
Unsuccessful briben/aSet to -50.
* 'Required rating' is listed for the settings Permissive / Neutral / Hostile of
the Difficulty option City council attitude towards area restructuring.
** For default buildings. NewGRFs can set this number from 0 to >1000,
which effectively makes the building unremovable.

Each month players' ratings automatically change:

  • Rating goes up by 5 if it is less than 200.
  • Rating goes up by 12 for each station that has transferred cargo in the last 50 days.
  • Rating goes down by 15 for each station that has not transferred cargo in the last 50 days.

A player has a rating of -300, (Very Poor), 2 active stations and 1 inactive station at a town.
5pts + 2 * 12pts - 15pts = 14pts points gain per month.
(-200 - -300)pts / 14pts/mo = 8 months before the town will let him build another station.

Code for town ratings is in town.h, town_cmd.c, tree_cmd.c, and road_cmd.c.

Passenger and Mail generation

Towns and the company headquarters generate passengers and mail, while oil rigs only generate passengers.

Town Passenger Generation

In each periodic processing (i.e. every 256 ticks), a random value 0<=X<=255 is generated for each house tile. If X isn't smaller than the population of the tile, no passengers are generated. Otherwise, X/8+1 passengers are generated (rounded down). If there is a recession going on, the number of generated passengers is halved, but this division gets rounded up instead of down. Mail generation happens in a similar manner, but with a new random value, and checking against the mail generation multiplier instead of the population. See the full list of default values for HouseProps: [6]

Company Headquarters

The Company Headquarters is a unique structure that generates passengers and mail depending on it's level which is dependent on the performance rating of the company. Higher level company HQs generate more passengers and mail, the output of the headquarters is evenly distributed over all four tiles on a per tile basis as per the following formulas:

Passengers: 256 / 4 tiles / (6 - company HQ Level (a value between 1 and 5) )

Mail: 196 / 4 tiles / (6 - company HQ Level (a value between 1 and 5) )

Industry production

Here is how the game determines how much cargo an industry produces per month. Production of raw materials happens 8 or 9 times per month. (It happens every 256 ticks. There are 74 ticks in a day, and 28 to 31 days in a month (date_type.h). This means that only about 9% of industries will produce 9 times in a 28-day February, but about 96% of industries will produce 9 times in a 31-day month like March.) The production will always be a multiple of 8 or 9, unless the industry changed production during that month.

This table lists possible starting productions governed by the smooth economy patch. These numbers are multiples of 8. When the game generates a new map, each industry produced 8 times and had no production changes in the December before the game started.

Raw Material IndustryProduced CargoInitial production range
Coal MineCoal56 to 176
ForestWood48 to 152
Oil RigOil56 to 176
FarmGrain and Livestock40 to 112
Copper Ore MineCopper Ore56 to 112
Oil WellsOil48 to 152
Iron Ore MineIron Ore40 to 112
Bank (temperate)Valuables24 to 64
Gold MineGold24 to 80
Diamond MineDiamonds24 to 80
Fruit PlantationFruit40 to 112
Rubber PlantationRubber40 to 112
Water SupplyWater48 to 152
FarmMaize40 to 128
Lumber MillWood180 or 225 (if trees available)
Candyfloss ForestCotton Candy48 to 152
Battery FarmBatteries40 to 128
Cola WellsCola48 to 136
Plastic FountainsPlastic56 to 160
Bubble GeneratorBubbles48 to 152
Toffee QuarryToffee40 to 112
Sugar MineSugar40 to 128

(To calculate this table, look under _origin_industry_specs in table/build_industry.h for the industry and its cargo. The sugar mine has CT_SUGAR, 11, so the production starts at 11. Apply the formula from DoCreateNewIndustry() in industry_cmd.cpp: multiply the production by a random integer from 128 to 383, then divide by 256, rounding down. So 11 becomes 5 to 16. Finally, multiply it by 8 to get 40 to 128.)

Production change

Each month the game randomly changes some industry productions.

Default / TTD-like Economy Rules

For 256x256 tile maps there is one change per month possible (only 1 industry changes). Number scales nicely with map size since the introduction of 'Daily production changes' function in trunk (r14332).

  • As with smooth economy, industries produce cargo 8 or 9 times per month.

However - productions are limited to 6 production levels: lowest, lower, normal (with a new game started or a new industry built), higher, 2x higher and the highest.Production changes between these levels are either a 50% decrease (half) or a 100% increase (double).

  • Examples:
    • A Coal Mine: lowest (32 or 40 t per month), lower (64 or 72), normal (120 or 135), higher (240 or 270), 2x higher (480 or 540) and the highest (960 or 1080).
    • A Forest: lowest (32 or 64 t per month), lower (35 or 70), normal (78 or 117), higher (208 or 260), 2x higher (416 or 468) and the highest (832 or 936).
    • A Gold Mine: lowest (12 or 18 bags/month), lower (32 or 40), normal (56 or 63), higher (112 or 126), 2x higher (224 or 252) and the highest (448 or 504).

To make things simple, let's look what are the chances for 256x256 maps (max. 1 change per month = max. 1 industry per month changes production):

  • The chance for a production change each month is:
    • 50% for only_decrease industry to decrease (currently only Temperate terrain Oil Wells) or
    • 50% for 1/3 chance (=16.7%) that other industry (non only_decrease) changes production.
  • If a production change does occur (~16.7% chance per month):
    • For an industry that has poor or no service (less than 60% of its cargo is transported): 33% chance of increase, 67% chance of decrease.
    • For an industry that has good (greater than 60%) service: 67% chance of increase, 33% chance of decrease.
    • There is no bonus for excellent service with default economy.
  • To calculate the chance for a particular change, i.e. 50% * 1/3 * 33% = 5.56%:
    • Poor service: 5.56% that 1 possible change per month is an increase and 11.12% that 1 possible change per month is a decrease.
    • Good service: 11.12% that 1 possible change per month is an increase and 5.56% that 1 possible change per month is a decrease.

Smooth Economy Rules

Out of Date
This article or section is outdated. Some of its content may no longer be accurate due to changes in the latest release. Please update this article.
Difficulty setting and Advanced setting have been replaced by Settings
Distinguish Smooth economy (advanced setting) and Steady economy (difficulty setting)
  • The chance for a production change each month is 4.5%, i.e. 4.5% of producing industries from industry list change production.
  • If a production change does occur:
    • For an only_decrease industry (currently only Temperate terrain Oil Wells) 0% chance of increase, 100% chance of decrease.
    • For an industry that has poor or no service (less than 60% of its cargo is transported): 33% chance of increase, 67% chance of decrease.
    • For an industry that has good (greater than 60%) service: 67% chance of increase, 33% chance of decrease.
    • For an industry that has excellent (greater than 80%) service: 83% chance of increase, 17% chance of decrease.
  • These two are multiplied together, i.e. 4.5% * 33% = 1.5%:
    • only_decrease industry: 0% chance to increase and 4.5% chance to decrease
    • Poor service: 1.5% chance to increase and 3.0% chance to decrease
    • Good service: 3.0% chance to increase and 1.5% chance to decrease
    • Excellent service: 3.75% chance to increase and 0.75% chance to decrease
  • With the Smooth economy option enabled, production changes per month are between 3% and 23%
    • Industries with very low productions, (i.e. 12-40 tonnes per month) will have higher changes.
    • Primary industries produce cargo 8 or 9 times a month. Monthly production is an industries 'base value' multiplied times 8 or 9. For example, the base value for a coal mine is 15 tons, so the monthly production is 120 or 135 tons. This base value is capped at 255, so the maximum possible monthly production for any industry is 2040 or 2295. Ref
Special Cases
  • Oil Rig passenger production is limited to 16 passengers per production event, meaning a maximum of 144 or 128 passengers per month. [7]
  • Lumber Mill is technically not a producing industry and is classified as a secondary industry in the code. Four or five times a month it will search outward in a 40 by 40 area in a spiral pattern looking for a fully-grown tree to cut down. If it finds one, the tile will be demolished and 45 tons of wood will be output. This means it has a maximum production of 225 or 180 tons of wood per month, solely dependent on the availability of trees.[8]
  • Temperate climate Banks never change production (except due to the 8 vs 9 production events per month).


If a coal mine has 70% of its output transported, there is a 3% chance (4.5% * 67%) of a production increase from 3-23% and a 1.5% chance (4.5% * 33%) of a production decrease from 3-23% (but 13% on average).

(1 + (0.03 - 0.015) * 0.13) ^ 12 - 1 = 0.0237 or 2.37%

The coal mine will grow an average of 2.37% on average after the first year.
(1.0237 ^ 20) - 1 = 59.6% after twenty years
(1.0237 ^ 50) - 1 = 321.8% or 3.22x after fifty years
(1.0237 ^ 100) - 1 = 10.35x after one hundred years

For an industry with rating of more than 80%, there is a 3.75% chance of increase and 0.75% chance of decrease:
(1 + (0.0375 - 0.0075) * 0.13) ^ 12 - 1 = 0.0478 or 4.78%

The industry will grow approximately 4.78% on average after the first year.
(1.0478 ^ 20) - 1 = 2.54x after twenty years
(1.0478 ^ 50) - 1 = 10.32x after fifty years
(1.0478 ^ 100) - 1 = 106.62x after one hundred years

For an industry with the only_decrease flag set (currently Temperate Oil Wells), there is only a 4.5% chance of decrease:
(1 + (0 - 0.045) * 0.13) ^ 12 - 1 = (0.99415) ^ 12 -1 = -0.068 or -6.8%

The industry will shrink on average by approximately 6.8% after the first year.
(0.9320 ^ 20) = 24.46% of initial production after twenty years
(0.9320 ^ 50) = 2.96% of initial production after fifty years

ln(0.5) / ln(0.99415) = 118.1 months or 9.84 years is the half life of an only_decrease industry.
ln(8 / 48) / ln(0.99415) = 305.9 months or 25.4 years is the mean lifetime of a temperate Oil Wells (starting at 48 oil/month).
ln(8 / 152) / ln(0.99415) = 501.8 months or 41.8 years is the mean lifetime of a temperate Oil Wells (starting at 152 oil/month).

For good service, it takes 29.6 years on average to double; with excellent service, it takes 14.8 years. If in the game's time a day is 2.36 seconds, then the doubling time with good service is 7.1 hours; with excellent service, the doubling time is 3.6 hours. For production to go from near bottom of 100 to near maximum of 2040 or 2295 takes 130 years with good service and 65 years with excellent service.

However, in game you will find industries changing their production rate very randomly. It must be stressed the above examples are only true when observing many industries over the long-term; individual industries may greatly deviate from these averages. Statistically speaking, 6 out of 10 industries will not go from 100 to 2040-2295 even with the best service during 65 years. About 1 out of 9 industries will even lower their production when being served at 60-80% cargo transported for 50 years.

For more responsiveness from industries, adapt the number of wagons to industry production (for the lowest production, you should use two wagons). [Full Load] orders are usually used for such cargo trains.

Note: The exact formula can be seen under 'ChangeIndustryProduction()' in industry_cmd.cpp.

Delivery payment rates

The amount you get paid for delivering cargo is based on 4 factors: the amount of cargo you deliver, the value of the cargo, the distance you deliver it, and how on-time you deliver it.

CargoUnitsEarly Delivery
Time (days)
Late Delivery
Time (days)
Initial cargo
payment (pounds)
Iron OreTons9None£62
Arctic specific
Tropical specific
Tropical WoodTons15None£97
Copper OreTons12None£59
Toyland specific
Fizzy Drinks3050£76

Initial cargo payment values are for delivering 100 pieces of cargo 1 tile. Payment goes up with inflation as the game progresses.

Late delivery penalties:

  • For each day after the Early Delivery time that you deliver the cargo, you are penalized 0.4%.
  • For each day after the Late Delivery time that you deliver the cargo, you are penalized an additional 0.4%.
  • Maximum penalty is 88%.

Examples (no inflation):
Deliver 200,000 liters of oil 20 squares in 10 days:
2 * £54 * 20 squares * 100% = £2160

Deliver 100 bags of mail 100 squares in 100 days:
£55 * 100 squares * (1 - 0.80*0.4 - 0.10*0.4) = £3520

HINT calculate easy:
Income = cargo units * cargo value * 0.4
Cargo value comes from the Y-axis on the specific transported goods graph in-game
measure your real delivery time in days and plot on x-axisThis result will give you an easy estimation of your income with 5% deviation

  • The exact formula is much more complicated and slightly more accurate, due to rounding error when converting from larger discrete values. See economy.cpp (GetTransportedGoodsIncome()) and Cargo income.
  • Distance is measured between the name-labeled tiles of the stations, not from the industries or by vehicle distance traveled. It is computed by adding the differences in x and y tiles (manhattan distance), not straight-line distance.
  • Each cargo has a characteristic time at which payment is maximized, assuming you can keep it moving away from the source station at a constant speed. For a cargo with a 'late delivery' penalty, this time is typically around 70 days; for one without, this is typically around 130 days.

Vehicle speeds

Internally OpenTTD works with a unit called 'km-ish/h', which is equal to 'mph*1.6'. The conversion factor from km-ish/h to km/h is 1.00584, and the conversion factor from km-ish/h to mph is 1.6.

A tile is, for vehicle speed purposes 664.(216) km-ish, 668 km or 415 miles long. This is based on the following facts:

  • A tile has 16 sub locations per X/Y axis.
  • A vehicle has stores remainder of tile movement in a byte called subspeed, thus has 256 different values.
  • The vehicle's (raw) speed is added to subspeed. The resulting number is divided by 256, the remainder is stored in subspeed and the vehicle is moved quotient sub locations forward. For trains and aircraft the raw speed is in km-ish/h, for road vehicles/ships in 0.5 km-ish/h. For trains and aircraft this step is done twice a tick, whereas ships and road vehicles do it once a tick.
  • A day contains 74 ticks, and takes 24 hours.

Now assume a vehicle going 1 km-ish/hour: (1 * 16 * 256) / (74 * 2) * 24 = 664.(216).


The net result is that 100 km/hour is ~3.6 tiles/day.


  • By default aircraft fly at a quarter of their listed speed (this can be changed in advanced settings).
  • Aircraft acceleration varies per aircraft, between 144 km-ish/h/day and 400 km-ish/h/day.
  • Broken down planes fly at 320 km-ish/h.
  • Airport taxi speed is 150 km-ish/h.

Road Vehicles

  • Road vehicles accelerate at 37 km-ish/h/day.
  • Road vehicles go around corners at half their max speed.
  • Road vehicles accelerate an additional 74 km-ish/h/day downhill.
  • When going uphill, road vehicles slow down 10% 4 times per tile. This balances out with acceleration at 34-ish km/h for all road vehicles.

(Note: This does not apply when using the improved road vehicle acceleration model.)

95 Openttd


  • Ships accelerate at 37 km-ish/h/day.
  • A 'stopped' ship resumes its last speed instantly.


(with the realistic train acceleration patch)

  • Trains are not affected going up or down hills if they are powerful enough.
  • Trains are limited to entering and exiting a depot and making 90° turns at 61 km/h.
  • Trains can make one 45° turn or two 45° turns in opposite directions at a time without slowing down.
  • When making two or more 45° turns in the same direction, the max speed is limited as follows:
CurvatureMax speed (km/h)
0 (90° turn)6191121
1 (2x45° turn)88132176
CurvatureMax speed (mph)

'Curvature' means the average number of wagons of the train between turns. However, very sharp turns (curvatures 0 and 1) are not averaged out in longer trains.

  • New railtypes can specify custom maximum curve speeds in the same steps as the three default types in the table.
  • Tilting trains gain an additional bonus of 20% on the maximum speed.
  • Train acceleration and max speed are affected by engine power, maximum tractive effort (all engines and powered wagons combined), current speed, air drag, total train mass, and wagons/engines on slopes.
  • Non maglev train Acceleration spreadsheet can be found on tt-forums: tt-forums
  • Braking is twice acceleration except when entering a depot or a station.

See also: Realistic acceleration and Corners.

See ground_vehicle.cpp, aircraft_cmd.cpp, roadveh_cmd.cpp, ship_cmd.cpp, train_cmd.cpp, vechicle.cpp for code.

As of OpenTTD 1.6.1, given power in hp, max tractive effort in kN, total weight of the train in tonnes, the number train parts (engines and wagons), the air drag value of the first engine in the train (NewGRF setting, defaults to min(192,max(1,floor(2048/max_speed))), meaning faster trains are built more aerodynamically), the combined weight of any train parts (engines or wagons) currently on an up-slope, the combined weight of any train parts (engines or wagons) currently on a down-slope, the slope steepness (game setting [1-10], default 3), and the current speed of the train in km/h, the acceleration of a non-maglev train can be calculated as follows:

force = min((max_te * 1000), floor((power * 746) / (current_speed * 5/18))) [N]

slope_force = weight_on_upslope * slope_steepness * 100 - weight_on_downslope * slope_steepness * 100 [N]

axle_friction = total_weight * 10 [N]

rolling_friction = floor((current_speed + 512) * 15 / 512) * total_weight [N]

air_drag_coefficient = 14 * floor(air_drag_value * (1 + number_of_parts * 3/20)) / 1000

air_drag = floor(air_drag_coefficient * current_speed^2) [N]

acceleration = (force - (slope_force + axle_friction + rolling_friction + air_drag)) / (total_weight * 4) [256th of a km/h per half-tick]

Note: air_drag_coefficient is twice that if any part of the train is in a tunnel.

Given the same values, the equilibrium speed, e.g. the speed the train would eventually settle on if the same conditions continued indefinitely, can be calculated as follows [Assuming a constant rolling_friction (i.e. the speed stays below 512 km/h), and ignoring the flooring of force and air_drag to an integer value]:

p = (slope_force + axle_friction + rolling_friction) / air_drag_coefficient

q = (-power * 746 * 18/5) / air_drag_coefficient

C = (27/2*q + ((27/2*q)^2 + 27*p^3)^(1/2))^(1/3)

equilibrium = min(max_speed, p/C - C/3, max(0, max_te * 1000 / air_drag_coefficient - p)^(1/2))

Town growth

See Towns#town-growth.

Folder: Game Mechanics
The Best, 'Must Have' OpenTTD Mods!
'Why OpenTTD doesn't actually need mods, and for Pete's sake, stop calling them mods!'
One of the most often-made posts that a new player to OpenTTD will make is a request for 'best' or 'must-have' mods. Much digital bits has been spilled time and again explaining several facts that new players are not aware. This is a guide that will spill even more digital bits, but will attempt to be both detailed and easy to read, and hopefully become a cherished guide for future generations of OpenTTD users to reference, and perhaps put an end to this oft-repeated question.
Why OpenTTD doesn't actually need mods
OpenTTD originally started as an open-source clone to the popular PC game Transport Tycoon Deluxe. It was never meant to exist as a pure clone, however, as it also endeavored to fix the various bugs, quirks and other not-quite-liked features of the original game, much like OpenTTD's progenitor project, TTDPatch. OpenTTD, like Transport Tycoon Deluxe, is popular because its one of the few games in the 'tycoon' genre that successfully balances fun game play and skilled challenge. Because OpenTTD is also an open source software project, it is not difficult for any individual to look at the source code and provide modifications.
The official OpenTTD support forums at hosts an OpenTTD Suggestions forum where players and fans can submit new ideas. Developers do read this forum, and if they see an idea that they believe has merit and will bring an improvement to the game, one or more of them will start work and begin testing. If the idea proves to be sound in both ideology and technical capability, they will eventually add it to the game. Some suggestions may be extremely simple, or extremely complicated. The developers are constantly accepting feedback to improve the game and suggestions for these new ideas, and thus the game is constantly being worked on and improved weekly, if not daily or hourly.
The site also hosts an OpenTTD Development forum, where users who are familiar with the coding side of the game can openly work on projects which they feel improve the game. The developers are also active in this forum, as projects expand and feedback from the developers are requested. If these projects meet the strenuous coding standards of OpenTTD, and are deemed to be an improvement to the game that does not inhibit any previous features, the developers will review the code and possibly implement it. This also plays into the constant improvement of the game.
Because of these constant improvements, OpenTTD is no longer a mere clone to a long-gone game of the 1990s, but is a fun, diverse game in its own right. Players can now choose to compete against themselves or each other to become the most dominant and profitable transport company, they can compete against a variety of computer-controlled opponents, they can also choose to work together to accomplish predefined goals. Or, they can completely ignore all of this and treat the game as their own sandbox to create worlds that reflect any fantasy or reality that they choose.
.. and for Pete's sake, stop calling them mods!
It's not unusual for a more senior member of tt-forums to chaff whenever a new player asks about 'mods', as the term doesn't quite apply to OpenTTD as it does in other games. Many see it as as sign that the player is quite new to OpenTTD and is not familiar with the terminology, and doesn't quite understand what they're asking for. In the world of OpenTTD, there are a few different ways that one can change their gaming experience, which I will explain.
NewGRFs, or New Game Resource Files, are files which users can independently download and instantly configure and use from within the main menu of OpenTTD. These files do not require any significant know-how or effort to set up, and most popular and up-to-date NewGRFs are typically made available through the in-game content downloading system (BaNaNaS). NewGRFs are the preferred way to make individual, unique changes to the OpenTTD experience and do not require the involvement or support of the OpenTTD developers. Anybody willing to put in the work to learn how to create them can freely do so and upload them to the BaNaNaS system, or use any method that they choose to distribute them and are installed manually. NewGRFs can make any number of changes, such as:
  • simple 'eyecandy' that improves the visual aspects of the game;
  • introduction of new trains, aircraft, ships and road vehicles to complement or replace the default vehicles;
  • introduction of new industries to complement or replace the default industries, including entire economic chains;
  • new infrastructure such as bridges, houses, roads, rails, and landscape;
  • modification of the OpenTTD economy, including the ability to make changes in profitability of delivering products and services, increasing or decreasing the costs of purchasing, maintaining and selling company-owned property.
Typically, most NewGRFs can be loaded with any other NewGRF. However, there is no guarantee that any NewGRF will work as intended with any other. As NewGRFs can change the economy and costs of things, they may inadvertently modify the behavior of other NewGRFs in unintended ways that could possibly corrupt or crash your entire game. Please take care to fully educate yourself on what each NewGRF does. NewGRF authors typically take time to document what their modification does, as well as highlight any potential conflicts with other NewGRFs. Occasionally authors may even program their NewGRFs to modify their behavior (or, disable itself partially or entirely) in the presence of other NewGRF. Any such changes are typically documented, either in files distributed with the NewGRF, or on tt-forums or another portal from which they distribute their files and support.
As mentioned, most NewGRFs are typically distributed via the in-game content downloading system, but not all files are distributed there. Many are distributed exclusively from tt-forums' Graphics Releases forum, and there are some other repositories and sources for NewGRFs as well. The OpenTTD wiki has a NewGRF list which has links to many of these files, as well as the major repositories, which you may wish to browse to learn more.
AIs, or Artificial Intelligence, are computer-controlled competitors which may be used in single player and multiplayer games. Unlike Transport Tycoon Deluxe, AIs are not distributed directly with the game, but are made available in the same methods as NewGRFs, either from the in-game content download system, or distributed in other ways and manually installed. AIs can be as friendly, unfriendly or competitive as its author intends. While they may be aggressive, and may be able to build fast, they do not have access to any controls, or hidden and undocumented features than a human player, so on-the-whole they are fair. As with NewGRFs, you can install more than one AI, but there is no guarantee that they will work together with each other, or with any NewGRF or other modification to the game, and again one should fully learn about what an AI is capable of before installing and activating it in a game.
Game Scripts are scripts that are activated from within OpenTTD and can provide a new way to compete in OpenTTD by providing goals and achievements. This is a fairly new feature for OpenTTD, and the capabilities of this system are only beginning to be tapped. Game scripts can monitor the state of the game while it is running, updating you on how close you are to accomplishing an achievement.
The latest information about AIs is available in the AIs and Game Scripts forum.

Openttd Similar Games Like

Patches, also called 'diffs', are another way that OpenTTD can be modified. Unlike NewGRFs, AIs and Game Scripts, which modify OpenTTD from within the running program, patches are bits of code that replace or modify the OpenTTD source code, and apply changes that affect the entire program. In order to use them, an end-user must apply the code against the OpenTTD source code, and then use a compiler to generate a new binary for their operating system. Patching and compiling the source code can appear to be daunting, even impossible, to an inexperienced individual. However, there are detailed, step-by-step instructions available that can walk you through the patching and compiling process. Patches are significant changes to how the OpenTTD program operates, and is the typical method of introducing new features to the game.
In almost every case, a patch file is not supported by the OpenTTD developers (even if an OpenTTD developer creates a patch of their own), and they cannot provide support if a patch inadvertently breaks the game, and they're never distributed with the game by the OpenTTD developers themselves. The patch authors, however, are free to distribute both the patch code (.diff files) as well as modified versions of OpenTTD themselves, provided that they obey the license that accompanies OpenTTD. Occasionally, a patch proves to be so popular, and is well-coded and significant enough that the developers will elect to adopt it for inclusion in the game. If this occurs, a patch author may choose to stop releasing new versions of the patch, and only provide support to the OpenTTD developers for future versions officially released by the OpenTTD developer team. As OpenTTD is a constantly developing game, it is not uncommon for a patch file no longer work when applied against newer revisions of the game, and it is also not uncommon for a patch developer to stop supporting their patches, or disappear from the community altogether. One should never blindly assume that any patch file will work against a future version of the OpenTTD source code.
Patch Packs are custom-compiled versions of OpenTTD that contain one or more patches in a distributed binary. Such custom versions of OpenTTD are created because an individual likes to play the game with various patches, and wishes to share that with others who cannot compile the patches themselves. Patch packs take specific versions of the various patches and applies them against a specific revision of the OpenTTD source code. Because of this, a patch pack may not actually contain the newest version of either those patches or OpenTTD. Patch packs, therefore, are entirely maintained and supported by the individuals who create them, and both the patch developer and OpenTTD developers may not be available or inclined to provide any support for them.
Whether it is a patch that you apply yourself, or a pre-compiled binary from either a patch author or patch pack, it must be noted that these customized versions of OpenTTD are typically not compatible with either the unmodified OpenTTD binaries nor other patched binaries or patch packs. If you distribute any scenarios or saved games that were created with a modified version of OpenTTD, you should make sure that others are aware of which specific version that you used, preferably with a link from where one can download that version.
More information about patches and patch packs can be found in the OpenTTD Development forum.
In Summary
As you can see, while there are several ways to modify the OpenTTD experience, there is no technical reason why you should need to do so, and you now also know why we do not call them 'mods'. While all of these can provide a wonderful gaming experience, and many people have put in many hours of hard work to make it happen, it is simply not possible for anybody to say what is a 'must have' modification. There are literally thousands of different files available (if not tens of thousands by now) which can vary from very simple to extremely complicated, all of them appealing or not appealing to everybody or nobody, and is completely dependent on one's individual interests and skills.
'But, wait!' you might say, 'You said that this was..
The Best, 'Must Have' OpenTTD Mods
list! I want my money back!'
Okay, okay, I tell you what. I'm not going to make a recommendation of what one MUST have, or what I think is the BEST, but I will give my opinion on what I feel are some of the most popular, outstanding and quality modifications. But, I won't do that in this post, as my opinions on this may change over time. I will update this topic with those lists, and I will link to them at the bottom of this post, and update this post as needed. After all, if you bothered to read all the way through to the end of this, then there should be some sort of reward for your patience.
Thank you for taking the time to read. If you have any comments or suggestions, praises or criticisms, please send those to me personally via PM rather than cluttering up the topic. I appreciate all constructive feedback and may implement that feedback into subsequent updates on this topic. You may also wish to participate in separate discussions about favorite NewGRFs.
Kamnet's Guide to Most Popular NewGRFs

Openttd Similar Games

updated November 1, 2013.