The International Simutrans Forum

 

Author Topic: Industry behaviour  (Read 5330 times)

0 Members and 1 Guest are viewing this topic.

Offline Borgoth

  • *
  • Posts: 34
Industry behaviour
« on: July 24, 2009, 06:19:09 PM »
Last day of holiday, so I'll get some use out of it by posting some more thoughts of possible improvements in the game.

Not getting into industry spawning since that's in another thread, there's plenty of room for improving how industries behave. How much is reasonable before stepping into SimCity and away from just transportation game is another matter. Some of these things may very well already be in place but so that I haven't bumped into them during my normal games of 15-20 years. Regardless, here are some thoughts:

#1 Consumer needs an average 400 units per month for their use. Producer has capacity to produce up to 2000 per month. In ST, producers always produce at max speed until either they run out of materials or their consumer begs for mercy with enough goods in store to last for months. Mapped into reality this is a simulation of, this would be same as factory hiring hundred workers for a month and then firing them again for the following four months. Surely nobody would do such thing. No. They'd hire twenty people, just enough to produce the ordered 400 units per month, steadily around the year. Why does this matter in ST? Because heavily spiked production with occasional total breaks in production is a logistics nightmare. Optimally we as transporters try to only transport the required 400 units per month and no more, but then the game is screaming month after another that the Producing station is overcrowded. Would it not be possible to give industries enough intelligence to curb their production to same level as their customer needs?

#2 Power stations are the only consumer/producer in the game that actually consumes all the materials they receive, regardless of whether their production is being transported away (i.e. the electricity being consumed). Maybe this is a good thing and we can assume that there's invisible power grid and the electricity is consumed by invisible demand (e.g. the towns). At least it makes the life for us transporters easier since consumption of coal/oil is guaranteed and steady. I'd still really like it if the consumption of coal/oil increased when more industries are hooked into the power grid, up to double from original if electricity consumption of industries reached their maximum.

#3 Continuing from previous, if power stations are allowed to have invisible delivery mechanism of their production to invisible consumers, why aren't other industries? Would it make the game too easy if I could just deliver lots of iron and coal to steel mill and let the invisible network handle the steel I have no use for? Even if it was just a small amount of overproduction that was delivered to this invisible consumer, it would allow making some money from overproduction or unconnected network. It's quite possible to get a map spawn so that the only consumer for the steel is SO far away you simply can't afford building the track there yet.

#4 If industry is doing nothing for years with no goods delivered/received, how are they still staying in business? Surely the building has some maintenance. In other words, industry should eventually go bankrupt and shut down if it's completely ignored by the player (usually due to lack of consumption capacity or awful location of industries). Or better yet for the player, get replaced by another industry (hopefully more useful). But that would need the change of spawn system.

#5 Using real life example, if I own a steel mill that is running at 100% capacity for third year in a row and my customers are in desperate need of even more steel, surely I as a factory owner would at some point invest to either build another factory or greatly increase the capacity of my current factory. To my experience ST only increases capacity of raw material producers, but not the factories or end consumers. Even the slow increase of capacity of producers is bit odd in terms of reality comparison: increases aren't made in small constant bits, but through investments that increase production by significant amount at once. In terms of end consumer capacity increase, we should really be talking about number of customers visiting the markets. Which basically should mean that the market consumption capacity should either be tied to population of the town in question, or the market should be made to a "tourist attraction" and their consumption then based on the amount of people the player delivers there.

#6 Unused factory seems to be just as popular destination for passenger traffic as a functioning one. Bit odd. Passenger level depending on current rate of production would feel more logical.

Offline prissi

  • Developer
  • Administrator
  • *
  • Posts: 9511
  • Languages: De,EN,JP
Re: Industry behaviour
« Reply #1 on: July 24, 2009, 07:27:05 PM »
Shorter answers:

#1 Producer will produce gradually slower when the outgoing storage fills. When the outgoing storage is at 75%, it will even not accept electricity any more.

#2 Any power station consumers coal, even if not electricity can be consumed. Even real power stations (medium load station) run often idel for some time to satify peak demands then. However, you should not worry about the owner of the factories, as you are only transporting stuff. Also, since the power only is enough for a certain fraction of all factories, it is a task for the player to decide for which to use the power.

#3 Since transport is the sole challenge of simutrans, invisible transport networks seems for me to be against the core spirit of game ....

#4 Industrie closure I hated with OpenTTD. Also implementing it without breaking factories trees is quite difficult. My motivation on working on a feature I dislike is not too big ...

#5 Simutrans never changes the production. Only the player can increase it by providing electricity.

#4+5+6 I do not want to force people to play a certain style. If people want to play factory only, ok; if they want to play passengers only, ok. You request would force a certain style.

Offline Borgoth

  • *
  • Posts: 34
Re: Industry behaviour
« Reply #2 on: July 24, 2009, 09:07:33 PM »
#1 Outgoing storage filling up isn't the problem. At some point consumer is filled and all deliveries halt. If you're one of those people playing with trucks, you'll soon see a very long row of trucks waiting. How is this a problem? Try doing that within a city and you'll see all the bus traffic getting stuck behind the queue of those delivery trucks. In the end, it's just a nightmare. What can player do? Waste ton of money running the trucks back and forth empty without wait orders, or micromanage stuff and rerouting/selling them all just to get the bus traffic working again. Or lower your deliveries to less than what the consumer needs to make sure it never ever fills up. Or best option, come to ST forums and request that producers would grow a brain and only produce what they've been asked for. It's not like that amount is a big secret nobody knows. I could tell it to them manually if UI allowed me to. Anyway, the "Station is overcrowded" whining you get because of the massive overproduction is also very annoying, since it's not something the player can do anything about.

#2 For simplicity, assume non-adjustable power production. They'd run the plant at the level necessary for peak power consumption. The power plant isn't connected anywhere. Peak consumption is 0. But no, ST guys run the plant at 100% regardless. They're stupid. I can live with that.

#3 Invisible consumers are indeed against the spirit of the game. Yet all industry consumers have that. Power Plants do produce power which we even can transport. It could affect the coal/oil consumption, at least a bit? Shops etc consume our goods, so one could say there's invisible network delivering the people living nearby into our shop to buy those goods from there. Wait a minute? Someone's delivering passengers from my towns to this shop right here? Isn't that my job? So, again, could passengers delivered to a shop affect the goods consumption, at least a bit?

#4 Industry closure when it's in use is horrible. It ruins everything. I hated it in TTD as well. Closing something that nobody has used for 10+ years isn't horrible. It's welcome. Breaking a factory chain isn't problem since we're removing something that's unused. If factory getting removed has industries that are linked only to this factory, they're equally unused industries and can be removed along with it. If they're linked to some other industries then it's even easier since they won't be left unconnected. Yes, a whole unused chain would despawn at once.

#5 Then it's pak128 related, because I'm 100% sure grain farms etc do increase their production gradually. Still, right now if you're playing cargo only, the only source for more things to do is new factory spawns, which to my understanding are triggered by city growth. Isn't that forcing players into caring about passengers? Or was that city growth linkage changed?

#6 One could also say that unused factories demanding passengers forces passengers only -player to care about factories. Even if it's only to deliver people there.

#4 and #5 forcing a certain style, I don't see how. If anything, they'd just support the chosen style even further by enhancing what's being used and getting rid of stuff that the player is already ignoring.

Offline Severous

  • *
  • Posts: 377
Re: Industry behaviour
« Reply #3 on: July 24, 2009, 09:54:20 PM »
Hi

Industry Behaviour:
- A producer doesnt take any electricity if its output station is >75% full? 
- It reduces its rate of production as its output station fills?
Is there any documentation or further detail of these important game features please?

German Simutrans internet page tells us  "All goods need to be transported. This is the players task."  This is how I play. I make a network to service everything I can.  The way industry evolves (or doesnt evolve at all for years) reduces my enjoyment of Simutrans.  No other transport sim has been perfect but neither have any got it so wrong that it made me want to jack it all in so soon after taking up the game. 

I agree with Borgoth points except 3. 

Offline colonyan

  • Devotee
  • *
  • Posts: 526
  • Full and Warm
Re: Industry behaviour
« Reply #4 on: July 24, 2009, 10:21:09 PM »
Without rendering game too complicated, one behaviour which would raise my motivation for playing ST would be

-non independent cities

I told this before but they just can sit there exist indefinitely no matter what the size they are.
If they can stay very well at their own, why should I care about?

Currently motivation of game is to grow cities.
Why not add to that
maintaining the survival of city?

If cities required stream of good and passenger to survive, moving things would much more thriving.
Because if you do not transport well, cities risk to shrink or even disappear!

Offline prissi

  • Developer
  • Administrator
  • *
  • Posts: 9511
  • Languages: De,EN,JP
Re: Industry behaviour
« Reply #5 on: July 24, 2009, 10:33:00 PM »
#1 If you can adjust the producer production (which would be easy to add, but defies the challenge of organising a network to me) then you could even more easily recude the amount of trucks on your line. A real transport company would just run the amount of trucks needed. Also in real life company often has only a small storage and require nearly constant deliveries ("just in time"). Providing the right amount of transportation is imho the challenge in a Transport Simulator.

#3 Why are consumer invisible? A car reseller is also the endpoint of a classical transportation chain. House delivery of cars do not take place usually. Same for Supermarket or Bookstore. Without transportation they walk to it, since they are in town, you can even see them. Or they use cars, as cars will increase without passenger transportation. Thay are not invisible.

#4 How does simutrans know, that this factory is not next to be connected. Thinking of building a chain for AAC and suddenly pop the wholesalemarket vanishes, because nothing was delivered. Sorry, for this reason no closures. Simutrans is about strategy; closure and accidents are not planable and thus, I feel, they do not belong. It feels to me like chess with a dice.

#5 grain farms can grow, but only when the add new fields, since in older version production was linken to the amount of tiles of a factory. Farms increase their production for each field spawned. Therefore the total number of producer is given in the pas set, so that not too many are spawned. This was a user request I gave in. I know that this messes the current system quite up.

#6 Factories offer passenger only player a choice to connect. They can ignore them. Similarely fright only player can go for goods without bothering about passengers. This is, what I mean by choice. Before last year or so, freight only games had no city growth; since this restricted goods only games I added als a town growth for complete supply chains, to avoid forcing one style or the other.

And just remember, you an not a factory owner. You own some trucks and maybe some roads and that is it. Simutrans is not an economy simulation (like railroad tycoon) but a transport simulation.

@colonyan
Shrinking cities would pose some difficulties programmingwise, because attractions in such cities does not belong to them. But in principle this would not force a certain style of gaming.

Offline Severous

  • *
  • Posts: 377
Re: Industry behaviour
« Reply #6 on: July 24, 2009, 11:19:26 PM »
prissi..your reasoning against closure seems to be a personal preference to not have closures at all. Based perhaps upon illogical closures in other games? To me it seems perfectly reasonable for a transport simulation to have to respond to logical changes in the economy it serves.

Closure of an industry (not a chain) would surly be justified:
- era on..obsolescence (The Hood/Jamespetts have done this in pak Britain?)
- knock on effect on other industry in the obsolete chain
Nothing need be closed just because of no chain or no transportation.


Offline Borgoth

  • *
  • Posts: 34
Re: Industry behaviour
« Reply #7 on: July 25, 2009, 08:16:02 AM »
#1 Ok, you got a point there: if producer pushed out only the same 400 than consumer expects, it would be easier to figure out the needed transportation capacity. Even if it's more realistic that way. So just for the gameplay challenge, let's leave it to 2000 production. But could something be done at the "Station is crowded" whining? It's really annoying when you have 40 such stations whining constantly, and if there's actually a warning about something I would be interested, it most certainly goes unnoticed because of all the pointless warnings.

#3 Assuming people just get to supermarket on their own is like saying they should get to the nearby church on their own. But I do transport them there. So to supermarket an invisible passenger transportation network exists. Even if you call it walking and private cars. Also, car sales in a small isolated village of 600 people should sell considerably less cars than car sales in 30000 people city with thousands of people passing by monthly. In other words: similar to allowing electricity boost sales (how power affects sales is bit of mystery to me), allowing passenger service boost sales would make sense. Of course in order to allow "cargo only" players enjoy the game, this passenger boost shouldn't be compulsory: it could simply just be used instead of electricity. Besides, it's not easy to get electricity to markets located deep inside a city so this kind of alternative method of sales boost would save many families having their homes bulldozed.

#4 If the Wholesalemarket has been there untouched for 10+ years and it goes bankrupt just when you're finally thinking of doing something with it: you're both amazingly unlucky person, and amazingly lazy for waiting that long. Especially considering in ST you're more or less forced to build a whole cargo network within couple minutes of game time. If getting a despawn during that couple minutes is scary, pause the game. Or better yet: factory can give a warning of looming foreclosure within 1 year unless service is provided. No more surprise despawns.

Offline prissi

  • Developer
  • Administrator
  • *
  • Posts: 9511
  • Languages: De,EN,JP
Re: Industry behaviour
« Reply #8 on: July 25, 2009, 09:47:27 PM »
Closures are one thing I did not like in TTD; and they are a nightmare to code (same as completely vanishing towns). So why should I bother to do this.

Even more, simturans play is much about freedom. In my years I saw so many different playing styles, that I really do not want to force somebody to connect something. Of course it could be configurable; but then, as I said, I do not feel this as important enough to work on.

And I wonder with which pak you are playing? With standard pak64 and a large map it is difficult to connect everything in ten years when there a some industry chains. Even the AI has problems there (of course depending on starting year, speed of time (bis_per_month), starting money and so on).

Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18684
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: Industry behaviour
« Reply #9 on: July 25, 2009, 10:36:58 PM »
Incidentally, Simutrans-Experimental has industry closures, but in different ways: industries do not close down because the player cannot transport things to/from it, but because it has become obsolete (e.g., one does still have gasworks in the 1990s). Simutrans simulates public transport, not private transport: industries might very well get along with their own horses and carts/lorries, but would prefer to use an outside contractor (i.e., your transport network). There is no inconsistency there: in Simutrans-Experimental, at least, passengesr can use private cars instead of player transport, and in both Simutrans-Standard and -Experimental, passengers can walk to their destination if it is close enough.

Offline Borgoth

  • *
  • Posts: 34
Re: Industry behaviour
« Reply #10 on: July 26, 2009, 07:39:59 AM »
Well actually, assuming industries can get along with their own carts and lorries, that would mean I could deliver iron & coal to steel mill and the produced steel would just "vanish" by their own carts and lorries.

If vanishing industry is a problem in terms of not having enough things to connect, then go for the 'replace' option. Unused/uncared industry swapped for something else. It could be worse, it could be better. Considering it was a 'bad industry' to begin with, with great likelihood new one is better. I'm not sure how removing an industry can be hard though.

Case 1: 3 oil wells providing for 1 refinery. 2 is enough to reach maximum needed so 3rd is never used unless some new chain spawns. Despawn the unused oilwell after a long time, connection to refinery removed. Doesn't mess up anything.

Case 2: Sawmill somewhere far is unattended along with couple tree plantations providing wood for it. It goes bankrupt and is removed. One of the tree plantations was only connected to this sawmill, so it gets removed as well. Other one has other consumers so it stays. Sawmill was providing for a furniture factory, and was its only provide. Furniture factory gets removed. Furniture factory is connected to a bunch of things, but recursively going through everything removes all the unlinked industries leaving only intact chains (one-by-one industry spawner would fix broken chains so despawning just a single industry would also be viable). Bunch of pseudo:

removeIndustry() {
    foreach (prod, producers) {
        removeProducer(prod);
        prod.removeConsumer(this);
        if (!prod.connected()) prod.removeIndustry();
    }
    foreach (con, consumers) {
        removeConsumer(con);
        con.removeProducer(this);
        if (!con.connected()) con.removeIndustry();
    }
}

Is that really a nightmare?

Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18684
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: Industry behaviour
« Reply #11 on: July 26, 2009, 09:40:57 AM »
There's no foreach in C++ ;-)

Actually, when I implemented the industry closing in Simutrans-Experimental, it was a lot more than that: I had to add a UI message to state that the industry had closed, I had to unlink all of the producer and consumer industries, and then get those industries to try to re-link to other possible industries, and then close them if they were left orphaned in a chain...

Offline Borgoth

  • *
  • Posts: 34
Re: Industry behaviour
« Reply #12 on: July 26, 2009, 07:51:08 PM »
Maybe it's Java ;-) And Qt nicely provides foreach even in C++.

Yeah I kinda wanted to go the easy way there and just forget re-linking. They've been just as long out of business and unattended, so they'd disappear soon anyway even if you re-linked them somewhere else. Still of course you still have to remove the industry from the map and inform the user of the changes, but those should be quite trivial things to do. Anyways, the biggest benefit with despawning imo is just to get rid of extra capacity that isn't needed now or never. I'd rather have it disappear and have more room on the map for something useful to spawn.

Offline jamespetts gb

  • Simutrans-Extended project coordinator
  • Devotee
  • *
  • Posts: 18684
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: Industry behaviour
« Reply #13 on: July 26, 2009, 08:44:34 PM »
Useful to whom...?