[OTTD] Dutch Tracks Development (0.1.0-Alpha1 released)

Discuss, get help with, or post new graphics for TTDPatch and OpenTTD, using the NewGRF system, here. Graphics for plain TTD also acceptable here.

Moderator: Graphics Moderators

User avatar
jor[D]1
Director
Director
Posts: 611
Joined: 17 Aug 2010 10:36
Location: Netherlands

Re: [OTTD] Dutch Trackset Development Thread

Post by jor[D]1 »

What do you mean with dual current?

If a traxx drives from 1500V DC to a 25kV tiles it won't gives problems?

The yard tiles support both as I read from his list. These are useful at stations where voltage/loco are changed.
I personally like the yard tiles, because they could be very useful. Hope you will also mark those with a *.
View my (train)pictures on Flickr
User avatar
FooBar
Tycoon
Tycoon
Posts: 6553
Joined: 21 May 2007 11:47
Location: The Netherlands
Contact:

Re: [OTTD] Dutch Trackset Development Thread

Post by FooBar »

jor[D]1 wrote:What do you mean with dual current?
Trains that can run on both 25kV AC and 1k5V DC current.

Read back in this (or any of the other Dutch threads), where Eddi explained why it is impossible to have dual current trains without a dual current railtype. Or just take my word for it that it's impossible.

If these dual-current tracks are implemented as yard tiles, then that's fine with me. I was merely making clear that such a track type is mandatory.
User avatar
jor[D]1
Director
Director
Posts: 611
Joined: 17 Aug 2010 10:36
Location: Netherlands

Re: [OTTD] Dutch Trackset Development Thread

Post by jor[D]1 »

So you need universal tiles as a kind of transition pieces, between 1500V and 25kV?

Not sure but, why wouldn't it be impossible to drive directly from 1500V to 25kV tracks, I can't get that out of eddi's post.

Can't you say at the railtypelable (or whatever it is called) for the loco; It drives 1500V, universal and 25kv.

Universal (Yard) is nice for a station where both DC and AC lines use the same platforms/
View my (train)pictures on Flickr
User avatar
FooBar
Tycoon
Tycoon
Posts: 6553
Joined: 21 May 2007 11:47
Location: The Netherlands
Contact:

Re: [OTTD] Dutch Trackset Development Thread

Post by FooBar »

No, you need it to be able to define vehicles as dual-current. Otherwise a vehicle is either 1k5 or 25k and then they can never drive on the other type.
Transportman
Tycoon
Tycoon
Posts: 2781
Joined: 22 Feb 2011 18:34

Re: [OTTD] Dutch Trackset Development Thread

Post by Transportman »

jor[D]1 wrote:What do you mean with dual current?

If a traxx drives from 1500V DC to a 25kV tiles it won't gives problems?

The yard tiles support both as I read from his list. These are useful at stations where voltage/loco are changed.
I personally like the yard tiles, because they could be very useful. Hope you will also mark those with a *.
Since an universal type is needed, I will include at least one of the two. I personally have a preference for the high speed one, since the Dutch Trainset has some futuristic engines with a top speed > 300 km/h. In my list those trains would be limited to 300 km/h (HSL track speed). But since I meant that track to be futuristic, I don't want it introduced when the first dual current trains are introduced, but it becomes available at the same moment if I am correct about the OpenTTD mechanics wrt track/engine availability. So then an universal yard railtype can solve that (and trainsets of course need to set the yard railtype for universal instead of the futuristic high speed one).

As for why there is an universal tracktype needed:
Trains can only have 1 track type set on which they run. In the trackset each track has 2 properties that are of interest in this discussion, namely compatible_railtype_list and powered_railtype_list. For example (so no real labels or something like that), for a track YARD I can fill in "15DC" and "25AC" for both, then an engine is dual powered if it has as track type YARD. For both "15DC" and "25AC" I would fill in YARD in both lists and the other voltage only in the compatible railtype list ("15DC" can drive perfectly fine on "25AC" when it is pushed, but it will not get power from the catenary), so then a train with track type set to "15DC" would run on "15DC" and YARD, but can only go on "25AC" when there is a second engine that has power on that track.

Three things I want some opinions/advise on:
I am not sure about including Metro also in the universal track type(s), because Metro is really a separate system in the Netherlands.

Also, I plan to include a parameter that allows users to disable the whole voltage stuff and fill compatible and powered railtype lists with all those tracktypes. Combined with the already included parameter to disable speed limits, it will be possible to just have the set act like a graphical set (tracks will still have some different properties, otherwise the list of parameters will get very long).

Last one is a bit more technical, to also keep other train sets compatible, I need to provide rails with the labels RAIL and ELRL. RAIL is not that difficult, because all RAIL engines can drive perfectly fine over other tracks, I just need to set the lists mentioned earlier correctly. For ELRL I have more options, I can give one of the other tracks that label. Or is there some way to disable that default electric track and set the alternative_railtype_list property for an universal track? If that is not possible, I most likely give an universal track the label ELRL, to keep all train sets working when playing with this track set.
Coder of the Dutch Trackset | Development support for the Dutch Trainset | Coder of the 2cc TrainsInNML
User avatar
jor[D]1
Director
Director
Posts: 611
Joined: 17 Aug 2010 10:36
Location: Netherlands

Re: [OTTD] Dutch Trackset Development Thread

Post by jor[D]1 »

1500V DC would be fine for other sets I guess?
View my (train)pictures on Flickr
Eddi
Tycoon
Tycoon
Posts: 8272
Joined: 17 Jan 2007 00:14

Re: [OTTD] Dutch Trackset Development Thread

Post by Eddi »

for completeness: here is the old ToE thread with a similar issue: http://www.tt-forums.net/viewtopic.php?f=68&t=53950 and http://www.tt-forums.net/viewtopic.php?f=26&t=54059

possibly should reuse those labels there.
Transportman
Tycoon
Tycoon
Posts: 2781
Joined: 22 Feb 2011 18:34

Re: [OTTD] Dutch Trackset Development Thread

Post by Transportman »

jor[D]1 wrote:1500V DC would be fine for other sets I guess?
I don't want to limit trains to only non electrified and 1500V DC, which both will have a speed limit of ~160 km/h. If I set the label for an universal track to ELRL, trains that don't have been made for this set can use all tracks, which is a better solution than only 2 tracks in my opinion. Then this set will act more or less as a graphical set.
Eddi wrote:for completeness: here is the old ToE thread with a similar issue: http://www.tt-forums.net/viewtopic.php?f=68&t=53950 and http://www.tt-forums.net/viewtopic.php?f=26&t=54059

possibly should reuse those labels there.
I have taken a look to it, but I'm not sure I will follow that labels, because in my list there is both medium speed and high speed 25 kV AC (but medium speed AC is not certain yet). As long as I have 1 track for each current things will go fine, but as soon as I have different tracks with the same current I get trouble with that list.

It still needs some thoughts, but I have the following labelling system in my mind:
2 letters for speed and 2 letters for the current. So high speed AC would become "HSAC", medium speed DC "MSDC", the futuristic universal track without speed limits "UNUN", or something along those lines. Maybe I strip the S and C out of it to get 2 free spaces for other information, although I have no idea what that should be...
Coder of the Dutch Trackset | Development support for the Dutch Trainset | Coder of the 2cc TrainsInNML
User avatar
FooBar
Tycoon
Tycoon
Posts: 6553
Joined: 21 May 2007 11:47
Location: The Netherlands
Contact:

Re: [OTTD] Dutch Trackset Development Thread

Post by FooBar »

You can for instance put speed, current, voltage and type of electrification in the labels.
I haven't put any thought in this before, this is just what comes to mind.

Looking at the existing list of railtype labels, I'd consider something like this:
- first position: electrification. E=electrified, R=regular
- second position: speed. L=low, M=medium, H=high, U=unlimited
- third position: current. D=direct current, A=alternating current
- fourth position: voltage. D=1500V ("Dutch"), E=25kV ("European")

But one could also replace the latter with for instance axle weight or type of train protection system, which may make more sense, as current and voltage can easily be encoded in one single position. Personally I'd go with axle weight then, as ATP is just not feasible in the current railtype scheme (too many different combinations, which would require a unique railtype each).

For metro I would go with 3RDR or alternatively MTRO. No need to invent our own label here.

EDIT: but I certainly would not use two positions for a single information, that's just a waste of space, then use some sort of filler.
User avatar
Purno
Tycoon
Tycoon
Posts: 16659
Joined: 30 Mar 2004 12:30
Location: Almere, The Netherlands

Re: [OTTD] Dutch Trackset Development Thread

Post by Purno »

Will it be possible for players to play with a very simplified version of this trackset?
FooBar wrote:For metro I would go with 3RDR or alternatively MTRO. No need to invent our own label here.
MTRO makes more sense to me, but I've already explained that in another Dutch topic :P
Contributor to the The 2cc Set and Dutch Trainset. Inventor of the Metro concept. Retired Graphics Artist.
Image Image
Download TT | Latest TTDPatch | OpenTTD | OpenTTDCoop | BaNaNaS: OpenTTD content system | 2048² OTTD scenario of the Netherlands
GRF Codec | GRF Crawler | GRF Maker | Usefull graphics & tools sites | NML Documentation Wiki | NFO Documentation Wiki
All my graphics are licensed under GPL. "Always remember you're unique, just like everyone else."
User avatar
FooBar
Tycoon
Tycoon
Posts: 6553
Joined: 21 May 2007 11:47
Location: The Netherlands
Contact:

Re: [OTTD] Dutch Trackset Development Thread

Post by FooBar »

Don't be put off by the label discussion. Axle weight limits won't be in this set, but it won't hurt reserving a space for it in the label scheme, just in case.

I think that this set will turn out to be as simple as possible. Just one step simpler and you have the default tracks. In essence the only feature this set adds is the HSL. Plus one additional type because we're otherwise not able to have trains that run on both HSL and normal tracks. So I wouln't worry too much about it, this set will turn out just fine.

And in the unlikely event that this will turn out too difficult, I'll personally make sure to fork it and create a simple variant, as I'm not into these very complicated track sets myself either :lol:
Transportman
Tycoon
Tycoon
Posts: 2781
Joined: 22 Feb 2011 18:34

Re: [OTTD] Dutch Trackset Development Thread

Post by Transportman »

FooBar wrote:You can for instance put speed, current, voltage and type of electrification in the labels.
I haven't put any thought in this before, this is just what comes to mind.

Looking at the existing list of railtype labels, I'd consider something like this:
- first position: electrification. E=electrified, R=regular
- second position: speed. L=low, M=medium, H=high, U=unlimited
- third position: current. D=direct current, A=alternating current
- fourth position: voltage. D=1500V ("Dutch"), E=25kV ("European")

But one could also replace the latter with for instance axle weight or type of train protection system, which may make more sense, as current and voltage can easily be encoded in one single position. Personally I'd go with axle weight then, as ATP is just not feasible in the current railtype scheme (too many different combinations, which would require a unique railtype each).

For metro I would go with 3RDR or alternatively MTRO. No need to invent our own label here.

EDIT: but I certainly would not use two positions for a single information, that's just a waste of space, then use some sort of filler.
I could even lump up electrification, current and voltage into 1 letter. N is no electrification, D is 1500V DC, A is 25kV AC (more we don't have in the Netherlands), one position for the speed, gives 2 free positions, like I indicated in my previous post already. Of course, metro will get 3RDR or MTRO, not really figured out that one, but MTRO is always good, with maybe a fallback to 3RDR. At least 2 labels are fixed, as mentioned in my previous post, and that is for regular rail RAIL and for Yard/station ELRL, to also allow other train sets to be used with this set even when not programmed to.
Purno wrote:Will it be possible for players to play with a very simplified version of this trackset?
If I go to complicated, just drop a message here (or on the Devzone). There is already a parameter to disable the speedlimits on tracks and it is very likely that I will also include a parameter to make all tracks compatible+powered with each other (of course electrification will still matter). If you use both, you basically have just a track set that introduces a number of tracks with slightly different properties that you hardly will notice ingame (maybe costs and the fact that you can't build level crossings for all tracks are noticed).
FooBar wrote:And in the unlikely event that this will turn out too difficult, I'll personally make sure to fork it and create a simple variant, as I'm not into these very complicated track sets myself either :lol:
I think that won't be necessary, as I also want to keep it simple.

I just posted a track compatibility matrix on the DevZone. I would like to get some feedback on that, especially the Metro, because I am not sure how I want to do that one.
Coder of the Dutch Trackset | Development support for the Dutch Trainset | Coder of the 2cc TrainsInNML
Michi_cc
OpenTTD Developer
OpenTTD Developer
Posts: 619
Joined: 14 Jun 2004 23:27
Location: Berlin, Germany
Contact:

Re: [OTTD] Dutch Trackset Development Thread

Post by Michi_cc »

FooBar wrote:Don't be put off by the label discussion. Axle weight limits won't be in this set, but it won't hurt reserving a space for it in the label scheme, just in case.
Better look at http://dev.openttdcoop.org/issues/3615 (especially comment #4), we already have a scheme with axle weight, speed (grade, not exact value) and traction type. Don't be put off by the seemingly large number of types, a track set should map most of them to a few types using the alternate label list.

-- Michael Lutz
Eddi
Tycoon
Tycoon
Posts: 8272
Joined: 17 Jan 2007 00:14

Re: [OTTD] Dutch Trackset Development Thread

Post by Eddi »

in case of reusing this scheme, then the voltage should probably be encoded into the traction type

(if you don't find a sensible letter, you could also use a hex value like 0xA2 for AC 25kV. but that should really be a last resort measure)

i kinda like the idea of using the generic "ELRL" type for the universal type. (this railtype should still get an own label in the schema, but have "ELRL" as an alternate label, to map all "unsupported" sets to this type)
Michi_cc
OpenTTD Developer
OpenTTD Developer
Posts: 619
Joined: 14 Jun 2004 23:27
Location: Berlin, Germany
Contact:

Re: [OTTD] Dutch Trackset Development Thread

Post by Michi_cc »

Eddi wrote:(this railtype should still get an own label in the schema, but have "ELRL" as an alternate label, to map all "unsupported" sets to this type)
This wouldn't work as it is not possible to undefine a label, and real labels always take precedence over alternate labels.

-- Michael Lutz
Transportman
Tycoon
Tycoon
Posts: 2781
Joined: 22 Feb 2011 18:34

Re: [OTTD] Dutch Trackset Development Thread

Post by Transportman »

Eddi wrote:in case of reusing this scheme, then the voltage should probably be encoded into the traction type

(if you don't find a sensible letter, you could also use a hex value like 0xA2 for AC 25kV. but that should really be a last resort measure)
That is comment 9 of that issue, it has some additional letters for Electrification and voltage.
i kinda like the idea of using the generic "ELRL" type for the universal type. (this railtype should still get an own label in the schema, but have "ELRL" as an alternate label, to map all "unsupported" sets to this type)
As Michi_cc indicated, I have to give it the label "ELRL", since that is always a real label. Other tracksets also do it to get compatibility (for example, NuTracks uses "RAIL" and "ELRL" for the very low speed tracks).
Michi_cc wrote:
FooBar wrote:Don't be put off by the label discussion. Axle weight limits won't be in this set, but it won't hurt reserving a space for it in the label scheme, just in case.
Better look at http://dev.openttdcoop.org/issues/3615 (especially comment #4), we already have a scheme with axle weight, speed (grade, not exact value) and traction type. Don't be put off by the seemingly large number of types, a track set should map most of them to a few types using the alternate label list.

-- Michael Lutz
According to that scheme I would get the following list of labels:
Yard rail (Low speed Universal): ELRL
Unelectrified* (Medium speed NO Cat): RAIL
Classical lines* (Medium speed DC): SA*d
Betuwetoute (Medium Speed AC): SA*A
HSL* (High Speed AC): SB*A
Metro*: SA*3
Futuristic high speed line (No speed limit Universal): SA*E
* in the label means that all can be used (since I don't look at axle weight for this set, I fill in one letter and provide all others as alternate label.

Is this a correct list or am I interpreting it wrong? And what when I want to introduce a low speed AC for example? Just fill in a C on the second position instead of A and B?
Coder of the Dutch Trackset | Development support for the Dutch Trainset | Coder of the 2cc TrainsInNML
User avatar
FooBar
Tycoon
Tycoon
Posts: 6553
Joined: 21 May 2007 11:47
Location: The Netherlands
Contact:

Re: [OTTD] Dutch Trackset Development Thread

Post by FooBar »

I kinda miss an explanation of what all letters mean in the discussion on the devzone.

But from what I gather: I'd use the highest possible value for axle weight on the place of the *, and map all lower axle limit labels to it via the alternative railtype label list.

Furthermore I gather that A in speed means "low speed limit for this axle weight" and B means "high speed limit for this axle weight". As such a C would mean "even higher speed limit". Following the lowercase a for very low axle limit, I'd say that an "even lower speed limit" would also get a lowercase a.

Either way, I'm highly in favour of adopting this label scheme for this set. I guess we should try to make this scheme sort of official with a dedicated wiki page, as several sets seem to use it or plan to use it.
Michi_cc
OpenTTD Developer
OpenTTD Developer
Posts: 619
Joined: 14 Jun 2004 23:27
Location: Berlin, Germany
Contact:

Re: [OTTD] Dutch Trackset Development Thread

Post by Michi_cc »

FooBar wrote:I kinda miss an explanation of what all letters mean in the discussion on the devzone.
Some of that is in the linked forum thread. But let's see what we can summarize here, feel free to make a nice wiki page out of the different posts.

The general idea behind this scheme was to bring some order into the somewhat uncontrolled label growth by grouping the rail types into what matters from a technical perspective. This encompasses gauge and traction type (e.g. normal rail, monorail etc.), energy source and strength. Speed is actually the odd man out here, as in reality it is mostly defined by the track layout and not by what kind of steel you put on the ground.


As described on the devzone, first letter of the label is the gauge/traction type. Most important here are "S" (standard gauge), "B" (broad gauge), "N" (narrow gauge), with some more variations for e.g. the different kinds of narrow gauge or dual gauge tracks. A track set that e.g. only provides for standard gauge would not implement any alternates for any other gauge type. Always use the generic letter first, so if you want any kind of narrow gauge, use "N", and only additionally use "n" (or whatever else) if you have two different narrow gauges (this makes sure that a vehicle that doesn't care about the exact types will still be available, so put the most common gauge on "N").
If you're nice, you'll provide less than 16 types, so a player could load an additional set for another traction type if wanted.

Let's skip to the forth letter for a moment. It is used for the energy source and the major categories are "N" (no electrification), "E" (overhead catenary), "3" (3rd rail, the London tube might get a "4" here for it's 4-rail system). If there's a need for more detail, those types can be split into sub-types, e.g. "D" for DC (and "d" for low voltage DC) and "A" for AC (and "a" for low voltage AC). If you use subtypes, map the generic type with alternate labels to one of the specific types. As with the gauge, only use the subsub-type if you also have the sub-type (i.e. "d" only together with "D").
As it would be unmanageable to specify fallbacks for any possible kind of energy source, a vehicle GRF that wants to use a specialised subtype (e.g. maybe "T" for three-phase overhead catenary) should either have a fallback railtype table with the generic energy letters or accept that the vehicle is not available without a matching track set.
FooBar wrote:But from what I gather: I'd use the highest possible value for axle weight on the place of the *, and map all lower axle limit labels to it via the alternative railtype label list.
Now we get to the third letter, the axle weight. In the real world, axle weight is a very important property, because it has a big influence on costs. The chosen letters are basically the German weight classes and the weights given there can be used as a rough guideline, but there's no fixed value associated with each class. It's just low, medium, high, etc. A track set will likely not provide different rail types for each and every axle weight, but will map the weights to some basic track types (e.g. "a" and "A" to "low axle weight tracks", "B" to medium weight and "C", "D", "E" to high weight) using alternates. A vehicle set can assume all weights are somehow defined.

Which letter to use for the real railtype if you don't want different axle weights doesn't really matter, but highest and lowest would be obvious choices. Maybe you do have a use for different axle weights though. I don't know the details of the HSL, but for example the LGV tracks in France actually only support a low axle weight which is the reason you don't see heavy freight on them. If that also applies to Dutch railways, you could use it to curb those "realistic" 300 km/h coal trains :)

If you can, set axle weights for the Dutch train set for better gameplay with other track sets.
FooBar wrote:Following the lowercase a for very low axle limit, I'd say that an "even lower speed limit" would also get a lowercase a.
So, second and final letter, speed class. Speed class is basically a track GRF thing and not a vehicle GRF thing. As vehicles normally do not have a minimum speed (stopping would be quite difficult :) ) they should always be defined for the "A" speed, which also means no alternates needed for other speed grades. For each track type, "A", "B", etc define an internal speed order, but they do not imply any fixed values. The high speed grade of one track type could still be slower than the low speed grade of another type.

If you e.g. would want to have a low speed unelectrified track, a medium speed DC and a high speed AC track, all three would get the speed letter "A". You only need a different letter if you want different speeds where all other properties are identical. But if you really do need three speed grades for the same track type, using "ABC" is probably better than "aAB". The speed letter can also be used for eye-candy stuff, e.g. the rack rail in the French NG set, as it doesn't change vehicle behaviour.
Transportman wrote: According to that scheme I would get the following list of labels:
Yard rail (Low speed Universal): ELRL
Unelectrified* (Medium speed NO Cat): RAIL
Classical lines* (Medium speed DC): SA*d
Betuwetoute (Medium Speed AC): SA*A
HSL* (High Speed AC): SB*A
Metro*: SA*3
Futuristic high speed line (No speed limit Universal): SA*E
* in the label means that all can be used (since I don't look at axle weight for this set, I fill in one letter and provide all others as alternate label.
Almost :) If you have only one kind of DC, use "D" and not "d". Using "E" for universal would be alright, just be aware that it would mean that vehicles from other GRFs that make no distinction between AC/DC are automatically universal engines. If that's okay, you're good.

Should you decide to use my example about the axle weights for the HSL track, you'd define all axle weights for the SA*A type, but only some for SB*A.

-- Michael Lutz
User avatar
FooBar
Tycoon
Tycoon
Posts: 6553
Joined: 21 May 2007 11:47
Location: The Netherlands
Contact:

Re: [OTTD] Dutch Trackset Development Thread

Post by FooBar »

Many thanks for this comprehensive explanation! I'm not able to put it in a wiki at the moment (as I'm trying to release a Dutch Trainset at the moment :P), but I'll do so when the release it out of the way (and nobody wikified it first).
Eddi
Tycoon
Tycoon
Posts: 8272
Joined: 17 Jan 2007 00:14

Re: [OTTD] Dutch Trackset Development Thread

Post by Eddi »

if you make a wiki page, you should make it easy to distinguish which information is relevant for track set authors, and which is relevant for vehicle set authors
Post Reply

Return to “Graphics Development”

Who is online

Users browsing this forum: No registered users and 75 guests