News:

Simutrans.com Portal
Our Simutrans site. You can find everything about Simutrans from here.

Feature Request: Station Cafe and Railway Supply

Started by Sir_Tramalot, December 04, 2014, 06:50:45 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Sir_Tramalot

Ok, so this will be spilt into 2 parts.
Station Cafe
In Britain, we have a lot of platform cafes, vending machines and bookshops. My idea is that platform comfort levels should be introduced, which determine how long a passenger will wait on a platform. The bare platforms will have a low one, platforms with buildings will have a higher one, and overall roofs will be the highest. Station buildings should also contribute. So, where do cafes come into this? Well, I think that it should start off with a basic newspaper and cold food shop (W.H Smith in the UK), which ups the comfort level, and can be transferred to the train, because passengers take their food onto the train. This would have a large value, but a high maintenance cost. Then, there should be the station cafe. This should have double the comfort level, but less than double the maintenance cost. After that, should come vending machines. These should have a slightly lower comfort level than the newspaper and cold food shop, but with a massively lower maintenance cost. The shops should need supply, which links in with the next idea.
Railway supply
So this idea is that transport links need a supply of coal, diesel and electricity, for each respective transport system. This should be linked in as an option, a sort of expert mode. If any of the supplies dry up, the trains would have triple the running cost, and no new ones should be able to be built. Depots should be where the supply chain goes to. To stop the vicious circle of no trains = no supply = no trains, road vehicles (apart from trolleybuses) should be exempt.
Thanks for reading, please give suggestions for improvement.
Sittingbourne and Kemsley Light Railway: Keeping the spirit of Bowaters Paper alive.

Junna

The idea was, as far as I recall, that by significantly decreasing the platform capacity, requiring a large amount of ancillary structures (station buildings), the former would be simulated, in a more simplistic, less cumbersome and difficult to grasp manner.

jamespetts

The idea of having maximum waiting times for passengers (or, indeed, freight: consider refrigeration) based on the facilities at a station/stop is one that I have considered: clearly, a 'bus stop consisting of a pole with the words "bus stop" written on a sign at the top and a timetable further down is not somewhere where a person would willingly spend three hours, whereas an airport with comfortable seats, cafes and shops is (and then there is the whole matter of railway hotels). However, actually implementing this would be very tricky, as it would require significant alterations to the routing system, which could have a serious impact on performance on very large maps. This kind of thing, therefore, is something only likely in the very long term future.

As to maintenance buildings (and not just for railways: this would in principle apply to all forms of transport), whilst the actual facilities are not simulated directly, the next major release incorporates the concept of range: vehicles with a specified range cannot go more than that distance between stops. The actual facilities (aircraft fuel, steam engine coaling and watering, horse troughs, etc.) are implicit rather than explicitly simulated for the sake of simplicity, but the actual economics of the result is very similar.
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.

zook2

I think this is one of those ideas which could possibly be implemented in a way that would improve the fun of the game, but only in a small subset of possible scenarios, i.e. small or very small maps. The maps that most players seem to be playing now are huge. In my 1860-1960 game I have an estimated 1000+ lines (trucks, trains, ships, planes) and what I miss most are tools for measuring efficiency in a massive network. When i don't even know how many trains I'm running, the last thing I'd want to take care of are vending machines at each station. They just don't matter at this scale.

What I like, though, is linking energy supply to transport. If stations were required to supply coal for steam engines, line electrification or diesel engines with their longer range would suddenly look much more attractive. That would change game dynamics considerably, especially post-1950.

Spenk009

The routing algorithm currently favours free and well serviced stations. It's a lightweight simulation of the proposal.


For diesel/petrol/coal: If we specify a range in terms of tiles and loading of fuel by any vehicle of the same fuel type as present on station, then we could have cheaper driving vehicles. How would the factories know when and where they should send their goods to a station? A copy of the connect factories tool, which serves to connect and disconnect would be convenient. Landing in foreign airports could remain very expensive, with the other player still receiving the goods/pax/mail usage benefit but earning profit for filling up the other player's plane (who still pays the same fee as if he hadn't supplied fuel).

For electricity: Reducing the maintenance on electrified ways comparing the amount supplied and consumed would be my simple suggestion for implementation. Vehicles would, as already the case, be basing their costs on the tiles they use, rather than their own distances covered.

In terms of coding, I'd like to try my hand at this extension. My coding is very limited, but I have a suggestion for a separate topic as to how this can be achieved. How strong could the impact be on performance and complexity in terms of playability in the future?

jamespetts

Spenk,

thank you for your thoughts and volunteering to do coding work. I am not entirely clear as to what you are suggesting, however; what exactly do you mean here by "cheaper driving vehicles"? Are you intending that the running costs of vehicles be partly replaced by paying for specific refuelling stops? If so, I do not think that this would work well at all, as it would require a detailed simulation of actual fuel usage, and would be extremely hard for players to understand and for pakset maintainers, including me, to calibrate, especially as real world figures for fuel usage tends to be based on units of distance in any event.

I am not quite sure what you mean with reference to reducing maintanence costs for electric ways (presumably, strictly, you mean electrification way objects): the cost of maintenance of electrictrificaiton way objects is not intended to be related to the cost of electricity generation, but of the maintenance of the infrastructure. The cost of electricity consumption is intended to be reflected in vehicle running costs.

I suspect that this idea may be a little misguided; however, your interest in helping coding is much appreciated. Perhaps you could look at some of the listed projects that need to be completed and have a go at one of those? Many of those would be much simpler to implement than what you suggest here (if I understand your suggestions correctly).
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.

Spenk009

I took a very different view on the approach of the idea. Mainly looking at finding and defining large areas of rail/road networks that are electrified and counting all the vehicles. Then comparing the electricity fed in and reducing the maintenance on the tiles affected would simulate using your own electricity. It's a bit complicated with little real benefit. I just realised this whole doesn't make any sense, since it was never the player's electricity in the first place.

Maybe seeing some fuel management in terms of pricing and max distances would be what I'm looking for. It's a shot towards extreme micromanagement, but I've spent a ridiculous amount of time directing seven lines at various times through a hub station with several sidings so I might be more into complicated solutions where I gain little.

jamespetts

Quote from: Spenk009 on December 10, 2014, 01:44:25 PM
Maybe seeing some fuel management in terms of pricing and max distances would be what I'm looking for. It's a shot towards extreme micromanagement, but I've spent a ridiculous amount of time directing seven lines at various times through a hub station with several sidings so I might be more into complicated solutions where I gain little.

I understand the maximum distances point: indeed, this is already implemented in the way-improvements branch (with a very simple implementation, in any event, which treats all stops as sufficient to replenish in whatever way necessary). What had you imagined with pricing, however?
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.

DrSuperGood

QuoteWhat had you imagined with pricing, however?
I am guessing its the typical fuel management problem. The more fuel something is carrying, the more fuel it needs to use to move the fuel to power it. This is trivial with trains and trucks (barely affects MPG in a considerable way, although I can assure you it does affect it). However with aircraft it is extremely important.

Large aircraft designed for long distances going short distances results in the aircraft fuel tanks being left largely empty for take off to reduce the weight of fuel carried and so make the flight more economical. This is why aircraft always have a fixed amount of spare fuel for a journey (usually enough for weather and approach queues with a little spare for emergency). The fuel consumption curve is always highest at the start of a flight and lowest towards the end.

In the case of simutrans this could be applied to aircraft by adjusting the km cost based on distance between stops. This could work well to curb aircraft profit on long distance flights as they will have the most expensive per km costs (however they also have more air time on average to compensate).

Next to that fuel is already factored in to the per km cost of convoys.

jamespetts

That is a very interesting idea, and not one that I had considered before. Do you have any ideas as to how this could communicated to the player effectively and easily calibrated in paksets by reference to easily obtainable real world data? I have seen aircraft fuel consumption data for many aircraft on Wikipedia, but I do not know how this might be adjusted for fuel load.
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.

Spenk009

Move "Cost: XXXX" in the depot window over to "Resale value: YYYY", becoming "Cost / resale value: XXXX/YYYY" and use the empty space for "Running cost full/empty: ZZ.ZZ/AA.AA" or "Running cost at max/min weight: ZZ.ZZ/AA.AA"

This could be an easy and realistic adjustment in terms of allowing us to make lesser loaded vehicles cheaper to run and fuller ones more epensive. Using half the weight of the fuel, we would simulate emptying the tanks at a constant rate and losing the weight. Exponential costs may be difficult to account for, since we are using one constant value that was calculated at station departure. Also the integrated monthly maintenance cost would need to find a new place to live, but could that be integrated with overhauls?

When we have a plane fill up (really just comparing distance to go with max. range), it'll add the weight of fuel for the distance it will cover to the next apron. Slower acceleration and a higher cost will result, which is what we want. Goods vehicles would benefit from the clear display of how much a single type vehicle would cost in operation to and from their hauling destination.

In terms of what types of cost calculation values we want, adjusting the old cost per tile and defining a base minimum consumption value might be a quick-ish solution. Base cost + (mass moved * cost per unit mass) = running cost.

DrSuperGood

QuoteBase cost + (mass moved * cost per unit mass) = running cost.
Fuel consumption is actually related to power output and not the amount of mass moved. When a convoy reaches maximum speed its power output will drop as it no longer is accelerating (so any spare power is no longer used). This will mean an empty freight train moving at maximum speed would consume less fuel as it is only using a fraction of the power at that speed that it would when running fully loaded. In the case of experimental which has track force (which I assume is how efficiently power can be transferred to the surface before wheels slip?) then that would also limit the maximum power output when accelerating.

Planes are obviously quite different since they are defying gravity to some extent. Movement of wind over the wings creates a counter force to gravity which is what keeps them afloat. However generating the force results in drag which slows the plane down (it decelerates to keep flying). The heavier a plane is for its wings then the more drag they will need to generate to keep the plane from falling (the pitch of the plane?) which results in more fuel having to be used. This makes them highly complicated.

As such I would avoid any form of fuel economy such as that. Instead I would go with simple cost per km running cost which is computed when departing a stop. In the case of trains and trucks this might vary a little depending on their load. In the case of planes it will vary depending on load (cargo planes) and distance (all planes). Plane fuel economy is quite important to simulate as the drive for aircraft like the Bowing Dreamliner is improved fuel economy for cheaper flights.

Vladki

Just one idea. Refueling takes time. Usually vehicles refuel only when it is convenient, in depot or at the terminus, steam engines at major stations. So refueling should not happen on each station but only whe the max range is near, and the time spent in station should increase. Perhaps a special refueling extension building or flag in schedule could be used to mark the desired refueling stop.

Sent using recycled electrons.


DrSuperGood

And what happens when out of fuel? I do not think simulating fuel in a realistic way is a good idea. Rather simplify it into average costs.

Spenk009

Quote from: DrSuperGood on December 12, 2014, 03:13:37 PM
As such I would avoid any form of fuel economy such as that. Instead I would go with simple cost per km running cost which is computed when departing a stop.

This is exactly what I suggest. We could calculate how much fuel a vehicle is using whenever entering a tile based on acceleration and load, but this is excessively resource intensive. The current model doesn't encorporate this detail in the first place. It's just that it would make running locomotives short of max capacity more sensible.

Quote from: Vladki on December 12, 2014, 05:01:58 PM
Refueling takes time. Usually vehicles refuel only when it is convenient, in depot or at the terminus, steam engines at major stations.

This may frustrate players running very tight schedules. Most don't leave spaces in the schedule and don't encorporate waits in depots or sidings.

jamespetts

At present, I cannot see any significant advantage to anything more complicated than range and a per km running cost.
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.

Spenk009

Just seeing a reduction in running cost when engines are doing less work than maximum. Pulling one coach as opposed to twenty has zero effect on the cost/km.

I also noticed that the smoke on DMUs comes out when accelerating (not at top speed or decceleration). Could that effect be hypothetically tied efficiently to such a variance in running costs?

jamespetts

Per km running costs are intended to be based both on fuel use and wear, and calibrated using historical data. Can you think of a formula for doing this with the variation that you suggest in a way that will calibrate accurately when using historical data?
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.

DrSuperGood

QuoteJust seeing a reduction in running cost when engines are doing less work than maximum. Pulling one coach as opposed to twenty has zero effect on the cost/km.
That is probably because what you pay for is the fuel to move the engine and the engine weight does not change. Each coach you pay for the fuel to pull separately.

Variable fuel costs make most sense with aircraft and could possibly be a good instrument to balance them.

Spenk009

I can't find a formula or detailed historical data. That said, it really is a question of work done and energy consumed. Moving a 140t locomotive with a rolling resistance of 200N is a whole different world to a train that weighs 1000t and a resistance of 1600N. I should have defined the running cost as fuel, maintenance, tax and operator pay.

The question here is what the current running costs are calibrated to. Is there any clue to these in the sources we gathered the initial information on the vehicles from?

Also, what scale are the monthly costs aimed to be? E.g. BR Class 40. Around 100/month? (generous 900 a year pay for the driver, 300 per year in maintenance)

jamespetts

Dr. Supergood - can you suggest any real world based mechanism for calibrating this? I note your point about it only making a significant difference for aircraft, which makes sense, but I should be interested to see any data on which this is based.

Spenk - merely calculating actual energy consumed is not accurate enough. Whilst it does not have to be maximally accurate, it has to be accurate enough to differentiate realistically between all of the various different vehicles in the game, and measuring energy output alone would almost certainly be off by orders of magnitude. Consider, for example, steam engines of various types (rail, tram, sea, etc.). Their cost comes from: (1) coal use; and (2) labour cost of maintenance. The fire has to be burning all the time that they are running (as it can take between 3 and 8 hours to raise steam from cold (for railway engines - I have no idea how long that it would take for a huge ship)), and, although there is less draw when the engine is not working hard, and the fire can be allowed to subside a bit, so consuming less coal, there is nothing like a linear correlation between energy output and coal input, which, in physical terms, is accounted for by very high (and very variable) inefficiency. The correlation would be much more exact for electric vehicles (and somewhere between the two for diesel/petrol vehicles), but probably much more complex again for aircraft (which have to stay aloft) and large ships (which have to use a significant amount of energy generating electricity for auxiliary use on board). As for maintenance costs, returning to steam engines, these are partly based on time (as the boilers need sweeping out after so many hours' of use, usually after only a few days in steam, and that whole process takes about a day of solid work) and partly based on distance (components wear out and require replacing, inspecting, manual oiling, etc. based on distance travelled). None of this would be accounted for in an energy output only model, which would be orders of magnitude off.

As to the current calibration, they really are not properly calibrated at all: the current figures are nothing but fairly random guesses loosely based on Pak128 as it was in about 2009, but with lots of errors. The entire set of costs needs complete recalibration from the ground up, but that will be a truly gargantuan task, and will not be attempted until there are a number of new features that are already planned that will make the task (1) easier; and (2) not need to be repeated again from scratch after the implementation of a planned feature.
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.

DrSuperGood

A quick Google search gave this. That report mostly focuses on fuel efficiency of jet aircraft since the Comet 3 however Figure 12 gives an example of what I am talking about. Past a certain range fuel economy decreases. Additionally the more "payload" on board the lower the range and the worse the fuel economy.

Since I am not an aeronautical engineer all I can give you is the same stuff you can find by searching Google. Due to the size of the air and space industry I am sure there are thousands of scientific papers on all kinds of aircraft economy, after all the aircraft we fly in today were the result of decades of research.

jamespetts

Thank you - that is an interesting article. I will have to read that fully when I have a lot of time.
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.