Friday Facts #304 - Small bugs; Big changes

Regular reports on Factorio development.
netmand
Filter Inserter
Filter Inserter
Posts: 302
Joined: Wed Feb 22, 2017 1:20 am
Contact:

Re: Friday Facts #304 - Small bugs; Big changes

Post by netmand »

I came here (albeit a week late) to voice my approval of the changes. But I must say, wow I guess I'm totally in the minority!
Yandersen
Long Handed Inserter
Long Handed Inserter
Posts: 93
Joined: Sun Jun 30, 2019 6:54 am
Contact:

Re: Friday Facts #304 - Small bugs; Big changes

Post by Yandersen »

Um, guys, what if I tell you that there could be a solution to achieve all goals (realism, simplicity, game challenge) and satisfy everyone (devs, beginners & advanced players)? I proposed it few pages back already, but the more I think about it and the more I read new ideas here and see how (and into what) they evolve over time, the more I convinced in the benefit of a universal solution that is a new basic game mechanic, since it may apply to more than just oil refining.

So here it is, separated part by part for easier understanding:

1) Every game item must have a "pollution cost" - a new special value property that show how much pollution got released if the item got destroyed (for the liquids it represents a pollution per 1.0 unit of that specific liquid).
So if the non-empty tank got mined, all the liquid stored in it turn into the pollution released at the location of the tank. The same with the attack-destruction of all placeable items (belts, assemblers, power poles and so on) - not just a debris decoy, but a pollution as well. Same with the blown chest - every item that was inside turns into the pollution.

2) Since any recipe turns one set of items into another, it can be seen as "input materials got destroyed, output product(s) get created". That means that amount of pollution the machine will generate depends not only on the machine operation by itself, but also by the recipe it is running: the amount of pollution released by the end of the production cycle is equal to the sum of pollution costs of all input items (that are kinda destroyed) minus sum of pollution costs of all output items (that are created). The net result is clamped to the positive value, of course, to ensure not giving an undesired pollution-absorption effect in case something is not balanced right (generally the product is "cleaner" than the materials it is made of because efficiency can't go over 100%).

3) The output storage size of the machines with multiple outputs (refinery is an only example by now, but more can be added in the future) should be set to hold twice the amount of items outputted by the recipe (so if the refinery running BOP which gives 30/30/40 of HO/LO/PG, then the storage size is 60/60/80 respectively). The cycle of production of such machine repeats ONLY if the stored amount of at least one of the output products drops below half of the max storage size, meaning there must be room for at least one more portion of one of the output items/liquids (in general, any product that is consumed got flushed to 0 much faster than the cycle finishes, so the doubled storage size is sufficient to ensure continuous production). By the time the production cycle finishes, any of the output products that did not fit into the storage limit got wasted resulting in extra pollution released by the machine by the end of the production cycle.
So if the refinery produces 3 liquids and the player pipes out only petroleum gas, then the surplus of other two products automatically wasted by the end of the production cycle turning it into an extra pollution generated by the refinery. But the machine keeps working until the petroleum gas is taken. Once even that solely used output is not consumed and got stacked to more than a half of the storage limit, only then the production actually stops.
To help the player understand why the machine pollutes so much, the description screen should show not the static pollution rate of the machine, but the total amount of pollution generated over the set time period or the set number of production cycles (probably configured in the game settings). And if any of the products were wasted over that period, then the number must have a red color.

Let me summarize the effect of the proposed game mechanic:
[*] a machine running a recipe with a single output product does not waste anything under any condition;
[*] a machine with multiple outputs may generate waste-based pollution ("working with reduced efficiency") in case if any of the output products are not removed timely or not taken out at all. But it will continue production for as long as at least one of the output products is taken out;
[*] machines running recipes with multiple output items will not require external storage/tanks to accumulate the unwanted items/liquids to ensure continuous production of the machine - any output products become "optional to collect on demand" and unwanted ones turn into waste-based pollution automatically by the machine itself if not taken out. This way of wasting by-products unwanted by industry is closer to representing reality, so it will be intuitive for the beginners to understand. For the oil processing case specifically, it means that the beginners will not face the hard problem of dealing with the production stop due to single output blockage. And in the same time the advanced players will have a new challenge to optimize the oil processing to ensure minimal waste possible encouraging the usage of circuit logic and pumps to manage oil supply and cracking aiming to increase the efficiency of oil processing. Note that this is purely optional - just for those who actually want to take that challenge, but this puzzle is not forced on the beginners who just want to pass by the oil processing step and have it working at least (they will be tought a lesson by biters sooner or later, don't worry :) );
[*] the multiple-output recipe types may extend further, increasing variety of production options and techs, opening the room for more optional challenges for the players without adding headache of balancing things. For example, some advanced smelter building producing iron plates may have an output producing sulfuric acid byproduct ("Sulphur compounds, such as sulphuric acid, also are produced as a by-product of ferrous and non-ferrous metal smelting") which, if piped out, further decreases the pollution generated by the smelting process (based on the described mechanic), giving an alternative optional source of SA in the same time.

I understand that implementing such mechanic is much harder task for the devs comparing to cutting some pipes on the refinery, but the benefits in the long term should not be underestimated. Also, this will not break existing saves like the change of refinery layout might, which is also pleasing for the players.
Last edited by Yandersen on Fri Jul 26, 2019 5:16 pm, edited 4 times in total.
User avatar
BlueTemplar
Smart Inserter
Smart Inserter
Posts: 3165
Joined: Fri Jun 08, 2018 2:16 pm
Contact:

Re: Friday Facts #304 - Small bugs; Big changes

Post by BlueTemplar »

FuryoftheStars wrote: ↑Thu Jul 25, 2019 3:36 pm Ok, so the techs can be split and regular concrete can be made cheaper to research, although I do seriously question how "expensive" the concrete tech is. :?
Advanced Materials Processing is 75 RG
Concrete is 250 RG.
Total : 325 RG.

While
Automation 2 is 40 RG
Engine is 100 RG
Fluid Handling is 50 RG,
Oil Processing is 100 RG,
(Plastics is 200 RG,
Advanced Electronics is 200 RG.)

So adding Concrete(+AMP) as is as pre-requisites for Oil Processing would have postponed it quite a bit, and felt a bit out of place comparing to the cost of previous techs...
(I guess Engine is so expensive because it allows Cars, Trains, and Oil ?)
FuryoftheStars wrote: ↑Thu Jul 25, 2019 5:18 pm Fixed.

Concrete is also now split into 2 techs. The original concrete tech has been made cheaper and only unlocks regular concrete and its hazard variant. It is also now a prerequisite of the oil processing tech.
Tech costs: 50x red & green

The second tech has been named Refined concrete, requires blue science and concrete, and unlocks refined concrete and its hazard variant. Uranium processing and rocket silo techs have had their prerequisites updated to the new refined concrete tech.
Tech costs: x75 red, green, & blue
Sounds great !
(EDIT : And Refined Concrete requiring lubricant rather than water, right?)
(EDIT2 : I wonder whether artillery turrets shouldn't require refined concrete, considering how late and powerful they are ? (And Artillery wagons - (lube-greased) electric engines ?))
BobDiggity (mod-scenario-pack)
Yandersen
Long Handed Inserter
Long Handed Inserter
Posts: 93
Joined: Sun Jun 30, 2019 6:54 am
Contact:

Re: Friday Facts #304 - Small bugs; Big changes

Post by Yandersen »

Psst, modding guys, some cookie for your inspiration! :)
And smg more general too.
User avatar
Reika
Filter Inserter
Filter Inserter
Posts: 583
Joined: Tue May 19, 2015 1:56 am
Contact:

Re: Friday Facts #304 - Small bugs; Big changes

Post by Reika »

FuryoftheStars wrote: ↑Thu Jul 25, 2019 5:09 pm
Reika wrote: ↑Thu Jul 25, 2019 4:29 pm
Amarula wrote: ↑Thu Jul 25, 2019 2:52 pm
lacika2000 wrote: ↑Thu Jul 25, 2019 9:46 am The use of heavy oil in real life, after removing a mountain of sulfur from it, is for lubricants
Ooooh that would be really cool: pipe heavy oil into chemical plant, out comes "a mountain" of sulfur and a pipe of lubricant. I haven't tried the mod so I don't know if it includes this or something like it but I really like the idea.
I like this better than my sulfur as a byproduct from the refinery idea. It feels more fitting, and the player still has a recipe with one fluid in and one fluid and one item out, but in a slightly more workable package (chemplant vs refinery).
Sounds good, but I see a potential problem: you're now tying lubricant and sulfuric acid productions together. Need lube? You're going to end up making more sulfur whether you need it, or have the room, or not. Same vice versa with sulfuric acid. I think it isn't as bad with HO <-> PG as I feel those have more options to deal with the excess.

You'd have the same issue with it coming directly from the refinery (which is where I think it actually happens?), which is why I didn't go down that path in my sulfur mod.
FuryoftheStars wrote: ↑Tue Jul 23, 2019 9:10 pm Yeah, I had considered this and thought of doing a mod for it, so did some research on it (winding up at hydrodesulfurization) and saw that typically this appears (?) to be done during the refining process. So our refinery would give us the current 3 products plus sulfur. {...} this then puts us in a situation where we're now outputting 4 items, at different rates, and it'd all be a nightmare to balance, I think.
I do not think sulfur would ever back up if it was an ingredient in blue science; that sucks down enough of everything that the lubricant will be the thing backing up, not the other way around.
Image
FuryoftheStars
Smart Inserter
Smart Inserter
Posts: 2768
Joined: Tue Apr 25, 2017 2:01 pm
Contact:

Re: Friday Facts #304 - Small bugs; Big changes

Post by FuryoftheStars »

BlueTemplar wrote: ↑Thu Jul 25, 2019 6:25 pm (EDIT : And Refined Concrete requiring lubricant rather than water, right?)
Yep! :)
BlueTemplar wrote: ↑Thu Jul 25, 2019 6:25 pm (EDIT2 : I wonder whether artillery turrets shouldn't require refined concrete, considering how late and powerful they are ? (And Artillery wagons - (lube-greased) electric engines ?))
Could certainly do the refined concrete for arty turrets. Not sure about the engines for the wagon variant. While it makes sense, it also makes sense for everything in the game that moves (that isn't burner) to have electric engines. ;) I actually use this mod for some of that: Basic Electric Engine

And of course, if one really wanted to get technical, engines for burner vehicles (locos, cars, etc) doesn't make much sense, either. :P But, game mechanic limitations, etc, I know. One problem at a time! :D
My Mods: Classic Factorio Basic Oil Processing | Sulfur Production from Oils | Wood to Oil Processing | Infinite Resources - Normal Yield | Tree Saplings (Redux) | Alien Biomes Tweaked | Restrictions on Artificial Tiles | New Gear Girl & HR Graphics
User avatar
Therax
Filter Inserter
Filter Inserter
Posts: 471
Joined: Sun May 21, 2017 6:28 pm
Contact:

Re: Friday Facts #304 - Small bugs; Big changes

Post by Therax »

I'm jumping on the bandwagon: Here's a mod that implements BOP only producing light oil, with petroleum gas accessible via early cracking.

Light Oil Only

In practice, I find the need for a water input for cracking a non-issue. You need water very soon anyway for sulfuric acid.
Miniloader β€” UPS-friendly 1x1 loaders
Bulk Rail Loaders β€” Rapid train loading and unloading
Beltlayer & Pipelayer β€” Route items and fluids freely underground
User avatar
Therax
Filter Inserter
Filter Inserter
Posts: 471
Joined: Sun May 21, 2017 6:28 pm
Contact:

Re: Friday Facts #304 - Small bugs; Big changes

Post by Therax »

Yandersen wrote: ↑Thu Jul 25, 2019 6:12 pm Um, guys, what if I tell you that there could be a solution to achieve all goals (realism, simplicity, game challenge) and satisfy everyone (devs, beginners & advanced players)? I proposed it few pages back already, but the more I think about it and the more I read new ideas here and see how (and into what) they evolve over time, the more I convinced in the benefit of a universal solution that is a new basic game mechanic, since it may apply to more than just oil refining.
So basically, everything incorporates a built-in flare stack.
Miniloader β€” UPS-friendly 1x1 loaders
Bulk Rail Loaders β€” Rapid train loading and unloading
Beltlayer & Pipelayer β€” Route items and fluids freely underground
User avatar
Ranger_Aurelien
Fast Inserter
Fast Inserter
Posts: 170
Joined: Thu Apr 25, 2019 1:53 pm
Contact:

Re: Friday Facts #304 - Small bugs; Big changes

Post by Ranger_Aurelien »

Yandersen wrote: ↑Thu Jul 25, 2019 6:12 pm 1) Every game item must have a "pollution cost" - a new special value property that show how much pollution got released
...
2) Since any recipe turns one set of items into another, it can be seen as "input products got destroyed, output product(s) get created".
...
3)...
Once even that single output is not consumed and got stacked to more than a half of the storage limit, only then the production actually stops.
I like your ideas 1&2*. Your #3 I believe should be an option "on" by default first game, but second game+ off (sortof opposite the toolbelt). I can envision a toggle on a refinery (or other fluid-producing (or even ANY producer)):

(Stop production if any output hopper full) (O___) (Discard excess production as pollution)

Left preserves items, while on the right, sometimes you really need to use up inputs (barrels I'm looking at you) or don't want upstream systems to clog up...**



* Don't forget to add the electricity consumption of the device and to multiply pollution by module effects!
** Aha, here is a mod that displays an icon over your machine if stopped due to lack of input or clogged output:
https://mods.factorio.com/mod/Bottleneck
-
Ranger Aurelien
"Knowledge Brings Fear" -- Motto of Mars University, Futurama
MiniHerc
Fast Inserter
Fast Inserter
Posts: 176
Joined: Fri Jun 26, 2015 11:37 pm

Re: Friday Facts #304 - Small bugs; Big changes

Post by MiniHerc »

Ranger_Aurelien wrote: ↑Thu Jul 25, 2019 7:56 pm
Yandersen wrote: ↑Thu Jul 25, 2019 6:12 pm 1) Every game item must have a "pollution cost" - a new special value property that show how much pollution got released
...
2) Since any recipe turns one set of items into another, it can be seen as "input products got destroyed, output product(s) get created".
...
3)...
Once even that single output is not consumed and got stacked to more than a half of the storage limit, only then the production actually stops.
I like your ideas 1&2*. Your #3 I believe should be an option "on" by default first game, but second game+ off (sortof opposite the toolbelt). I can envision a toggle on a refinery (or other fluid-producing (or even ANY producer)):

(Stop production if any output hopper full) (O___) (Discard excess production as pollution)

Left preserves items, while on the right, sometimes you really need to use up inputs (barrels I'm looking at you) or don't want upstream systems to clog up...**



* Don't forget to add the electricity consumption of the device and to multiply pollution by module effects!
** Aha, here is a mod that displays an icon over your machine if stopped due to lack of input or clogged output:
https://mods.factorio.com/mod/Bottleneck
Yeah, that would nicely solve the 'newbie' problem.


Also thanks to whoever brought up the heavy oil -> lubricant -> blue belts/splitters. With the only remaining viable source of heavy oil being coal liquefaction (10 per advanced refining cycle is simply insufficient..) that would not have worked well. We need basic and advanced oil refining as currently implemented ingame.
User avatar
BlueTemplar
Smart Inserter
Smart Inserter
Posts: 3165
Joined: Fri Jun 08, 2018 2:16 pm
Contact:

Re: Friday Facts #304 - Small bugs; Big changes

Post by BlueTemplar »

Why? They look like perfect "sister" production techs to me...?
BobDiggity (mod-scenario-pack)
mrvn
Smart Inserter
Smart Inserter
Posts: 5878
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Friday Facts #304 - Small bugs; Big changes

Post by mrvn »

IronCartographer wrote: ↑Thu Jul 25, 2019 3:44 pm
mrvn wrote: ↑Thu Jul 25, 2019 3:24 pm Why is the inserter chasing items pointlessly at all? Why can't the inserter compute the time and location where it would catch up to the item and see that the location is outside of its reach. It can then go for the next item right from the start.
Imagine two inserters on different power networks reaching for the same item. One of those power networks loses some power before either of them can succeed, determining the victor. But which network? When? Determining those things in advance would be insanely complex, and this sort of problem being everywhere is why Factorio doesn't support multithreading for much of the simulation.
That is a different problem. Currently both inserters start to chase the same item and both fail. With my suggestion both would ignore the unreachable item and start to grab the next one. Which of the two gets the item will work the same as now. But what item they try to grab will change to one that they could actually grab.

Note: With two inserters one could be able to grab the first item and the other would change to the second item because it takes longer and wouldn't be able to grab it anyway. That's a third case where the result would be better.
slippycheeze
Filter Inserter
Filter Inserter
Posts: 587
Joined: Sun Jun 09, 2019 10:40 pm
Contact:

Re: Friday Facts #304 - Small bugs; Big changes

Post by slippycheeze »

Ambaire wrote: ↑Thu Jul 25, 2019 8:34 pm Also thanks to whoever brought up the heavy oil -> lubricant -> blue belts/splitters. With the only remaining viable source of heavy oil being coal liquefaction (10 per advanced refining cycle is simply insufficient..) that would not have worked well. We need basic and advanced oil refining as currently implemented ingame.
Mmmm, seems reasonable enough. Have you tried putting together a refinery at an appropriate scale in one of your factories using a mod to give the new outputs immediately? It'd probably be a valuable demonstration to compare against the (existing) setup to show the explosion of inputs needed. (Assuming 2.5 refineries -> 1 liquification -> 1.8 express belts per second, I'm betting it'll expand significantly.)

I think you are right, but nothing sells being right like a picture proof.
lacika2000
Long Handed Inserter
Long Handed Inserter
Posts: 64
Joined: Sat Jul 07, 2018 7:25 am
Contact:

Re: Friday Facts #304 - Small bugs; Big changes

Post by lacika2000 »

FuryoftheStars wrote: ↑Thu Jul 25, 2019 5:09 pm
Reika wrote: ↑Thu Jul 25, 2019 4:29 pm
Amarula wrote: ↑Thu Jul 25, 2019 2:52 pm
lacika2000 wrote: ↑Thu Jul 25, 2019 9:46 am The use of heavy oil in real life, after removing a mountain of sulfur from it, is for lubricants
Ooooh that would be really cool: pipe heavy oil into chemical plant, out comes "a mountain" of sulfur and a pipe of lubricant. I haven't tried the mod so I don't know if it includes this or something like it but I really like the idea.
I like this better than my sulfur as a byproduct from the refinery idea. It feels more fitting, and the player still has a recipe with one fluid in and one fluid and one item out, but in a slightly more workable package (chemplant vs refinery).
Sounds good, but I see a potential problem: you're now tying lubricant and sulfuric acid productions together. Need lube? You're going to end up making more sulfur whether you need it, or have the room, or not. Same vice versa with sulfuric acid. I think it isn't as bad with HO <-> PG as I feel those have more options to deal with the excess.
Let's just make sure I am not promoting something I did not want to: my idea was that we make sulfur from heavy oil, or we make lubricants from heavy oil, not sulfur and lubricants at the same time (as two products coming out of a chemicals plant). Having two important outlets for heavy oil (shifting sulfur from petroleum gas to heavy oil) would help to balance the simple refinery, especially if only petroleum gas and heavy oil is made here (no light oil).

Hope this clarifies it.
lacika2000
Long Handed Inserter
Long Handed Inserter
Posts: 64
Joined: Sat Jul 07, 2018 7:25 am
Contact:

Re: Friday Facts #304 - Small bugs; Big changes

Post by lacika2000 »

For those interested in the sulfur mountains produced from refining heavy crude, including tar sands:

Image

Image

...hence my request to move sulfur production from petroleum gas to heavy oil, resembling closer the actual industrial practice.
User avatar
Reika
Filter Inserter
Filter Inserter
Posts: 583
Joined: Tue May 19, 2015 1:56 am
Contact:

Re: Friday Facts #304 - Small bugs; Big changes

Post by Reika »

lacika2000 wrote: ↑Thu Jul 25, 2019 11:27 pm Let's just make sure I am not promoting something I did not want to: my idea was that we make sulfur from heavy oil, or we make lubricants from heavy oil, not sulfur and lubricants at the same time (as two products coming out of a chemicals plant). Having two important outlets for heavy oil (shifting sulfur from petroleum gas to heavy oil) would help to balance the simple refinery, especially if only petroleum gas and heavy oil is made here (no light oil).

Hope this clarifies it.
I fail to see how adding another 1-in, 1-out recipe helps anything.
Image
FuryoftheStars
Smart Inserter
Smart Inserter
Posts: 2768
Joined: Tue Apr 25, 2017 2:01 pm
Contact:

Re: Friday Facts #304 - Small bugs; Big changes

Post by FuryoftheStars »

Reika wrote: ↑Fri Jul 26, 2019 3:08 am
lacika2000 wrote: ↑Thu Jul 25, 2019 11:27 pm Let's just make sure I am not promoting something I did not want to: my idea was that we make sulfur from heavy oil, or we make lubricants from heavy oil, not sulfur and lubricants at the same time (as two products coming out of a chemicals plant). Having two important outlets for heavy oil (shifting sulfur from petroleum gas to heavy oil) would help to balance the simple refinery, especially if only petroleum gas and heavy oil is made here (no light oil).

Hope this clarifies it.
I fail to see how adding another 1-in, 1-out recipe helps anything.
I don’t think he’s so much saying add another recipe as move the sulfur from PG to being sulfur from HO. PG just has way too many things that use it right now compared to the others.
My Mods: Classic Factorio Basic Oil Processing | Sulfur Production from Oils | Wood to Oil Processing | Infinite Resources - Normal Yield | Tree Saplings (Redux) | Alien Biomes Tweaked | Restrictions on Artificial Tiles | New Gear Girl & HR Graphics
User avatar
Reika
Filter Inserter
Filter Inserter
Posts: 583
Joined: Tue May 19, 2015 1:56 am
Contact:

Re: Friday Facts #304 - Small bugs; Big changes

Post by Reika »

FuryoftheStars wrote: ↑Fri Jul 26, 2019 4:58 am
Reika wrote: ↑Fri Jul 26, 2019 3:08 am
lacika2000 wrote: ↑Thu Jul 25, 2019 11:27 pm Let's just make sure I am not promoting something I did not want to: my idea was that we make sulfur from heavy oil, or we make lubricants from heavy oil, not sulfur and lubricants at the same time (as two products coming out of a chemicals plant). Having two important outlets for heavy oil (shifting sulfur from petroleum gas to heavy oil) would help to balance the simple refinery, especially if only petroleum gas and heavy oil is made here (no light oil).

Hope this clarifies it.
I fail to see how adding another 1-in, 1-out recipe helps anything.
I don’t think he’s so much saying add another recipe as move the sulfur from PG to being sulfur from HO. PG just has way too many things that use it right now compared to the others.
Oh, replacing the PG in the current sulfur recipe with HO, and not a HO->sulfur 1:1 recipe?
Image
Adamo
Filter Inserter
Filter Inserter
Posts: 481
Joined: Sat May 24, 2014 7:00 am
Contact:

Re: Friday Facts #304 - Small bugs; Big changes

Post by Adamo »

Reika wrote: ↑Fri Jul 26, 2019 5:32 am Oh, replacing the PG in the current sulfur recipe with HO, and not a HO->sulfur 1:1 recipe?
I shouldn't say a damn word but I'm compelled... what would really make sense is that if you make oil or lube from HO, you get a percentage of sulfur back, too. 5% max. So, like: 400 HO --> 19 SF + 1 sulfur and 20 heavy oil + 2 water --> 19 lube + 1 sulfuric acid, or something like that. But let me be clear: I am not suggesting we do this in the vanilla game. :P For one thing, the numbers just come out weird. I guess if we moved sulfur to be made from HO, though, it makes slightly more sense than making it out of PG. But, you know, in real life we remove sulfur from the gas, rather than eating the gas to make the sulfur. :P
MisterDoctor
Long Handed Inserter
Long Handed Inserter
Posts: 56
Joined: Sat Oct 27, 2018 11:10 pm
Contact:

Re: Friday Facts #304 - Small bugs; Big changes

Post by MisterDoctor »

Adamo wrote: ↑Fri Jul 26, 2019 6:09 am I guess if we moved sulfur to be made from HO, though, it makes slightly more sense than making it out of PG.
Don't you know, this is a perfectly balanced equation :D :

30 C2H4 + 30 H2O => 2 S
Post Reply

Return to β€œNews”