An Early Stage Guide to Improved Town Industry 2

OpenTTD is a fully open-sourced reimplementation of TTD, written in C++, boasting improved gameplay and many new features.

Moderator: OpenTTD Developers

Post Reply
bozar
Engineer
Engineer
Posts: 2
Joined: 22 Jun 2023 14:54

An Early Stage Guide to Improved Town Industry 2

Post by bozar »

(Since I can hardly upload more than three pictures to the forum, please refer to the GitHub Wiki page for screenshots. Sorry for the inconvenience.)

Save file: Speedwagon, 1923-07-31.sav.zip

This guide shows you how to build a railway system from scratch to produce and deliver FOOD with NewGRF `Improved Town Industries 2` (ITI 2). It is an early stage guide because in `ITI 2`, there are three final products: FOOD, BUILDING MATERIALS and GOODS. Among them, FOOD will be required first and has the simplest production chain. You can read the four-part-guide in any order. Part I shows my selection of NewGRFs. Part II mentions a few important game settings. Part III briefly explains the meaning of `curve length`, which I found confusing before. Part IV is the `ITI 2` walkthrough.

List of NewGRFs mentioned in this guide:
  • Improved Town Industries 2
  • ITL Houses
  • Road Hog
  • NUTS Unrealistic Train Set
  • PURR Universal Rainbow Rails
  • BRIX Realism Is XXXX
  • OpenGFX Industries+
  • UKRS 2
  • Sunshine Trains (UKRS 3)
  • xUSSR Set
  • [Script] Renewed Village Growth
Part I: NewGRFs

There are only three essential NewGRFs/script: `Improved Town Industries 2`, `ITL Houses` and `Renewed Village Growth`. You can choose others at will and here are my reasons of choice.

In order to make the game world more clearly visible, I use `PURR Universal Rainbow Rails` and `BRIX Realism Is XXXX`. I also turn `BRIX` into a static NewGRF, so that I can open my save file on a new machine for a quick view without having to download `BRIX` (which is huge). If a NewGRF can be turned into static and you want to do so, edit the NewGRF settings normally, then quit the game and open `openttd.cfg`, move the releated line (`BRIX` in this case) below `[newgrf-static]` tag. See Figure 1, below.

Figure 1: Static NewGRF.

I prefer to include only trains and trams in my transport network. In order to make sure that trams can carry all types of cargos, I use `Road Hog`. Vehicles have some features that are not shown in game descriptions in `Road Hog 1.4.1`, therefore you may need to refer to the wiki.

I used to play with `UKRS 2` and `OpenGFX Industries+`. `UKRS 2` offers a wide, meaningful and enjoyable collection of UK themed trains. I recommend it to players who want to experience a game that is slightly more complicated than the vanilla one. `UKRS 3` is renamed into `Sunshine Trains` and it seems to be another decent choice. I haven't tried `xUSSR Set` yet, but I'm sure it'll be my close comrade when crossing the frozen land in Aurora. `NUTS`, on the other hand, is Not a Usual Train Set. There are two most important links for this NewGRF:
The blog post explains the design philosophy behind `NUTS`. The archived wiki is not completely consistent with in-game trains, however it is the only publicly avaiable content when I write this guide (5/30/2023). Bear in mind that in `NUTS`, what really matters is the engine, not the wagon. This is the most Not Usual Thing that Strikes me.

Part II: Game Settings

Tweak the game as you like. I only highly recommend these settings:
  • Set all `Cargo distribution`s to `Manual`.
  • Set `Towns are allowed to build roads` to `Off`. Pave roads around stations for both aesthetic and economic reasons.
  • In `Game Script Settings`, set `Eternal love from towns` to `Good`. It enables me to freely demolish buildings without having to wait for too long. It also feels rewarding to me when a local authority's attitude improves because their town has been served well, therefore I use `Good` instead of `Outstanding`.
You can also set `Fast forward speed limit` to an interger lower than `100%` to slow down the game. I find this little feature useful and I think it is rarely mentioned.

Part III: About Curve Length

Curve length affects train speed and is explained in [openttdcoop](https://wiki.openttdcoop.org/Max_Curve_Speed). I'd like to add a few more notes for clarification. Firstly, a curve is defined by two consecutive turns, both of which are clock-wise or counter clock-wise. In Figure 2, a curve is composed of three tracks marked by X: HEAD, BODY and TAIL.

Figure 2: Curve length.

The curve length is calculated by a ternary operator:

Code: Select all

    curve_length = body_length - 0.5
        ? head_length < body_length
        : body_length
Note that the TAIL part helps to define a curve, but it does not contribute to its length. Besides, if a train passes through the same curve in reverse direction, the `curve_length` may differ if `head_length` does not equal to `tail_length`.

Part IV: An Early Stage Guide to Improved Town Industry 2

In `ITI 2`, the maximum production and production efficiency is affected by town population. In order to speed up population growth, you need to transport raw materials (PASSENGERS and WASTE) out of the town and final products (FOODS, BUILDING MATERIALS and GOODS) into the town. Lastly, according to author's reply on Reddit, you need to provide ALL input cargos to output a final product. For example, both LIVESTOCKS and GRAINS are required by a FOOD PROCESSING PLANT to produce FOOD.

This chicken-egg (population-product) problem can be solved in three steps.
  • Raise town population.
  • Transport raw materials into a processing factory.
  • Transport final products out of a processing factory.
Step 0: Mark the map.

Rumors say that a Dwarf Fortress player spends days staring at the MIGHTY SEVEN and the INITIAL WAGON before unpausing the game, during which time he has done gigabytes of simulations in the head. There is no need to go to such extremes in OpenTTD, but it never hurts to investigate the map before putting down the first railroad. Since our goal in this guide is to produce food, place a sign near a food processing plant, and mark at least one nearby FARM and RANCH, as shown in Figure 3. Signs are very useful and I recommend to bind it to a shortcut key.

Figure 3: Place signs on the map.

Step 1: Raise town population.

Every resource node belongs to a town and every processing factory belongs to a city. As mentioned above, you need to stimulate the development of such towns and cities before industry production. You could do as follows.
  • Select two towns of moderate distance.
  • Build a station in the suburb of each town.
  • Connect two stations and then transport PASSENGERS between them.
  • Transport town WASTE to a third station that is close to an incinerator.
Note that at least one of the two towns should be related to a resource node or a processing factory. A moderate distance is between 15 to 30 grids, or roughly speaking, within one screen in 2x zoom. I suggest to build a 3-track station. One track for fully loading PASSENGERS, another for fully loading WASTE (more on this below), the last one for unloading. In the future, you can build stations on all four sides of a town. Figure 4 shows a very basic loop system.

Figure 4: The first loop.

Transport WASTE out of a town to accelerate population growth. Send WASTE to an incinerator to earn money. `WASTE/Incinerator` is similar to `COAL/Power Plant` in the vanilla version. Don't forget to search for incinerators in Step 0. You probably cannot afford such a line at first, but you should know where they are and plan accordingly.

When dealing with different types of cargos, my rule of thumb is that a train should carry only one type of cargo and run on a specific track. This is another way of saying "Do one thing and do it well". Do not put WASTE wagons and PASSENGER wagons behind the same engine, because WASTE and PASSENGERS are generated at different speeds. A mixed-wagon train means that you either have to wait until both WASTE and PASSENGER are fully loaded, which is a waste of time and station space, or leave the station with a half-loaded wagon (WASTE or PASSENGER), which is a waste of wagon space. Do not let two trains run on the same track if they cannot travel at the same speed. The reason is obvious, so I'll not elaborate here.

In Figure 4, `Skyreach South` has a separate station for WASTE. A train waits in the station to gather cargos from `Skyreach` and `Ar Noy`. It heads for `Lannisport North` to dump WASTE when fully loaded. A WASTE train and a PASSENGER train from `Ar Noy` share the same track. This does not violate the rule above because they run at the same speed. Even so, it is still not the best practice and it will be improved soon (see below).

Generally speaking, you should not put a PASSENGER wagon behind a cargo engine because the loading speed is low. You may consider this approach under two circumstances. (1) The station has so few PASSENGERS that an express engine, due to its high capacity in `NUTS`, has to wait for too long to get fully loaded. A cargo engine followed by a PASSENGER wagon, which holds fewer PASSENGERS, becomes a more reasonable choice. (2) You need to transport PASSENGERS and cargos on the same track for whatever reason. By using the same engine, both trains are guaranteed to travel at the same speed. Alternatively, you can set timetable and limit max speed to solve this issue.

Step 2: Transport raw materials to a factory.

Build a separate track (and stations if necessary) between raw material sources and a processing factory. Use the fastest train for transportation. Add feeder stations when you see fit. By now, earning money should be a trival problem, and you still have plenty of unexplored land for tracks. So Step 2 is farily simple.

Step 2A: Transport WASTE to an incinerator.

Building a WASTE line is a non-trival task in `ITI 2`. The source and destination of a FOOD processing line is fixed, but you can choose anywhere you like to put down a new line. PASSENGER lines cannot be easily diverted once built because they will soon be surrounded by town blocks. However, a PASSENGER train can run between any two towns, which offers some freedom of choice. You cannot change the destination for a WASTE line, because incinerators are quite far away from each other. Nor can you freely rebuild these lines because they are close to towns just like PASSENGER lines. My approach to WASTE transportation issue is to build a tree system.
  • Every `leaf` is a station that gathers WASTE from a town. Feed the station (that is, transport and leave empty) with WASTE inside the town by road vehicles if necessary. I suggest to build one and only one leaf station for a single town.
  • Leaves feed a `parent`, which might be close to a town or in the middle of nowhere. A parent station should be closer to the chosen incinerator than his children.
  • Parents feed grand-parents, then great-grand-parents, until they finally reach the root station, in which a train waits until full and carries WASTE to the incinerator.
Figure 5: WASTE lines.

Figure 5 shows a PASSENGER/WASTE transport system. Let's start from `Skyreach` at 12 o'clock. There is a two-way PASSENGER line between `Skyreach South` and `Ar Noy`. There is also a WASTE line from `Ar Noy` (leaf) to `Skyreach South` (parent). A WASTE train from `Skyreach South` goes to `Lannisport East` (root). Note that `Lannisport East` has a separte station on the left side, from where a train transports WASTE to the incinerator at `Lannisport North`. There are two lines from `Driftwood Hall East` (beyond the bottom of the screenshot) to `Ar Noy South` and `Lannisport Woods` to deliver PASSENGER and WASTE separately. `Lannisport Woods` also accepts WASTE from `Volon Therys Woods` and feeds `Lannisport East`. It is outside `Lannisport` city and acts solely as a feeder station at the moment.

Step 3: Transport final products out of a factory.

You should be able to afford any trains and build tracks of any length by this moment, but you probably don't have much unoccupied space around towns. So my suggestions are as follows.
  • Buy new trains to deliver FOOD to towns.
  • Use existing trakcs as much as possible.
  • Deliver FOOD from a factory to a station at the edge of a group of towns. Then use another train or road vehicle to dispense FOOD among towns.
Figure 6: FOOD processing factory.

Figure 6 shows two stations near a factory. LIVESTOCKS and GRAINS are transported into `Sunhouse Woods` via two separate tracks. A long train carries FOOD from `Sunhouse Woods` to `Sunhouse South`, then more short trains send FOOD out. This design enables you to add more tracks to `Sunhouse South` in the future, and keep `Sunhouse Woods`, the FOOD processing factory, simple and efficient. Lastly, note that the FOOD train in Figure 7 and 8 (below) shares most tracks with GRAIN trains.

Figure 7: FOOD dispenser #1.

In Figure 7, a FOOD train from `Sunhouse South` enters `Sow's Horn Woods`, transfers FOOD and then leaves empty. Another train in a separted station of `Sow's Horn Woods` full loads FOOD and sends to `Lannisport North` and `Skyreach Woods` in turn. The dispenser train does not run on a new line. It shares the same track with a PASSENGER train.

Figure 8: FOOD dispenser #2.

In Figure 8, a FOOD train passes through waypoint `AN #1` and unloads cargo at `Volon Therys Farm`. `AN #2` is reserved for GRAIN trains. Trams in `Volon Therys` and `Ar Noy` then deliver FOOD from `Volon Therys Farm` to another station in their own towns.

Thus ends this verbose guide. It took me two weeks in real life to figure out how to design a workable railway system in `ITI 2` and over twenty years in game to actually build it. So don't get frustrated when you encounter a problem because it is an intricate challenge, and definitely don't hesitate to leave a question here. I cannot answer all of them but there are other nice people who are willing to help. Have fun!
Geeks will eventually evolve into Kryptonians.
User avatar
2TallTyler
Route Supervisor
Route Supervisor
Posts: 508
Joined: 11 Aug 2019 18:15
Contact:

Re: An Early Stage Guide to Improved Town Industry 2

Post by 2TallTyler »

Nice guide! I should link to it from the official docs.

From the screenshot, it looks like you’re not using Renewed Village Growth, a town growth Game Script that I use to require cargos for town growth and create a positive feedback loop. Otherwise town growth is just too easy. (Or maybe you are using it, but have town growth signs hidden.) I do suggest trying it if you haven’t already though. :)
bozar
Engineer
Engineer
Posts: 2
Joined: 22 Jun 2023 14:54

Re: An Early Stage Guide to Improved Town Industry 2

Post by bozar »

Otherwise town growth is just too easy. (Or maybe you are using it, but have town growth signs hidden.)
That's right. I do use RVG but I hide the growth signs because they overlap with town names when I zoom out the map.
Geeks will eventually evolve into Kryptonians.
Post Reply

Return to “General OpenTTD”

Who is online

Users browsing this forum: No registered users and 16 guests