News:

Use the "Forum Search"
It may help you to find anything in the forum ;).

Vehicle's range

Started by Zeno, September 18, 2011, 06:33:50 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Zeno

There's a feature not present in simutrans but which I have been always thinking about, which is vehicles' range. This would mostly apply to airplanes, which IRL they have indeed a maximum range (basically max distance without refueling). I've wondered again and again how this could be implemented in simutrans, but never got to a proposal :(

The first idea I had is to make a new vehicle value for range, which would limit maximum manhattan distance between stops. This could be easily cheated by adding waypoints though. Anyway it could do the job, I think.
Another idea I had is to make different kind of airport runways/stops, one for international and another for regional, but again it would be needed a restriction on vehicles in order to decide which of them would be able to use one and which the other (international should be much more expensive to maintain, of course!).

What are your thoughts about this? Would this be really worthy? Could it be possible to extend it to buses (city buses vs line buses)?

Václav

Zeno, thanks for this topic - but you are not the first. I wanted to open this topic in extensions board - but you was faster. Of course, that it is mostly expected for airplanes - but also for trucks and diesel trains it is acceptable.

But else, this is a little complexive issue - more suitable for Experimental, first - and also, this would lead to making more levels of difficulty of game - similar to TG (cited in topic Design more).

So game would have following three modes (without regard of using of timeline):
1. beginner
2. standard
3. nightmare

Chybami se člověk učí - ale někteří lidé jsou nepoučitelní

sdog

#2
QuoteAnother idea I had is to make different kind of airport runways/stops, one for international and another for regional, but again it would be needed a restriction on vehicles in order to decide which of them would be able to use one and which the other (international should be much more expensive to maintain, of course!).

Maximum weight for airport ways could take care of this, the introduction of weights was already considered by prissi a little while ago. It just seems to be a bit down the pipeline.

Quote
The first idea I had is to make a new vehicle value for range, which would limit maximum manhattan distance between stops. This could be easily cheated by adding waypoints though. Anyway it could do the job, I think.

If doing the range suggestion indeed i'd suggest to go a step further and require refuel, rewater, resand station extensions to do so. I agree with Vaclav, this might perhaps best be tested in experimental.

The main open question though is, what happens if a vehicle does run out of fuel? Do we just limit the maximum range to the next airport? I expect quite a lot of difficulties with "route not found" messages. In other words, the route finde would need an addition allowing it to return more meaningful error messages. Implementing this was requested before but was turned down (forgot why though)

Or actually run down a counter and let it run at a a crawl until next tank stop? Havoc in complex networks.

To prevent players building refueling at every stop, some time constraints (as in james' reverseing time) would be required.

prissi

The rate thing is very difficult, as it may lead to more unexpected "no route" (which is why I was so hesitant to include the weight in the pakset. Although the recent discussion of weight categories was quite a good stimulus.)

Zeno

#4
Thanks sdog and vaclav for your comments. The key is I wanted to avoid complexity, and that's why I made those two proposals, which are quite simple concepts (dunno about implementation). That's why I opened this thread, just because I'd like to see it in standard ST.

@prissi: I agree with that unexpected "no route" messages, it's the big problem of both implementations. Thanks for the point of "weight categories"; never heard of them, so I'll try some searching for it...

Edit: Just an idea, what about halving speed when out of range instead of the "no route" messages? Would it be very CPU-consuming? It would be like a penalty instead of a prohibition...


Zeno

Thanks a lot, sdog. It looks like a simple way for a simple problem: smaller vehicles, smaller stations (and cheaper); bigger vehicles, big and expensive stations. Makes sense and does the job, at least at early games (when one can't afford very expensive infrastructure).

jamespetts

I have considered adding range to Experimental, but rejected the idea on the basis that it would likely be too fiddly for players (as it is not at all easy to work out the distance between different points on the map, and doing this for a series of stops would require a great deal of mechanical computation by the players, which would not be fun at all). The problem of inherent complexity is different to the problem of the GUI, the latter of which is, and the former of which is not, solvable. The best way of dealing with no route issues with a range feature (and, in fact, generally) would be to check the route when the schedule is first created and not let a stop be added to a schedule if there is no route between it and its previous stop; or, in the case of vehicle specific restrictions, display the distance and minimum weight limit in the schedule window for each pair of stops and do not allow convoys to be assigned to that schedule that do not meet the range/weight requirements. This would need a fair bit of tinkering with the schedule/route searching code, however.

As to better error messages for "no route" errors: this is possible, but only up to a point. It is possible where the reason for not routing is a specific limit, such as a weight or range limit, or a way constraint, for example, but not when there is simply no route at all between the origin and destination, as the computer has no sensible way of telling where the route should be. The computer cannot, for example (at least, not without enormously elaborate code that would take a great deal of processing power and memory) work out which tiles are missing from a path.

As to the implementation of a range feature, if it were done, it could be done by preventing convoys from embarking on a journey of more than x tiles between stops where x is the range of the lowest range vehicle in the convoy (0 being an infinite range). Simply stopping should probably suffice, as I rather suspect that adding specific refuelling facilities, etc., would be rather too fiddly.

The range feature could usefully be used, not just for aircraft, but for trains, for example, to distinguish between tank and tender steam locomotives, where coal/water storage was a real issue as to range.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Leva

I tought there was already vehicle ranges.
I'm using the pak.german-exp with the simutrans-experimental 9.12.
When I tried to create a shipline from other side of the map to the opposite side of the map, it said "no route" and any ship didn't move. I added few harbours on the ships way and now they finally started move.

I tought that ships must stop to refuel, but not sure anymore  ???

Zeno

Yes, you're absolutely right james, but you go too far for me. I never get a try (even) to exp because standard is already rather complex for me, not to mention adding all this stuff to control range.

KISS and non-GUI need is why I really think that reducing speed to (e.g.) 25% for vehicles over their range would be a good workaround here:
1) It would penalize short-range vehicles going too far enough to force the player to use longer range vehicles
2) It won't invoke any "no route" messages, nor stop anything from working
3) Player could easily detect wrong stuff by looking at the vehicle's revenue (even a message could be written, similar to the speed records)

That wouldn't prevent from using long range vehicles for short range routes, and that could be fixed with other implementation such as weight categories (idea which I liked a lot indeed).

Václav

Using this (understand range) would accelerate electrification of railways - because electric engines (it means locomotives and EMUs) have not range - or am I wrong?

And to avoid no route for aircraft and also ships would be needed special mechanism that would count if distance of stations on chosen line are within range. And then choosing line before buying of vehicle should be in duty - because currently vehicles are bought at first - and line is chosen and set additionaly. So if vehicle would not have sufficient range, then it would not be displayed in any depot.

Chybami se člověk učí - ale někteří lidé jsou nepoučitelní

sdog

Vaclav, i think range can be neglected for diesel locomotives and perhaps road vehicles too. It is quite relevant for planes, but also as james wrote for steam engines.

Zeno,
reducing the speed considerably without an extra warning can be subtly dangerous. That's perhaps even worse than obviously going wrong. When you think of planes it is quite obvious when the revenue goes down. However with trains a single overstretched loco can bring a whole network to a slow grind. If it is not obvious where this originates from: good look finding the culprit!

ӔO

In real life, the limitations of electrification are related to electrical transformers/substations, power plants and how often they can be placed along the route.
Typically it costs more to run DC electrification because the efficiency loss over long distance is greater than AC and you need more substations as a result. There's also total amount of vehicles consuming power on a single sector to factor in. It's usually no problem to run 2 trains side by side in one spot, but the electrical substation might get overloaded if 4 happened to go across at the same time. But otherwise, there's no limit to traveling distance for electrical vehicles running off of an external power source.


Other thoughts...
It's also possible to get more range by going slower. One method for cargo ships to save on fuel costs is by going slower, which is also done by quite a lot of rail companies. I think I've read an article that mentions going 5? 10? knots slower saves 30% more fuel.

One reason why north american freight trains go so slow, other than the fact that the rail isn't up to the task, is to save money on fuel.
My Sketchup open project sources
various projects rolled up: http://dl.dropbox.com/u/17111233/Roll_up.rar

Colour safe chart:

VS

I'd agree with sdog that silent effects are hard to find. Is it possible to have a label for moving vehicle? Then it could be used, I think...




Leva, there is a maximal range in which all routes are searched... maybe you have a small value for this.

My projects... Tools for messing with Simutrans graphics. Graphic archive - templates and some other stuff for painters. Development logs for most recent information on what is going on. And of course pak128!

Zeno

Quote from: sdog on September 19, 2011, 09:21:49 AM
reducing the speed considerably without an extra warning can be subtly dangerous. That's perhaps even worse than obviously going wrong. When you think of planes it is quite obvious when the revenue goes down.
Yes, that's why I suggested the possibility of using messages. You can configure them to be shown in the lower status bar, or even in a popup message.
I also like VS' suggestion about train label, despite IIRC labels are only shown as tooltips, when you move the pointer over them.

greenling

Vehicle's range it very difficult to build in Simutrans.
And From Some Vehicle gives no info how big her Vehicle's range it that make those idea Difficult.
Opening hours 20:00 - 23:00
(In Night from friday on saturday and saturday on sunday it possibly that i be keep longer in Forum.)
I am The Assistant from Pakfilearcheologist!
Working on a big Problem!