FIRS how to enable different production levels of primaries?

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

Moderator: OpenTTD Developers

Post Reply
MarkShot
Engineer
Engineer
Posts: 118
Joined: 27 Mar 2019 11:30

FIRS how to enable different production levels of primaries?

Post by MarkShot » 03 May 2019 19:42

So, I must deliver 80 crates of engineering supplies to the wells for gung-ho production. That's not hard. That's 4 goods cars.

I must deliver every 3 months. This is the part I don't know how to do. How to deliver not too frequent and not too delayed?

Thanks.

User avatar
jfs
Director
Director
Posts: 536
Joined: 08 Jan 2003 23:09
Location: Denmark

Re: FIRS how to enable different production levels of primaries?

Post by jfs » 03 May 2019 20:13

If you have a sufficient supply of supplies (heh), you could set up your trucks on a timetable so they deliver with reasonable intervals.

MarkShot
Engineer
Engineer
Posts: 118
Joined: 27 Mar 2019 11:30

Re: FIRS how to enable different production levels of primaries?

Post by MarkShot » 03 May 2019 20:20

jfs wrote:If you have a sufficient supply of supplies (heh), you could set up your trucks on a timetable so they deliver with reasonable intervals.
So, let the supplies accumulate at the plant or at staging points, and then truck from there using timetable deliver?

In OTTD-JGR, how do I program the trucks to deliver 5X/year?

Thanks.

MarkShot
Engineer
Engineer
Posts: 118
Joined: 27 Mar 2019 11:30

Re: FIRS how to enable different production levels of primaries?

Post by MarkShot » 03 May 2019 20:36

I set a simple time table for my trains which might do it.

But they are sitting at the Station for 2.5 months. I would rather they sit on a siding. If I make the siding (waypoint), the first ordered destination, then will be able to keep my station clear?

Thanks.

MarkShot
Engineer
Engineer
Posts: 118
Joined: 27 Mar 2019 11:30

Re: FIRS how to enable different production levels of primaries?

Post by MarkShot » 03 May 2019 21:32

I am working with one train. I just cannot get to depart each year on the dates I set for it.

How can I make a single train depart 5 times/years on or around fixed dates?

That's really all I need to make my quota. The train can site on a siding until the date fires.

Thanks.

User avatar
andythenorth
Tycoon
Tycoon
Posts: 4923
Joined: 31 Mar 2007 14:23
Location: Lost in Music

Re: FIRS how to enable different production levels of primaries?

Post by andythenorth » 03 May 2019 22:22

Generally you can just dump in 40t or so every month, and it sums to 80t over 3 months, with a bit of headroom for delays.

There are usually enough supplies available on the map, except sometimes at game start.

For distances, planes win at supplies. OGFX+ Airports contains some nice grass landing strips.

Alberth
OpenTTD Developer
OpenTTD Developer
Posts: 4730
Joined: 09 Sep 2007 05:03
Location: home

Re: FIRS how to enable different production levels of primaries?

Post by Alberth » 04 May 2019 05:13

MarkShot wrote:I set a simple time table for my trains which might do it.

But they are sitting at the Station for 2.5 months. I would rather they sit on a siding. If I make the siding (waypoint), the first ordered destination, then will be able to keep my station clear?

Thanks.
Make a new station somewhere, where they wait.

I often piggy-back a supplies wagon onto a few of the regular trains that visit the industry, which gives a steady supply as well. Another option is just stop caring about the minimum requirement, and set up a train that visits often enough.
Being a OpenTTD developer does not mean I know what I am doing.
Also, other OpenTTD developers may have different opinions.

User avatar
jfs
Director
Director
Posts: 536
Joined: 08 Jan 2003 23:09
Location: Denmark

Re: FIRS how to enable different production levels of primaries?

Post by jfs » 04 May 2019 05:49

Yes there is definitely no downside to delivering more supplies than the demand, apart from the higher cost in vehicle amount, and taking more from the supplies production side. The goal is not to hit 80 exactly, the goal is to hit at least 80 delivered every 90 days. By far the easiest is to spam it with "this must surely be enough" supplies.

MarkShot
Engineer
Engineer
Posts: 118
Joined: 27 Mar 2019 11:30

Re: FIRS how to enable different production levels of primaries?

Post by MarkShot » 04 May 2019 07:09

I did figure out how to make a train linger at a siding via waypoint with a wait time in the time table.

But even with a 75 or 80 day lag to the delivery as reported by the time table (and it was a single train running on this loop). The game's definition of "3 months" just didn't seem to match my intuitive definition of 90 days. Perhaps the game counts 3 months from the first of whatever month it is in. Thus, effectively if you unload on the last day of a month, your window for next delivery could be 60 days and not 90 days.

I was NOT trying to run the rails like a clock, but I have a number of oil well sites feeding into one mega refinery. It does not seem that secondary industries have any cap on their industrial output. Like many of the RT games, they process materials as fast as it arrives. So, I was looking to have a single ammonia plant feed many sites. Thus, I was looking to an alternative to spamming so that I could get the most bang for my buck.

I think the siding/waypoint/time table technique will prove useful even when spamming to avoid boom/bust behavior at the destination.

---

You know I have RT1(D)/RT2/RT3, and I watched many reviews of Transport Fever and Mashinky yesterday. But except for graphics, they didn't seem to have half the sophistication in game play that is OTTD-JGR+FIRS.

What this game would be if like Mashinky, you could pop out of the isometric perspective and set foot on Planet 3D! :)

User avatar
andythenorth
Tycoon
Tycoon
Posts: 4923
Joined: 31 Mar 2007 14:23
Location: Lost in Music

Re: FIRS how to enable different production levels of primaries?

Post by andythenorth » 04 May 2019 07:39

MarkShot wrote:But even with a 75 or 80 day lag to the delivery as reported by the time table (and it was a single train running on this loop). The game's definition of "3 months" just didn't seem to match my intuitive definition of 90 days.
It might be using calendar months. I started reading my code to establish the facts, but I got bored and don't have my glasses on :D

Supplies were originally added to try and 'encourage' (i.e. force / incentivise) the use of road vehicles, small ships and helicopters. Forcing players to do anything in OpenTTD tends to be a flawed concept though :)

Over time supplies have evolved a bit, their main facets now are:

* they do encourage one-to-many distribution networks (but noting that cargodist does not work well this)
* steady flow of 30t-90t amounts will keep production reliably high

Supplies also have a really interesting failure case. Sometimes a dense network can be built, where the output from primaries loops back as supplies for those primaries. This often involves a very high volume of trains etc, and can work great as long as nothing goes wrong (like a train that gets lost and blocks a key junction).

If such a dense network does block for anything, supply deliveries drop, then primary production drops off a cliff, and flow rapidly stops for the *entire* network, with trains backed up on all the mainlines and branches. It's very rapid cascading failure, and is quite interesting to see. It can be avoided by different train network design, and/or by making sure the linkgraph for a specific supplies network is always a DAG :D

I digress probably ;)

MarkShot
Engineer
Engineer
Posts: 118
Joined: 27 Mar 2019 11:30

Re: FIRS how to enable different production levels of primaries?

Post by MarkShot » 04 May 2019 07:51

Cascading failures ...

Programmer speak ...

I once almost saw a company go out of business for a single byte error in multi-threaded code. :)

Despite my age, the error I found had been lurking there since my days of high school waiting for me. How, then did it persist unknown for so long? I was on a software migration/port project. Such projects often bring out unfound bugs like turning the gas on for the oven and roaches scurrying in a slum apartment.

Alberth
OpenTTD Developer
OpenTTD Developer
Posts: 4730
Joined: 09 Sep 2007 05:03
Location: home

Re: FIRS how to enable different production levels of primaries?

Post by Alberth » 04 May 2019 08:05

Not sure it's an actual bug. 90 days and 3 months are not the same thing (even while ignoring the fact that lots of months aren't 30 days).
At some point you have to convert to an integer number, which always has rounding issues, so it may be off by nearly 1 at times.

(eg you have to fill working hours into a form, and you worked for 15 minutes. Is that 0 hours or 1 hours that you worked?)

Off by one if you count days is very different from off by one if you count months.
Being a OpenTTD developer does not mean I know what I am doing.
Also, other OpenTTD developers may have different opinions.

MarkShot
Engineer
Engineer
Posts: 118
Joined: 27 Mar 2019 11:30

Re: FIRS how to enable different production levels of primaries?

Post by MarkShot » 04 May 2019 08:11

Oh, I would not say bug.

Just a matter of knowing how things are defined. English is inherently vague, and add to that short or missing tooltips and you have an easy way to screw up.

I am in a non-competitive, non-script game. I already have $1B USD, but I am going to 2050. Mainly, because I am learning with each new year.

MarkShot
Engineer
Engineer
Posts: 118
Joined: 27 Mar 2019 11:30

Re: FIRS how to enable different production levels of primaries?

Post by MarkShot » 04 May 2019 08:47

I found what I am looking for with OTTD-JGR.

* Small train with just enough cargo for "gung ho".

* Sufficient multiple trains.

* Time tabled with AUTOMATE and SEPARATE.

* I think this is the safest/efficient/ergonomic solution I can come up with.

Post Reply

Return to “General OpenTTD”

Who is online

Users browsing this forum: No registered users and 7 guests