Page 7 of 18

Re: Friday Facts #283 - Prepare to Launch

Posted: Sat Feb 23, 2019 7:57 pm
by LucidMoses
Klonan wrote:
Fri Feb 22, 2019 5:30 pm
fff-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.

Re: Friday Facts #283 - Prepare to Launch

Posted: Sat Feb 23, 2019 8:09 pm
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.

Re: Friday Facts #283 - Prepare to Launch

Posted: Sat Feb 23, 2019 8:13 pm
by BlueTemplar

Re: Friday Facts #283 - Prepare to Launch

Posted: Sat Feb 23, 2019 8:16 pm
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 !

Re: Friday Facts #283 - Prepare to Launch

Posted: Sat Feb 23, 2019 8:24 pm
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 :)

Re: Friday Facts #283 - Prepare to Launch

Posted: Sat Feb 23, 2019 8:44 pm
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?

Re: Friday Facts #283 - Prepare to Launch

Posted: Sat Feb 23, 2019 8:52 pm
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 ...)

Re: Friday Facts #283 - Prepare to Launch

Posted: Sat Feb 23, 2019 8:59 pm
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. :(

Re: Friday Facts #283 - Prepare to Launch

Posted: Sat Feb 23, 2019 9:20 pm
by Lithane
Hyped for the release of .17 Everything looks amazing :D

Re: Friday Facts #283 - Prepare to Launch

Posted: Sat Feb 23, 2019 10:22 pm
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 ?

Re: Friday Facts #283 - Prepare to Launch

Posted: Sat Feb 23, 2019 10:24 pm
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.

Re: Friday Facts #283 - Prepare to Launch

Posted: Sat Feb 23, 2019 10:26 pm
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.

Re: Friday Facts #283 - Prepare to Launch

Posted: Sat Feb 23, 2019 10:51 pm
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 =)

Re: Friday Facts #283 - Prepare to Launch

Posted: Sat Feb 23, 2019 11:01 pm
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.

Re: Friday Facts #283 - Prepare to Launch

Posted: Sat Feb 23, 2019 11:16 pm
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?

Re: Friday Facts #283 - Prepare to Launch

Posted: Sat Feb 23, 2019 11:35 pm
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.

Re: Friday Facts #283 - Prepare to Launch

Posted: Sun Feb 24, 2019 12:14 am
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.

Re: Friday Facts #283 - Prepare to Launch

Posted: Sun Feb 24, 2019 12:39 am
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.

Re: Friday Facts #283 - Prepare to Launch

Posted: Sun Feb 24, 2019 1:42 am
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).

Re: Friday Facts #283 - Prepare to Launch

Posted: Sun Feb 24, 2019 1:44 am
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 !)