OpenTTD · NewGRF · 6 min read
Export Rail Island vehicles to OpenTTD as a NewGRF
The Rail Island Factory builds every vehicle of the game from code, and it can hand them to OpenTTD too. Choose the trains, buses, trams, ships and aircraft you want, export them as one GRF file, and they turn up in OpenTTD's purchase list with their own sprites, figures and liveries. This page shows how, step by step.
What the export makes
The Rail Island Factory at factory.railisland.com is the open catalog of every model the game draws, each one generated from code rather than modelled by hand. Over a hundred of them are vehicles: 87 rail vehicles (locomotives, units, coaches, wagons, trams and metro), 16 buses and trucks, 8 aircraft and 4 ships, many of them in several liveries.
Any of them can go into an export list, and the list can be saved as an OpenTTD NewGRF. The whole thing happens in your browser: it renders the sprites from the 3D models, packs them into a GRF and downloads the file. You do not write NML, run nmlc or draw a single pixel.
- Eight sprites per vehicle, one for each direction, in 32bpp colour.
- Every sprite at three zoom levels — normal, 2x and 4x — so the vehicles stay sharp when you zoom in.
- Real figures: weight, power and top speed come from the model, and long vehicles are built as articulated vehicles at true proportions.
- Every variant you add is its own vehicle: a locomotive in two liveries is two entries in the purchase list.
- One file for the whole set, named after the set name you give it.
Which vehicles go into a GRF
OpenTTD has four kinds of vehicle, and each catalog category maps onto one of them. Buildings and cable cars stay out: OpenTTD has no vehicle to turn them into, so the export panel greys them out and skips them.
| In the factory | In OpenTTD |
|---|---|
| Rail vehicles (locomotives, units, coaches, wagons, metro) | Trains |
| Trams | Road vehicles on tram track |
| Road vehicles (buses, trucks) | Road vehicles |
| Ships | Ships |
| Aircraft | Aircraft |
| Buildings, cable cars | Not exported |
Export a GRF, step by step
On factory.railisland.com
- 1 Find a vehicle Open factory.railisland.com and narrow the catalog with the Trains, Road vehicles, Trams, Ships or Aircraft chips, or search by name. Click a model to open its page with the 3D preview.
- 2 Pick the variant If the model has parameters — a livery, a unit number, a car count — choose them under Parameters. The preview shows exactly what will be exported.
- 3 Press Add to export The button turns into "In the export" and the counter in the top bar goes up. Change a parameter and the button becomes active again, so you can add the same model in another livery.
- 4 Open the export panel Press Export (n) in the top bar. The panel lists every entry with its thumbnail and variant; remove the ones you changed your mind about.
- 5 Name the set Type a set name. It becomes the GRF's name in OpenTTD, the file name, and the source of the GRF ID, so keep the same name when you export a new version of the same set.
- 6 Export the .grf Choose "GRF for OpenTTD" and press "Export .grf". The factory renders the models one at a time with a progress bar, then downloads Your_set_name.grf.
Install the GRF in OpenTTD
An exported GRF is installed like any NewGRF you download by hand: put it in OpenTTD's newgrf folder and switch it on before you start a game.
| System | Copy the .grf into |
|---|---|
| Windows | Documents\OpenTTD\newgrf |
| macOS | ~/Documents/OpenTTD/newgrf |
| Linux | ~/.local/share/openttd/newgrf (older installs: ~/.openttd/newgrf) |
In OpenTTD
- 1 Open the NewGRF settings From the main menu choose New Game, then NewGRF Settings. If OpenTTD was already running when you copied the file, press Rescan files.
- 2 Activate the set Your set is listed under Inactive NewGRF files by its set name. Select it and press Add; it moves to Active NewGRF files. Save a preset if you want it in every new game.
- 3 Start the game Close the window and press Generate. The sprites are 32bpp; OpenTTD switches to a 32bpp blitter by itself.
- 4 Buy the vehicles Build a depot and press New Vehicles. Electric locomotives and metro trains need electrified track, so look for them in a depot built with electrified railway construction.
What they look like in the game
The export draws every vehicle at its true proportions, at one scale: one eighth of an OpenTTD train length per metre. That makes the vehicles as wide as OpenTTD's own, and long — a 16 m locomotive fills a whole tile and a 26 m coach about 1.6 tiles. A vehicle longer than half a tile becomes an articulated vehicle of several parts, so a long coach bends through curves instead of cutting across them.
Dates, costs and capacities
Weight, power and top speed are the factory's own figures for each model — the same ones Rail Island uses. A train vehicle with no power becomes a wagon. Whatever a model does not state comes from defaults for its kind:
| Kind | Default capacity | Introduced |
|---|---|---|
| Coach | 60 passengers | 1960 |
| Unit (railcar, EMU, DMU) | 120 passengers | 1960 |
| Metro | 150 passengers | 1960 |
| Tram | 100 passengers | 1960 |
| Bus | 60 passengers | 1960 |
| Wagon | 30 goods, refittable | 1960 |
| Truck | 20 goods, refittable | 1960 |
| Ship | 300 passengers | 1960 |
| Aircraft | 150 passengers | 1960 |
| Steam locomotive | — | 1900 |
Vehicles last 30 years (aircraft 25), stay on sale for 60, and are available in the temperate, sub-arctic and sub-tropical climates. Electric traction and metro run on electrified rail. A model can declare its own figures instead — the CD 163, for one, states 1984 and a 40-year life.
Good to know
- There are no company colours: the vehicles keep the livery you chose in the factory.
- Ships and aircraft have no length in OpenTTD, so each is fitted into one tile and is not at the trains' scale.
- The GRF ID comes from the set name, and each vehicle's ID from its model and variant. Export again under the same name and the vehicles keep their IDs, even if you add or reorder entries.
- The sprites are lit from the upper left with a flat, matte light, so chrome and glass do not shine.
Missing a vehicle?
The factory is an open repository on GitHub, and new models arrive as pull requests — most of them written by asking Claude Code to build the vehicle from a photo or a drawing. Add the locomotive you want to the factory and it becomes part of Rail Island and exportable to OpenTTD at the same time.
Questions OpenTTD players ask
- Is the OpenTTD export free?
- Yes. The factory site, the export and the GRF it writes cost nothing and need no account. Almost every model in the catalog is CC0; each model page states its licence, so check it before you publish a set built from it.
- Which OpenTTD versions can load the GRF?
- The export writes a version 8 NewGRF in GRF container version 2 with 32bpp sprites. A GRF exported from factory.railisland.com was loaded and run in OpenTTD 13.4, 14.1 and 15.3.
- Do I need NML, nmlc or a sprite editor?
- No. The factory renders the sprites from each 3D model and writes the GRF itself, in your browser. There is nothing to install and no code to write.
- Why is my electric locomotive missing from the purchase list?
- Electric locomotives and metro trains run on electrified rail, so OpenTTD lists them only in a depot built with electrified railway construction. Also check the date: a vehicle appears around its introduction year, 1960 for most models unless the model states its own (the CD 163 is 1984).
- Can I add the GRF to a game I have already started?
- Choose NewGRFs before you start a new game: open New Game, then NewGRF Settings. OpenTTD does not normally let you add a NewGRF to a game in progress.
- Does it work in multiplayer?
- Yes, as long as every player has the same GRF file in their newgrf folder. The export is not on BaNaNaS, so OpenTTD cannot download it for a joining player; send them the file.
- Why are the trains so long?
- The export draws every vehicle at its true proportions: one eighth of a train length per metre, so a 16 m locomotive fills one tile and a 26 m coach about 1.6 tiles. Build long platforms and raise the maximum train length in the vehicle settings.