robot256 wrote: Sun Jul 14, 2019 5:41 am
This wasn't a mod causing a crash. It was a feature in the base game that mods happened to utilize, but that somehow caused unintended behavior with vanilla entities in un-modded games. I don't know why or how hard-coding the hitboxes for vanilla rails makes them less buggy than before, but the devs clearly thought that was the best (or only) solution to the problem.
Just simpler; I'm confident it would be possible with infinite time, money, and effort, to make modifiable bounding boxes work correctly, and bug free. The challenge is that simpler systems also make things work correctly, and bug free, and cost a whole lot less of all those things.
robot256 wrote: Sun Jul 14, 2019 5:41 am
It remains to be seen whether they will make accommodation for Cargo Ships, or if many of us will be stuck on 0.17.55 for modded games.
Keep in mind that (as far as I understand it) Cargo Ships isn't exactly "broken", just bruised and battered. More hacks required to make it nice, but unlike the rail bridges deal I don't think this has killed it off. unless the author drops it because it now sucks to write so many hacks, anyway. again, this is my personal understanding, and I don't write the code of the mod, so I don't know with certainty that I'm correct.
Rseding91 wrote: Sat Jul 13, 2019 11:24 am
It occurs with any size changes in rail bounding boxes. And most likely it will not be coming back.
Rsedling91, it'd be kind if you and the team could consider if there was some way to support what I personally see as a common factor between the Cargo Ships mod, and a bunch of other mods: they are train-network-like, but different in some interesting way.
The long version follows, but the executive summary: could we get something that'd allow more flexible train-like networks that (a) are distinct from and don't interact with the "train" network, and (b) allow some degree of greater customization, even if that is in the form of "here is some pathfinding help, have fun"?
Mods that I think of as having "train-like network" behaviours, and interesting trade-offs from just trains, bots, and belts, as concrete examples of my thesis that this is a valuable area to allow modders to add significant replay value:
- Cargo Ships, which are trains except on water.
- Logistic Carts, which are a fusion of "tiny slow" trains and "tiny slow stuck on the ground" logistics robots.
- AAI Programmable Vehicles, the logistics parts, which are trains, except trucks, the way I wanted to use (this part of) the mod. *
- Asphalt Roads, and Place Roads Like Rails, which also point toward a way to get the logistics parts with, uh, trucks.
- Aircraft, the logistics parts, in which the cargo planes are what I wanted: trains only "they can fly." **
* I liked the "dynamic pathfinding" bits too, for off-fixed-track stuff, but mods can already do that, so it isn't needed in scope of this question.
** I actually wanted them to be "build airports, define flight lanes between them, they are trains only flying", but they are not. I was starting to think about what I'd need to do in order to mutate rails to provide the "flight lanes" parts of this myself. Most of the actual vehicle part, other than graphics, is pretty much a basic train-like thing, and that'd give me routing for "Free" too.
Some explanations of why I think these are different, and add replay value and/or fun value to the game for me:
Slow boats, but crossing water, since I love me some islands in my maps by way of that 600 percent water coverage, feels much better than just running trains over what I want to imagine as "oceans"; certainly they are 1/2 to 1 KM stretches of clear deep water at times, so while I could just run rails over them with one of the mods letting them place on water, I'd much prefer the boats.
The difference between a train network for transport and a automobile network: like in the real world the later is better for short distance but small delivery, the former for long distance but bulk transport. By using both - more the Logistics Carts mod, uh, model, no pun intended - I can build a factory that has a very different set of logistics paths than trains and either belts or bots for the last mile.
Flying cargo ... well, fast vs cheap, and similar trade-offs, if you require airports with their significant infrastructure investment, make an interesting choice vs trains in a number of situations, I think. Certainly, I would much more happily commit a cheap to run train full of supplies for a mining outpost when the demand was small ("we need a couple dozen repair kits, and two robots to replace the melted ones") than an aircraft ("just gonna throw down a big ol' airport next to you here"), but on the other hand, small airfields with "Cessna 150" or so plains are ... effective, but not cheap, unless you look at the defense logistics of all that rail just sitting there being all tasty for bugs and all....
My thesis about what the common parts are from a modding API perspective, and questions about what might satisfy those needs:
I think the common element of all that is the desire to have a "separate but equal" network to trains and rails, with different trade-offs. I also think that is the sort of "what if" question that mods are excellent good for asking, and which can add a lot of replay value for a relatively small investment in changes. In the hope I get what I want, even if I have to write it myself:
Would it be possible to allow the declaration of separate
static rail system "types" in the data / prototype phase that have different bounding boxes, statically, and which cannot interoperate at all? (pretty sure the last is the most complex part, TBH, but ... something toward it, anyway?)
If "flexible" bounding boxes were out of the question, would uniform scaling of the rail bounding boxes be possible? With limits (eg: minimum size, max size ranges enforced, or whatever)
Finally, if none of that could be done, would it be possible simply expose some part of pathfinding such that something - ideally without a proxy character / unit - could be told to do pathfinding, but to restrict valid locations to "these tiles / entities", so that we get both pieces we need to do our own version of distinct train networks?
I'm sorry if this is long, and I'm of course happy to create a separate top level request if you prefer.