The International Simutrans Forum

 

Author Topic: Improvement ideas: comfort levels for stations, cargo comfort, and mail routing  (Read 3349 times)

0 Members and 1 Guest are viewing this topic.

Offline Vladki

  • Devotee
  • *
  • Posts: 3328
    • My addons, mostly roadsigns, pak128.cs
  • Languages: EN, CS
I'd like to share an idea for further improvement of simutrans-ex. If something similar was discussed before then sorry I did not find it.

1. It would be interesting to have comfort/catering levels for stations, similar to passenger vehicles. The effect would be that passengers will be willing to wait longer on a more comfortable station (roof, heated waiting room, station restaurant, etc.) than a plain stop without any shelter. This would affect routing decisions (and perhaps even reduce refunds). Passengers will be more likely to choose the transfer stop to be the one with higher comfort (if they have the choice).

I'm not sure if catering should be separated. It should not affect revenue, just improve the comfort of station. (Revenue from catering facilities can be simulated by reducing the monthly cost of the station building - imagine that the restaurant is rented to someone else for a fixed monthly fee.)

2. At stations with mail enabled, catering level could be used as equivalent of post office. Mail could be forced to route through at least one post-office (either station or travelling one). No more direct deliveries between nearby mailboxes.

3. "comfort levels" for perishable goods (mostly food). I'm not sure if goods have some maximum travel time, before they get spoiled and useless. It would be nice if they do, to avoid intercontinental milk trade in 18. century (and similar non-sense). Then the comfort level could be used to increase this time. It will be mostly equivalent to the quality of cooling/freezing technology, but could be generalised.



Online Ves

  • Devotee
  • *
  • Posts: 1791
  • Languages: EN, SV, DK
I think I remember the 1. Idea being discussed before and rejected because passengers only consider travel time when deciding to go or not. However, maybe it can manipulate the waiting time of the station (which I think is considered when passengers looks for a destination)?

I would support the idea that mail needs to be sorted (=takes time and manpower) before it can be delivered.
However, today there also exist many private company mail/package deliverers that deliver one peace of package point to point...

Also I would second the third suggestion!

Offline jamespetts

  • Simutrans-Extended project coordinator
  • Moderator
  • *
  • Posts: 19820
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Altering anything affecting routing is very difficult because of the computational intensity of routing. The routing code in Experimntal now is only slightly modified (and only then as to its inputs, not its means of processing) from the code written by a very talented developer (Knightly), who has now retired from Simutrans development. I do not think that I can match his coding for performance critical parts of the game such as routing, so any changes to the routing system are not likely to be possible until an equally talented coder can be found. In any event, multi-factorial routing of any sort is inherently difficult: if passengers and/or goods do not simply take the shortest journey, exactly how do they decide which of any given set of journies to their destination to take? Increasing the number of factors to be considered from 1 to 2 is likely to increase the computational intensity of routing by the square of its current level, and that is without the enormous design and balancing difficulties that multi-factorial routing will take. It would be good to have some way of representing the comfort (or, at least, facilities) of stations, but it is not likely that anything affecting routing will be workable.

Also, the idea of fudging waiting times to deal with this I do not think serviceable: waiting times currently directly represent a real, measured metric in the game in a deterministic and readily understandable way. Altering them to try to simulate something else entirely is likely to be extremely confusing for players and make the game unbalancable.

Affecting the transfer time is one thing that can be done, and already has been done: overcrowded stops (in devel-new) have a higher transfer time than they would otherwise have on the basis that it takes a lot longer to wade one's way through a crowd than to walk from place to place in a quiet station or airport.

Requiring mail to be sorted is a good idea in principle, but is currently a low priority idea compared to other outstanding tasks. Low priority coding ideas that involve substantial work as this would currently have an estimated minimum lead time of 3-5 years. This may be reduced if other coders can be found to work on Simutrans-Experimental.

As to facilities level for goods, this is an interesting idea, and would be more straightforward to implement than the other two, as the code for passenger comfort could largely be re-used. I had originally considered this when implementing passenger comfort but decided against it for reasons of balance and simplicity. It is too early to tell yet whether this is the right instrument for dealing with the inter-continental milk trade of the 18th century on previous online games (as a reduction in revenue might be too blunt an instrument) and other ideas have already been implemented in devel-new and the half-heights branch of the pakset, but it may be worth keeping under review. It is hard to see how this would work with anything other than perishable cargo, however, so might end up being a redundant feature for most types of goods.

Offline Vladki

  • Devotee
  • *
  • Posts: 3328
    • My addons, mostly roadsigns, pak128.cs
  • Languages: EN, CS
I originally thought that higher station comfort would reduce the waiting time of that station. That would be probably easy to code, but I understand that you want to keep the travel times real.

I do not know how exactly vehicle comfort affects routing or travel decisions. But for stations it could set/affect max waiting time. If the journey would involve long stay on uncomfortable station, the journey may not even start as if it is too long. (or if it involves long journeys in uncomfortable vehicles?)

What is the current method to avoid long distance milk trade?

Offline jamespetts

  • Simutrans-Extended project coordinator
  • Moderator
  • *
  • Posts: 19820
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Vehicle comfort does not affect routing or travel decisions for the reasons already given: it affects only revenue. Having passengers refuse to route at all over stops with a low level of comfort is capable of causing some real difficulties, similar to those to which the feature in Standard of "no routing over overcrowding" gives rise, which feature has long been removed in Experimental. It would be very difficult for a player to understand that people are not travelling on her/his express trains because somebody else's horse drawn carriages at the other end of the journey do not have enough capacity and therefore have accumulated a large queue at a 'bus stop with few facilities meaning that it takes too long to wait for the horse omnibus and therefore nobody will ever attempt a journey involving waiting there (until the waiting times are automatically made stale, and people will come rushing back causing an endless cycle of stop and go). This binary stop/go element is not present with a system that depends only on journey time, as each passenger's maximum journey time is randomised, so accumulating queues at stops lead to a gradual reduction in the number of passengers prepared to take a journey that involves them until equilibrium is obtained.

Online Ves

  • Devotee
  • *
  • Posts: 1791
  • Languages: EN, SV, DK
As to facilities level for goods, this is an interesting idea, and would be more straightforward to implement than the other two, as the code for passenger comfort could largely be re-used. I had originally considered this when implementing passenger comfort but decided against it for reasons of balance and simplicity. It is too early to tell yet whether this is the right instrument for dealing with the inter-continental milk trade of the 18th century on previous online games (as a reduction in revenue might be too blunt an instrument) and other ideas have already been implemented in devel-new and the half-heights branch of the pakset, but it may be worth keeping under review. It is hard to see how this would work with anything other than perishable cargo, however, so might end up being a redundant feature for most types of goods.

Goods I could imagine this feature on:
cooled food
fresh food (eg fruits, bananas etc)
live stock (you cant drive around with live stocks in eternity...)
News papers (althoug they would also go under the same category as paper (see below), they would also have a very short living period)
Sensitive good (eg paper and food bulk) (you could have the load on an open car, but thats more sensitive to rain and faster gets damaged and spoiled than inside a closed box car.

It would then maybe also make sense if this feature was added to the station extensions (eg refrigerator houses, silos, proper animal facilities)

Just thinking further:
Many cars can be used to more things than just one, eg a cooled car can also carry normal crates and a normal car can in fact carry cooled good (maybe not so good, but did occur alot in the old days)
What if the definitions between the cooled good and normal crate good where erased so all crate-good (that is everything you can put in a crate, either cooled or not) could be put in a normal box car, and the "comfort" of the car could tell how good it also is to cool down whatever is in the car. A level 5 box car is then equally to a Simutrans cooled car today. Maybe a car could even have multiple "comfort levels": cooled comfort, weather comfort etc....

Offline jamespetts

  • Simutrans-Extended project coordinator
  • Moderator
  • *
  • Posts: 19820
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Adding comfort to stops would be a totally new feature, and it is not clear how it might work (see above on anything that might affect routing). As to vehicles being used for multiple things: in reality, food vehicles were actually kept separate from other sorts of vehicles, so this is not realistic. Even in Victorian times, for example, there were dedicated milk vans on the railways.

As to newspapers, it would be very confusing, I think, to use a feature intended at differentiating the comfort of vehicles to provide a uniform time restriction irrespective of the type of vehicle used, especially when the mechanism can only affect revenue (people do not buy yesterday's newspaper at a discount instead of to-day's - they simply do not buy it at all).

Online Ves

  • Devotee
  • *
  • Posts: 1791
  • Languages: EN, SV, DK
I guess you are right on the newspaper-issue, that it can get quite confusing.
But on the matter of cars being used to different goods, I think thats maybe country specific. In Sweden, the first "cooled cars" where only a normal car with boxes you could fill with ice. Some where insulated in addition and some where not, but if you did not put ice in the boxes they where used as normal cars. Reading some of the old car descriptions can be quite interresting, eg an insulated car may never cary livestocks!

Offline jamespetts

  • Simutrans-Extended project coordinator
  • Moderator
  • *
  • Posts: 19820
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
The wagons were of very similar construction to one another (piece goods as against foodstuffs), but the same wagon was never used for different purposes: they even (often) had different liveries.

Offline Vladki

  • Devotee
  • *
  • Posts: 3328
    • My addons, mostly roadsigns, pak128.cs
  • Languages: EN, CS
I think I do not understand how exactly comfort works. I can see comfort level and equivalent max journey in depot. What happens if the journey takes longer? Do I see somewhere a penalty due to low comfort?

Station comfort/catering could be similar - pax paying less if they wait too long. But there is a problem who will take the penalty if the pax is transferring between companies. Perhaps the company for whose train the pax was waiting for. Catering could then get some extra revenue for the owner of station, but only if the comfort is high and people wait longer. High catering needs long wait time.


Cargo: for simplicity I would consider rain protection as implicit for goods requiring it (grain, paper). Cargo could have a max comfort level that makes sense i.e. you cannot freeze newspapers or livestock to keep them fresh. Default would be no comfort improvement and infinite travel time. The difference would be for milk (cannot be frozen) and meat, fish (salted, cooled, frozen), beer and fruit (cooled or not).

Offline jamespetts

  • Simutrans-Extended project coordinator
  • Moderator
  • *
  • Posts: 19820
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Comfort affects revenue. If the maximum comfortable journey time is exceeded, the revenue falls below the base level (at a rate faster than it rises if the comfort exceeds the minimum required for the journey time). The effect of comfort on revenue can be seen in the goods list interface in-game.

As for passengers paying less if they have to wait too long, it is harder to make this work for stops than vehicles, as a stop is a node rather than an edge, and revenue is calculated on edges rather than nodes (on arrival at the destination stop). By then, passengers have forgotten how long that they waited at the origin stop. It is important to keep data structures for things like passengers small because there are so many of them (and the data structures are already larger than in Standard).

Offline killwater

  • *
  • Posts: 223
I thought it was mentioned that a good way to limit famous 18th century milk trade was to prohibit connections between industries being farther than current max speed divided by spoiling time. This does not account for stuff being stuck in vehicles and on the stops though.

Offline jamespetts

  • Simutrans-Extended project coordinator
  • Moderator
  • *
  • Posts: 19820
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
What I have implemented so far in devel-new is a proper adherence to industry maximum linking distance limits that were not observed in 11.35, and then set these up in the pakset. Do not forget that there is such a thing as the speed bonus which deals with the need for goods to be transported at a reasonable speed without refrence to the comfort of the vehicle itself.

Offline zook2

  • *
  • Posts: 321
From what I've read, many modern airports and rail stations are designed not with efficiency in mind, i.e. the shortest route for passengers, but maximum retail revenue. People are forced to walk through endless shopping malls, with runways and platforms tacked on as an afterthought.

Also, while we've all probably spent a lot of time with SimEx, you have to keep new players in mind. I can barely remember it now but when I was new, I had a hard time figuring out how even the most basic of things worked.

And once you begin treating all goods differently to improve realism, you open up a can of worms. In 1750, people in Glasgow would probably have bought a week-old copy of the London Times. By 1850, the telegraph system had changed that. In 2015, Greek olives are shipped to Malaysia (IIRC) where the cores are removed, then shipped to Spain, filled with pepper-paste and trucked to retailers all over Europe.

And while you're at it, introduce first-, second- and third-class passengers (and separate rail cars for each type). The unwashed care mostly about the ticket price as long as they get to their destination. The gentry would accept a slightly longer journey as long as the smoked salmon sandwiches in the buffet car are fresh enough. And so on.

Sorry for being negative, but it's a huge can of worms.