Started by DrSuperGood, July 06, 2014, 01:41:01 AM
0 Members and 1 Guest are viewing this topic.
QuoteIt also feels like dumbing down Simutrans, where the game adapts to the player, rather than challenging the player.
QuoteMay I suggest to keep JIT2 changes separate from other industry changes? Please focus on one thing to do it right. I would really like to see JIT2 accepted into simutrans, and the other changes are not necessary for that.
Quote- there are some industries, that can change the byproduct into main product, and some that cannot. E.g. - an orchard can grow X tons of apples every year. And then the owner can decide how many of them to sell directly, and how many will be used to produce cider. On the other hand, if you have a sheep farm with X sheep, you can produce wool and milk in proportion, but if there is no demand for one of them, you cannot produce more of the other. So I think it should be a configurable option for the pak designer to decide what happens if there is less demand for some of the products - whether the excess production is thrown away, or somehow converted to other products. And then there is also a question how effective the coversion is, and if it reduces the consumption of inputs, or boosts the producion of demanded output...
Quote- electricity: In standard we should assume that there is some invosible and omnipresent low voltage (230 VAC) network used by houses and industries for their basic needs. Some industries, like farms or shops in some paksets do not have any electricity boost. Heavy industry should need a separate high voltage line, but I do not like scaling the power consumption by production, because the power consumption defines the production boost - you might get into nasty feedback loop. And JIT2 will make it even worse, as deliveries are too driven by consumption - low power boost, low production, low deliveries - you will never get to 100% boost. It might be sensible to not use electricity if the factory can satisfy the demand without power boost. But I'm not sure if that is feasible.
Quote from: DrSuperGood on August 25, 2014, 01:01:59 AMYes except that is kind of the point. It will only run at 50% use as a penalty for you overflowing its storage
Quote from: DrSuperGood on September 15, 2014, 03:41:08 PM1. Power consumption based on actual production. An industry working at 15% will only use 15% of the power it does at 100%. In JIT Classic it uses 100% power unless production falls below 25% in which case power bonus vanishes completely and no power is used.
Quote from: DrSuperGood on September 15, 2014, 03:41:08 PM2. Consumption is based on actual production. If a factory only produces 1 good at 50% and another at 25% then it will work at 37.5%. In JIT Classic consumption was based on the largest production rate output (50% in the example).
Quote from: DrSuperGood on September 15, 2014, 03:41:08 PM3. Improved production precision. The extra precision field has been improved from 10 bits to 16 bits just because the other bits were being discarded for no apparent reason. This will affect both industry models.
Quote from: DrSuperGood on September 15, 2014, 11:03:23 PMThe scaling power demand is to solve this problem and potentially make connecting all industries with power a very viable approach (will need to see).
QuoteI'd suggest limiting the demand to 50% of the input storage. With it set to 100%, I see long distance end consumers getting into oscillations of overflowing/running out/overflowing/... A number of factors contribute to cause this - supplier distance, production rates, size of input store, capacity of convois, etc., but limiting the size of the initial surge reduces the likely hood greatly. 75% would be fine too.
QuoteIf a 50% rate when overfull is a penalty for overflowing, then let's just set the penalty rate to 0%; Same as JITv1. Now, the need for the 'lost order' mechanic is gone, and intermediate factory inputs can work independently.This 'lost order' creating a demand coupling between the inputs is the deal breaker with JITv2. Downstream factories end up starved despite there being sufficient supply available, and there's nothing the player can do about it; That's the deal breaker. With JITv1, the player is in control. It might require some micro-management to have the factories produce constantly, but it's possible. JITv2 - nope, the algorithm is in control. Again many factors involved, including the consumption rate of the end consumers. As you pointed out, as long as the end consumers use a high percentage of the intermediate factories output, things work ok. But have end consumers demand only 30% the output, and they end up at a mere 20% instead due to stalls caused by this coupling. A completely non-intuitive result.
QuoteA factory produces, or it does not. There is no working at 15%.
QuoteBy production falling below 25%, I assume you mean output store above 75%... Cutting the boost is intentional here. If the factory is filling up, then it doesn't need to produce at the boosted rate, hence cutting power frees it up for another factory that can make better use of it.
QuoteThe JITv1 logic is correct - the defined consumption ratios must be respected, and if the outputs are independent, then there should be two separate factories. However, IMO the second good should be produced at 50% as well, with the excess over output capacity discarded. i.e. The lowest output storage determines the base rate all the goods are produced at. I've seen cases where a factory is sufficiently supplied to produce enough to fully supply its consumers, yet it fails due to the 'waste' caused by producing at different rates. Really doesn't make any logical sense.
QuoteAre 6 more bits needed? i.e. Are anomalies present due to using only 10? I expect some calculations may need to move from 32bit to 64 which should be avoided if possible. Last I checked, there were a couple places running close to the 32bit limit.
QuoteAt least for pak64, power is purposely short. If you want to not think, and have the game play itself, there's already settings to control this.
QuoteAm I missing something?
QuotePS: DrSuperGood, are you from electronics? It seems so because you started by using the water bucket analogy (common in describing capacitors/integrators), then you mention feedback, and "problem stiffness"...just gessing
QuoteI'd suggest limiting the demand to 50% of the input storage.
QuoteAn industry chain is kept connected (i.e. "source" industries keep producing towards destination) while the "sink"'s station is not overcrowded. This way, a user could just increase the capacity of the given station.... not only seems easier to implement, as well more "realistic".
Quote- please leave them as they are. It has nothing to do with JIT2. If you want a change in that, please make it a separate patch, preferably leaving the decision to the pak author. Option being - unwanted (by-)products are wasted (current behavior), or that the input consumption is reduced if some products are not being produced.
QuoteMaybe its too late now for suggesting alternatives, but wouldn't allowing the player to manually reduce production rate (select the production rate, where the cap would be the current maximum production rate) also solve that problem?
QuoteInstead of making simutrans doing all the work for us, this would require the player to identify that problem, and tune the factories to the right amount... don't know if this copes with simutrans philosophy...
QuoteI peeked at factory's code, and just saw too much german to try an one-liner
QuoteHence that part of JIT2 needs to be switchable, and will be warmly welcomed imho.
Quotewill likely go unnoticed, as they will affect only fue factories.
QuoteAbout power balance: The calculation is that only a certain minimum of power (the power promille) is satisfied. As such it is fully intended that pak64 coal mines consumer nearly all power. If the power consumption is lowered (i.e. most factories will never work at 100% and hence also never consumer 100%), that value need to be also weighted (maybe assuming mean consumption of 50% max. value).
QuoteAlso I am not sure why the forest consumers power without boosting. I though this should have been connected. I would rather suspect there is something in the dat file missing.
Quote from: DrSuperGood on September 17, 2014, 12:06:48 AMWho controls it however? (think multiplayer) Also do you really need to control it?
Quote from: ZéQuimTó on September 16, 2014, 02:17:14 AMSorry for my ignorance, but excuse me if i am wrong:Couldn't your credit system be implemented the following way? - An industry chain is kept connected (i.e. "source" industries keep producing towards destination) while the "sink"'s station is not overcrowded.This way, a user could just increase the capacity of the given station.... not only seems easier to implement, as well more "realistic".By realistic, I mean: To connect two industries far apart, the destination industry should have a big storage capacity to keep working during the transit time...Doesn't this solve the problem? Longer distance -> larger station capacity.Am I missing something?
Quote from: prissi on September 16, 2014, 09:54:31 PMI think there are people that worry about overcrowding and want to have it and other who do not want it (and a third who do not care). Hence that part of JIT2 needs to be switchable, and will be warmly welcomed imho.
QuoteFurthermore, it's the consumer that primarily drives production of it's supplies, not the producer that keeps pushing. Realistically. (That the destination station doesn't get crowded has already been pointed out.)
Quote from: Ters on September 17, 2014, 04:57:42 AMIt might be realistic for the destination industry to have bigger input storage the further away the suppliers are. On the other hand, there has been a trend for industries to minimize their input storage. Just-in-time is a real world concept, not something Simutrans has come up with. I believe the main incentive is to save money on storage capacity, and to avoid ending up with huge amounts of raw material if production stops due to a drop pause in demand for the final product.Furthermore, it's the consumer that primarily drives production of it's supplies, not the producer that keeps pushing. Realistically. (That the destination station doesn't get crowded has already been pointed out.)And finally, I don't have the impression that it's the carriers reponsability to maintain a storage site for the destination customer. Not without getting paid for it.
QuoteRegarding the last point, I do understand your point, but I am not sure how it translates into simutrans. Let me get you and example, in real life the transportation company presents a bill to the consumer. However in simutrans the opposite happens (the consumer pays as much as the distance traveled + speed bonus)...As so, It transfers to us the responsability to make the network as efficient as possible. As so, If in real life a company would find more efficient to just pay for a few transfers from time to time, and pay the rental of warehouses to store surplus, in simutrans I guess that would "translate" into "we pay you exactly the same. If you want to earn more money, make your network more efficient.". And that could imply using extra warehouses..
QuoteDo you use scattered patches in *zip format, or actual git pull-requests?
Quote from: DrSuperGood on September 18, 2014, 02:28:07 AMConvoys needs other cost parameters (eg cost/bonus per unit moved or end of life cost per tile) to balance them without resorting to silly speed bonus speed figures however that is something for another time.
QuoteJust a silly idea (but with the same result): what about making convoys lose some cargo as their age increases? Something like a "lose cargo" probability on each tile travelled. Its something like an old rusty train dropping stuff on its way, or a leaking tank. Such probability could be some sort of nonlinear function based on convoy's age, since a brand-new train's car would need to get a little bit aged before starting to lose stuff.The point is: it does not make much sense for consumers to pay less just because the cargo was shipped on a old train. Yet, if less cargo arrives, its a different story.
Quote from: DrSuperGood on August 13, 2014, 04:25:20 AMNot entirely correct. Power stations are seldom 1 reactor, often with several. Power output can be adjusted by varying the number of reactors online at a given time. In the case of a coal powerstation this would mean shutting off many of the fires/boilers resulting in less steam being generated.If you are talking reality, a power station not connected to a load cannot even generate electricity as it would blow the generators apart. Economically without generating electricity there is no reason to even have the power station consuming anything at all. Thus my suggesting making sense. That said, there could be production tiers with power stations (20%, 40%, etc) so that 100% utilization is not required, only enough to reach the 100% tier.
QuoteI managed to switch jit2 for running game as well
QuoteHowever this leads to oversupply of one input. I think that if the facotry is not producing only the empty input shall be ordered.
QuoteFurther observations: power demand and production is now a bit jumpy, even if the factory is well supplied so that it could run on full power boost all the time.
QuoteHmmm, and when it runs out of stock then the production info shows full boost, instead of the base value.
QuoteI Must say that I liked the original JIT2 - just keep it as simple as possible.
QuoteOne possible improvement would be, if a supplier can choose between more consumers - send the cargo to the one that has higher demand counter.
Quote from: DrSuperGood on October 13, 2014, 12:30:26 PMI did kind of warn that was not supported...
QuoteThe problem with sending to "largest demand counter" is that in the case of two industries who are having their demand fully quenched and produce ~ the same rate then this opens up the possibility for dispatching bias to occur based on internal ordering where 1 supplier (which ticks earliest) will only send to the one factory and the second supplier only to the other. If it were implemented it would need a cut-on value representing when demand starts to accumulate.
QuoteAnd I really think that the player should be allowed to switch during the game, like it was with the first patch.
QuoteWell with the current behavior - each factory can send during one tick - I see similar problem. Real exapmle: I have 3 coal mines and 3 iron ore mines supplying two steel mills. There is not enough coal for both, but one of them is running at 100% and the other one gets the rest of production. Just because when the coal mines have something to send, all of them send it to the same steel mill.Similar effect is seen with other factories supplying shops. Most shops run at steady 100% and one or two are undersupplied. I would expect that all the shops would run at around 90%.
QuoteOne comment to power consumption - Wouldn't it be better to split the power consumption (and other fixes to factory code) into a separate patch? I think they are not dependent on JIT2 and might be beneficial even for old JIT. I think that smaller patches clearly focused on one thing are more likely to get accepted.
QuoteUpdate: I have noticed that you also changed the logic of factories with multiple outputs. (e.g. refinery, printworks) Now they consume less inputs, if some of their outputs are not wanted.
Quote from: DrSuperGood on October 14, 2014, 09:46:14 PMThe first patch did not allow them to switch, it forced them to switch. I require interfaces to write the required code to do a live conversion but as far as I know the game does not support this (it will only change the setting and then hope that from that time onwards everything works).