OpenTTD is an incredibly addictive and absorbing transport simulation game which is an open source clone of the original Transport Tycoon Deluxe. It is free to download.
The standard game at present uses 8bit graphics and while they have a certain charm, they look a little outdated to many people. However, the OpenTTD forums are very active and graphics developers have been working on finely detailed 32bit sprites for some time now. On 9/1/2010 they released a package of the work so far which you can find here:
To get these to work, you need to have an OpenTTD binary which is patched to allow for Extra Zoom Levels, so that you can zoom in on objects much closer than you can with the standard game.
If you’re using Windows, you can download pre-compiled Win32 and Win64 binaries.
If you’re using Linux, you need to compile. Don’t worry, it’s not that difficult if you just follow the instructions. I compiled mine on Ubuntu 9.04 Jaunty by following the OpenTTD Wiki and here is a summary of what I did.
First of all, if you don’t already have the standard game, download the Release 1.0 beta from the OpenTTD website.
This is the one I like to use, the tar.gz for 32bit Linux:
Create a folder in your /home directory called /Games and extract it there.
Now, to get the new graphics working, make sure you have installed all the prerequisites as listed in the Wiki:
sudo apt-get install build-essential libsdl1.2-dev subversion zlib1g-dev liblzo2-dev timidity dpatch libsdl1.2debian-pulseaudio
At this stage, you may get a dependency error relating to libglu1-mesa-dev. At least, I did anyway. Eventually I got around it by downgrading libglu1-mesa to the previous version in Synaptic (just select Package/Force version from the menu).
You also need Subversion so that you can download the Source Code:
sudo apt-get install subversion
Now, you’re ready to download the Source code, further details are in the Wiki:
svn checkout svn://svn.openttd.org/trunk openttd
If you run that command from the /home directory, it will dump all the source code into a folder called ~/openttd.
Now you have the source code, you need to get the patch for Extra Zoom Levels and apply it to the code.
As stated in the Wiki, you can get the latest patch here:
It should be a file of type xxxx.diff
Copy that patch into your ~/openttd folder.
You’ll notice the patch is called “32bpp_r18768_v13.diff”. This mean that we need to make sure that our source code revision matches the revision number (18768) of the patch, so let’s do that before we apply the patch. Make sure you’re in the ~/openttd folder:
svn update -r 18768
Now we have the correct revision, we can apply the patch:
patch -p0 < 32bpp_r18768_v13.diff
These should only take a few seconds to complete. Now we have the source code containing the stuff we want, it’s time to compile. Making sure you’re in the ~/openttd folder, run this command:
This should take a few minutes. Once it’s done you will see a folder called /bin in your ~/openttd folder. This is the binary you’ve compiled. To check if it’s working, go into the /bin folder and double-click on the executable called “openttd”. This should start up the game.
So do you want to leave the /bin folder where it is, or move it somewhere else? It doesn’t really matter but for the sake of ease of access, I then copied the /bin folder from ~/openttd to ~/Games and renamed it as /openttd. That way, all your games binaries are in one place.
Now, you will need to move some .grf files from the Release 1.0 Beta into your newly compiled binary. If you moved your /bin files into your Games folder and renamed it as /opentdd then you can do this from the command line:
cp *.grf ~/Games/openttd/data
Or you can do it visually with the mouse in Nautilus, whichever.
You also need the OpenSFX Base Sound Set. Download it from here and extract it into your ~/Games/openttd/data folder.
OK, next, we need to get those lovely 32bit graphics, which was the point of the whole exercise.
As mentioned earlier, you can download the entire bundle from here:
This is a big archive containing lots of .tar files. Each set of .tar files contains sprites for a different class of objects e.g. buses, trains, industries, roads, trees, houses.
Next step is to put all of the .tar files in your ~/openttd/data folder.
According to some people on the OpenTTD forums, there’s no need to extract the .tar files, that they will appear in the game without extracting them.
However, this didn’t work for me, I had to extract each one and put the sprites into the /openttd/data/sprites folder. This can be a little tricky, but if you do them one at a time it’s not too bad.
When you extract a .tar file, the folder structure will be like this:
There may also be other subfolders, like /sprites/ogfxc_arctic or /sprites/ogfxe_extra and more. It’s just a matter of copying the sprites from your .tar files into the correct subfolder under your /openttd/data/sprites folder.
Also, some of the .tars contain .grf files, you will need to copy them to to /openttd/data. You will also need to enable them in-game, don’t forget to do that.
Lastly, you need to edit the game config file. If you have started up the game before this, you should find it has been created in ~/.openttd. It’s called openttd.cfg. To open it from the command line do:
It needs to contain these two lines under the [misc] section:
blitter = "32bpp-optimized"
sprite_cache_size = 64
I have compiled this in Jaunty (Ubuntu 9.04). I don’t know if you need to do anything else to get it to work in Karmic (Ubuntu 9.10). If you run into any problems, just ask on the OpenTTD forums.