OpenTTD is a free re-implementation of the popular DOS game Transport Tycoon Deluxe. You are a transport company owner, and you must manage it over the years in order to make profit.
Install the package.
If you do not own the original game,and contains the free graphics & sounds.
Additionally, you may install AUR from the AUR to get the free OpenMSX[dead link 2021-05-17 ⓘ] music pack. Be sure to read through Timidity#Configuration to setup Timidity correctly, in particular, add yourself to the audio group and configure Timidity to use the Freepats SoundFont.
Original Transport Tycoon Deluxe data (optional)
OpenTTD can use the non-free graphics and sound data of the original Windows/DOS version of Transport Tycoon Deluxe.
You can get these files from the game CD-ROM, from an existing install or you get them from the freely available game installation archive available at Abandonia.
To use the original graphics & sound effects, copy the following files to
- Windows : trg1r.grf, trgcr.grf, trghr.grf, trgir.grf, trgtr.grf
- DOS : TRG1.GRF, TRGC.GRF, TRGH.GRF, TRGI.GRF, TRGT.GRF
- sample.cat from either version
For the original soundtrack, copy the files from the gm folder of the original TTD game directory to
The game can be quite confusing at first. A good tutorial is available on the wiki here.
For an in-game tutorial, a game script has been implemented. Just download 'Beginner Tutorial' with the in-game download manager and load the 'Beginner Tutorial' scenario.
The OpenTTD main configuration file is located at
~/.openttd/openttd.cfg and is automatically created upon first startup.
Various settings in the configuration file can be edited with buttons on the main menu. Each button is explained below.
This window allows you to set options which will be used by default at the start of a new game.
You can also set the default graphics, sound, and music here.
This window allows you to change the difficulty of the game, and specific options about them. You can either use the difficulty presets by selecting the difficulty buttons at the top of the window, or set custom options.
In this window, nearly all the other settings in the configuration file can be modified. All the options are grouped in expandable sections. You can also search for the setting to be changed using the search utility.
AI/Game Script Settings
This window allows you to customize various options relating to artificial intelligence (bots or CPU players) and Game Scripts.
Game Scripts are a goal-based scripts which can perform many in-game actions to enhance or extend the game.
Tips and tricks
OpenTTD allows using a grayscale image as a heightmap[dead link 2021-05-17 ⓘ] for landscape generation. There is an excellent heightmap generator available at terrain.party, based on real Earth terrain. Alternatively, you can use the AUR application, which can download larger areas and contains a number of options for fine-tuning the resulting heightmap (see the README for some notes on usage). You may further use for fine-tuning the heightmap, especially useful are the Levels and Gaussian Blur tools.
A cheat menu can be shown in a local game by pressing Ctrl-Alt-C.
Detailed information about cheats are available here
Music is not playing
The game will automatically try to use TiMidity++ with no additional arguments. If for some reason you need/want to use another synthesizer, OpenTTD provides the "extmidi" music driver, which allows you to configure a command to be ran to play music.
$PATH, you must specify the absolute path.
Edit your openttd.cfg to configure extmidi :
[misc] musicdriver = "extmidi:cmd=<command>"
openttd -m extmidi:cmd=<command>
However, extmidi does not allow additionnal arguments in the command. The solution is to use a wrapper script (for example,
#!/bin/bash #here, we want to use the FluidSynth synthesizer with the soundfont #provided in and PulseAudio trap "pkill fluidsynth" EXIT fluidsynth -a pulseaudio -i /usr/share/soundfonts/FluidR3_GM2-2.sf2 $*
Mark it as executable :
$ chmod 755 ~/.openttd/playmidi
Then you can specify the full path to the script as the command to be used with extmidi :
[misc] musicdriver = "extmidi:cmd=/home/<user>/.openttd/playmidi"