Speaking as someone who *doesn't* have trunk commit rights (and won't get them), I think 32 is stupid.
The user experience for 32 railtypes (or roadtypes or tramtypes) would be awful.
1. The *type dropdown menu would only just physically fit onto my screen
2. Choosing types would be appalling. How do I make choices between 32 different types? It needs a spreadsheet and a flow chart. It's not a game, it's a tedious economic exercise.
3. Understanding vehicle compatibility between types would be awful.
4. It's p*** poor design by the newgrf author imho. Have some discipline, make choices. It's terrible for the same reason FIRS Extreme is terrible and HEQS is terrible: no proper choices made, just blah blah blah add MOAR .
5. 32 is *not* enough. If newgrf authors can't reduce to 16, they're not going to be capable of reducing to 32.
6. If a newgrf needs all 32, there's no way to combine newgrfs. Kind of anti-social design. Railtype and NRT grfs should contain about 4 or 8 useful types, and let players combine with other grfs to get the game they want.
If the limit is raised, it should be raised to something sensible, like 16k or 65k. That would be much better. But it needs a rewrite of the map array. Not likely.
32 is ridiculous, it's neither small enough to be an interesting constraint, nor is it enough to solve the problem (the problem is poor newgrf design btw).
And this is why I don't get trunk commit rights.
I see your point as a suggestion to newGRF developers to keep things disciplined and not get carried away by rivet counting. But this is not a problem with poorly designed newGRFs: the issue is in OTTD itself, because it bakes the rail (or road) type together with its electrification system. Unless we disentangle these two things, any set supporting multiple rail types and
different electrification systems will have to deal with some kind of combinatory explosion.
You may be surprised to hear me say this
, but I totally agree with you when you say a railtype grf should contain between 4 to 8 useful types of *rail*. The set I'm developing does exactly like that: it has 5 standard gauge types, and 3 narrow gauge types, each differentiated by maximum axle load and maximum speed. That's already more than enough for me.
However, I also have three different electrification systems: DC, AC, and third rail. To make things more complex, DC and third rail can coexist on the same rails: and I'll also have to define slots for "bicurrent" engines (able to run on DC and AC), as well as "amphibious" engines (with pantographs and 3rd rail shoes).
If we could build rails first, and then add the proper electrification system(s), it would be much easier and tidier. But that's not possible in OTTD as it is now. Therefore, we have no choice but repeat the same rail type for each electrification systems it supports.
As I mentioned, I'm keeping things "simple" in my set, so I'd end up using "only" 21 combinations. I could bring this down to 16, but I feel it'd be a limitation that detracts from the playing experience. So I'll recommend players to use a patchpack such as JGR's, and add a parameter to my set that ditches 5 combinations, for people who still want to stick with trunk OTTD.
As for your other objections, as I said, I don't need to get any close to 32. Even 24 or maybe 20 would be enough for me. Just 16 feels a bit tight.
Choosing between types can be intuitive enough, as long as the newGRF author labels things reasonably. And even compatibility among types will be manageable, as long as the newGRF has a robust design. Raising the limit by itself won't create any new issues: solid design is the issue. I just disagree with your statement that "any trackset with more than 16 types is badly designed to begin with". You can do bad designs even with 2 or 3 types
So yeah, I agree with the others here: given the way OTTD works now, 16 types is too few, and asking for 32 is more than legitimate. Sorry, Andy
The French Narrow Gauge Train Set is now released! Get it here