Friday Facts #283 - Prepare to Launch

Regular reports on Factorio development.
LucidMoses
Inserter
Inserter
Posts: 34
Joined: Fri Dec 04, 2015 11:08 pm
Contact:

Re: Friday Facts #283 - Prepare to Launch

Post by LucidMoses »

Klonan wrote: Fri Feb 22, 2019 5:30 pmfff-283
If you having done the fluid thing yet. Take a look at this, It satisfies all your stated requirements and will improve fluids a lot.

(from Reddit)
Here is a very fast system that accomplishes all your liquid goals.

Divide the pipes into types.

Flow pipes are straight, turns and underground.

Junction pipes are any pipe that has more then two connections.

Devices (pumps, assemblers, refineries, etc)



Forget individual pipes volumes and direction for flow pipes. Instead put all that detail into the intrinsic nature of the system by creating a table of pipe networks table.

When someone places a flow pipe by itself create a new item in the table with a key new key (index values would be a ton faster), Say ‘KeyA’.

When someone places a flow pipe beside another flow pipe that doesn’t cause a junction Give the new pipe the same KeyA and add the volume of the pipe to the total volume of the network table for KeyA.



Junctions are there own item in the pipe networks table that connect to multiple other networks.



For devices it simply needs to know the pipe network key for each connection.



Creating this would be crazy fast and do at the speed of pipe/device placement and removal. This pushing a big chunk of the problem to player placement speed and not ups. Removal could cause pipe network splits when not removing the end one. A simple pathing algorithm would give you the split data. Performance of this isn’t that important as the data is so small (<500ish) and it doesn’t happen that much. Say 10% of pipe removals by the player and 33% by bots.



Now in each tic all you do is run down the pipe network table and remove appropriate quantity from each network based on device inputs.



Run through the network table again balancing the junctions. For each Pipe network in the junction you have the volume of the pipe network and the amount of fluid in it. So make all pipe network’s unit level the same across all networks in the junction. For better results I would take into consideration a maximum flow rate of the junction and a running average (say 4 tics deep) for each pipe network connection and offset the balance by that amount.



Then go rough all supply devices and add the appropriate amount of liquid to the pipe network. I would allow every device attached to the pipe network to dump all its liquid as long as the capacity is not full. Let the liquid go over capacity (hidden for game play reasons).



On the graphics display side. Each pipe has the pipe network id and can easily tell what to render.



There are a bunch of edge condition you will have to take into account but none that affect performance. This would all be supper quick as you would only have to calculate junctions and devices and really how many T-Pipes to people have on their maps vs individual pipes.



So let’s check your requirements.



Fluids get where they should - Yup

They should act in a predictable manner, with reasonable splitting/joining in junctions – Yup and intuitive and instantly responsive to change without crazy things happening.

Fluids can travel instantly, if need be. - Initially, One tic delay on first cycle as usage is before production plus 1/2 tic delay per junction from source to destination. Player wise that’s sub second and pretty instant.

Respect the pipe throughput limitations – Yup.

Flow can be viewed on the pipes – Yup, type and amount.

Don’t do f**** up stuff like running in a circle indefinitely, sloshing back and forth endlessly etc. - Yup. Even with cheat code/commands flooding/emptying pipes the system would be stable and just trend it back to normal.

Should be faster/more UPS efficient. YES, One simple(ish) calc per junction. Even Production/Usage devices would also be simplified.
bluerock
Inserter
Inserter
Posts: 28
Joined: Fri Sep 08, 2017 7:11 pm
Contact:

Re: Friday Facts #283 - Prepare to Launch

Post by bluerock »

Since belts have little effect now on biters, I wonder if it would be possible to have it so that oil or tar could be spilled out on the ground to cause bitters to slip around or slow movement. Either eventually in base game or so that it could be added as a mod. Would also be fun to light on fire.
User avatar
BlueTemplar
Smart Inserter
Smart Inserter
Posts: 3110
Joined: Fri Jun 08, 2018 2:16 pm
Contact:

Re: Friday Facts #283 - Prepare to Launch

Post by BlueTemplar »

BobDiggity (mod-scenario-pack)
User avatar
BlueTemplar
Smart Inserter
Smart Inserter
Posts: 3110
Joined: Fri Jun 08, 2018 2:16 pm
Contact:

Re: Friday Facts #283 - Prepare to Launch

Post by BlueTemplar »

WarpZone wrote: Sat Feb 23, 2019 7:39 pm Gotta say, I'm not happy about the belt nerf at all. I know, I know, "it's not a belt nerf, it's a biter fix." Semantics. Fact is, there are fun designs for belt-based defenses on factorioprints that won't be viable anymore come 0.17.

Just like when you floated the idea of removing bots from the game, you're taking away a quirky optional playstyle and not adding two new playstyles to replace it, so how is this added value for the players?
These seem to be small biters in that video - I think that they're barely affected by belts because they are so fast - I'd expect larger, slower biters to be more noticeably affected !
BobDiggity (mod-scenario-pack)
naed
Burner Inserter
Burner Inserter
Posts: 11
Joined: Fri Feb 15, 2019 8:15 pm
Contact:

Re: Friday Facts #283 - Prepare to Launch

Post by naed »

WarpZone wrote: Sat Feb 23, 2019 7:39 pm Gotta say, I'm not happy about the belt nerf at all. I know, I know, "it's not a belt nerf, it's a biter fix." Semantics. Fact is, there are fun designs for belt-based defenses on factorioprints that won't be viable anymore come 0.17.

Just like when you floated the idea of removing bots from the game, you're taking away a quirky optional playstyle and not adding two new playstyles to replace it, so how is this added value for the players?
Personally i am very happy that i wont have random biters going on a "wheeeeeee" ride all over the base, because the little fluffy murdermachines are being bullied by the mean belts.

So thank you devs :)
christian
Long Handed Inserter
Long Handed Inserter
Posts: 64
Joined: Fri Jun 08, 2018 12:44 am
Contact:

Re: Friday Facts #283 - Prepare to Launch

Post by christian »

by fluid algorithm do they mean the multi-threading of fluids? So in 0.17 we won't be able to see the full effect of the fluid improvements yet?
CzBuCHi
Long Handed Inserter
Long Handed Inserter
Posts: 91
Joined: Thu Feb 22, 2018 10:25 pm
Contact:

Re: Friday Facts #283 - Prepare to Launch

Post by CzBuCHi »

just noticed one thing: Transition between differnet belts looks wierd :/ ... shouldn't blue and red belts rotate under itself as yellow one? (i know there isnt much pixel space but still ...)
User avatar
Oktokolo
Filter Inserter
Filter Inserter
Posts: 884
Joined: Wed Jul 12, 2017 5:45 pm
Contact:

Re: Friday Facts #283 - Prepare to Launch

Post by Oktokolo »

Finally, there will be no cheaty biter-repelling belt rings around bases on the servers any more.
And toning down the spawn frequency should improve base warfare a lot. In exchange the biters will send bigger packs - wich will finally make more sophisticated defenses worth investing in.
Looks like 0.17 will bring us slightly beefier and less grindy combat at the same time. :)

Too bad the awesome new fluid mechnics had to be delayed though. :(
Lithane
Burner Inserter
Burner Inserter
Posts: 19
Joined: Tue Jul 03, 2018 3:01 am
Contact:

Re: Friday Facts #283 - Prepare to Launch

Post by Lithane »

Hyped for the release of .17 Everything looks amazing :D
User avatar
BlueTemplar
Smart Inserter
Smart Inserter
Posts: 3110
Joined: Fri Jun 08, 2018 2:16 pm
Contact:

Re: Friday Facts #283 - Prepare to Launch

Post by BlueTemplar »

christian wrote: Sat Feb 23, 2019 8:44 pm by fluid algorithm do they mean the multi-threading of fluids? So in 0.17 we won't be able to see the full effect of the fluid improvements yet?
kovarex wrote:So the fluid mixing prevention and fluid update optimisations are in 0.17, but the new algorithm was put aside for further research.
I'm pretty sure that the fluid update optimizations are what the FFF#271 was talking about, so those are in ?
BobDiggity (mod-scenario-pack)
Sander_Bouwhuis
Filter Inserter
Filter Inserter
Posts: 292
Joined: Mon Dec 07, 2015 10:45 pm
Contact:

Re: Friday Facts #283 - Prepare to Launch

Post by Sander_Bouwhuis »

BlueTemplar wrote: Sat Feb 23, 2019 8:13 pm Obligatory :

https://mods.factorio.com/mod/Flammable_Oils
Oh wow! That mod looks crazy! It makes it more like a common RTS.
Avezo
Filter Inserter
Filter Inserter
Posts: 454
Joined: Fri Apr 01, 2016 3:53 pm
Contact:

Re: Friday Facts #283 - Prepare to Launch

Post by Avezo »

V453000 wrote: Sat Feb 23, 2019 6:46 am
Avezo wrote: Fri Feb 22, 2019 10:30 pm
5thHorseman wrote: Fri Feb 22, 2019 8:23 pm
Avezo wrote: Fri Feb 22, 2019 8:08 pm So, during playtesting no issues were observed with much harder progressing into blue science?
I haven't tried the mod that changes the recipes for 0.16, but is 1 solid fuel and 0.5 advanced circuits really that "much harder" than 1 electric mining drill?
It is - it requires even more setting up of 'refinery' part of the factory, whereas old mining drills required just setting up more mining outposts. And you have to set up almost entire 'refinery' part from scratch at once for just blue science, whereas previously you'd be setting mining outposts gradually.
You can just make solid fuel from light oil. There is no other product that you could make from light oil, and cracking is unlocked later. Typically light oil is the one that usually deadlocks soonest without cracking as it is somewhat likely you will consume heavy for lubricant... So you are not making any extra refinery than you would need for the petroleum gas, you are just using light oil and delaying the deadlock.
Could you share to public playthrough of those 3 games mentioned in FFF? I can't see it being as smooth as you say. Even if just a bit of stuggle was moved ahead from first steps of refinery stage of the game, all the rest still piles up due to red circuits alone - NOT due to easily expandable fluid tanks filling up.

I've mentioned such issues before in the first 0.17 changes FFF, but apparently mining pick whiners were more important to get a reply than me (instead of plain ban for obvious offtopic), so I'm happy you've replied here at least.
adam_bise
Filter Inserter
Filter Inserter
Posts: 442
Joined: Fri Jun 08, 2018 10:42 pm
Contact:

Re: Friday Facts #283 - Prepare to Launch

Post by adam_bise »

Another exciting FFF. Glad to see pollution being tweaked!

Looks like I'm going to have to mass decon my belt defense and replace it with train loops =D

I'm having visions of frogger, 2 alternating lanes of dual locos about 10 locos apart from each other and how to get such a system up and running without collisions =)
User avatar
Philip017
Filter Inserter
Filter Inserter
Posts: 360
Joined: Thu Sep 01, 2016 11:21 pm
Contact:

Re: Friday Facts #283 - Prepare to Launch

Post by Philip017 »

BlueTemplar wrote: Sat Feb 23, 2019 11:50 am
Philip017 wrote: Fri Feb 22, 2019 10:44 pm regarding spawner pollution hoarding, i guess that means that the blinking away of the pollution on the map indicating the presence of a new base will be minimized
Why would that be ?
have i've built a sizeable pollution cloud and the biters expand into the pollution zone and i check the map, but don't have radar coverage of that area, where terrain is visible but not full visibility, you can look at the pollution and see that it is blinking in and out, meaning that the pollution cloud is being consumed by the spawners, it makes for a good indicator that is a location of a new base, even if the radar has not yet scanned the location to show the red dots. if i notice this quickly i can go over there and destroy the spawners before the biters build a large base with many units to come attack me. but if the spawners will only consume so much pollution then the blinking effect of the pollution will happen less frequently or not at all, so until the radar scans that area i will not know where the new base is.
User avatar
CDarklock
Filter Inserter
Filter Inserter
Posts: 342
Joined: Sun Dec 03, 2017 2:17 am
Contact:

Re: Friday Facts #283 - Prepare to Launch

Post by CDarklock »

Avezo wrote: Sat Feb 23, 2019 10:26 pm Even if just a bit of stuggle was moved ahead from first steps of refinery stage of the game, all the rest still piles up due to red circuits alone - NOT due to easily expandable fluid tanks filling up.
I honestly don't understand your complaint. I already have to set up oil processing to make blue science. The 0.17 changes just mean I am using more of my oil, and less of my iron. What, exactly, is the issue here?
christian
Long Handed Inserter
Long Handed Inserter
Posts: 64
Joined: Fri Jun 08, 2018 12:44 am
Contact:

Re: Friday Facts #283 - Prepare to Launch

Post by christian »

BlueTemplar wrote: Sat Feb 23, 2019 10:22 pm
christian wrote: Sat Feb 23, 2019 8:44 pm by fluid algorithm do they mean the multi-threading of fluids? So in 0.17 we won't be able to see the full effect of the fluid improvements yet?
kovarex wrote:So the fluid mixing prevention and fluid update optimisations are in 0.17, but the new algorithm was put aside for further research.
I'm pretty sure that the fluid update optimizations are what the FFF#271 was talking about, so those are in ?
That's what I'm curious about. What do they mean by fluid algorithm? Is it the multi-threading? or is it how fluids travel through T section pipes? I remember they fixed it so that fluids split evenly now.
bobucles
Smart Inserter
Smart Inserter
Posts: 1708
Joined: Wed Jun 10, 2015 10:37 pm
Contact:

Re: Friday Facts #283 - Prepare to Launch

Post by bobucles »

What do they mean by fluid algorithm? Is it the multi-threading?
Probably. There were two big parts to the fluid optimizations. The first one was a complete change in algorithm, to create different fluid dynamics. The other one was an aside like "oh yeah we can dump this on another CPU now". The fluid layer is pretty much its own independent world, so it's not too impossilbe to make the pipe network be its own process.
User avatar
5thHorseman
Smart Inserter
Smart Inserter
Posts: 1193
Joined: Fri Jun 10, 2016 11:21 pm
Contact:

Re: Friday Facts #283 - Prepare to Launch

Post by 5thHorseman »

CDarklock wrote: Sat Feb 23, 2019 11:16 pm
Avezo wrote: Sat Feb 23, 2019 10:26 pm Even if just a bit of stuggle was moved ahead from first steps of refinery stage of the game, all the rest still piles up due to red circuits alone - NOT due to easily expandable fluid tanks filling up.
I honestly don't understand your complaint. I already have to set up oil processing to make blue science. The 0.17 changes just mean I am using more of my oil, and less of my iron. What, exactly, is the issue here?
I'm curious about this too. If you've not got advanced oil up yet, in order to get the plastic for the red circuits you're probably making a fair bit of solid fuel anyway. If you do have advanced oil up yet, you've got enough oil infrastructure to afford portioning some of it off to solid fuel.
User avatar
BlueTemplar
Smart Inserter
Smart Inserter
Posts: 3110
Joined: Fri Jun 08, 2018 2:16 pm
Contact:

Re: Friday Facts #283 - Prepare to Launch

Post by BlueTemplar »

bobucles wrote: Sun Feb 24, 2019 12:14 am
What do they mean by fluid algorithm? Is it the multi-threading?
Probably. There were two big parts to the fluid optimizations. The first one was a complete change in algorithm, to create different fluid dynamics. The other one was an aside like "oh yeah we can dump this on another CPU now". The fluid layer is pretty much its own independent world, so it's not too impossilbe to make the pipe network be its own process.
Well, the underlying fluid physics formula seems to be pretty much the same
(I'm *really* glad that it won't be scrapped as was initially planned !),
but its parameters and implementation seem to have radically changed
(for instance doing the flow calculations and flow updates in two separate passes to remove the directional anisotropy).
Last edited by BlueTemplar on Sun Feb 24, 2019 1:44 am, edited 1 time in total.
BobDiggity (mod-scenario-pack)
User avatar
BlueTemplar
Smart Inserter
Smart Inserter
Posts: 3110
Joined: Fri Jun 08, 2018 2:16 pm
Contact:

Re: Friday Facts #283 - Prepare to Launch

Post by BlueTemplar »

Philip017 wrote: Sat Feb 23, 2019 11:01 pm
BlueTemplar wrote: Sat Feb 23, 2019 11:50 am
Philip017 wrote: Fri Feb 22, 2019 10:44 pm regarding spawner pollution hoarding, i guess that means that the blinking away of the pollution on the map indicating the presence of a new base will be minimized
Why would that be ?
have i've built a sizeable pollution cloud and the biters expand into the pollution zone and i check the map, but don't have radar coverage of that area, where terrain is visible but not full visibility, you can look at the pollution and see that it is blinking in and out, meaning that the pollution cloud is being consumed by the spawners, it makes for a good indicator that is a location of a new base, even if the radar has not yet scanned the location to show the red dots. if i notice this quickly i can go over there and destroy the spawners before the biters build a large base with many units to come attack me. but if the spawners will only consume so much pollution then the blinking effect of the pollution will happen less frequently or not at all, so until the radar scans that area i will not know where the new base is.
Oh, right !
I guess that saturated spawners will only blink when spawning a new biter ?
We'll have to be watchful ! (Hey, those radars are expensive to run, but worth it !)
BobDiggity (mod-scenario-pack)
Post Reply

Return to “News”