#math-and-meta

1 messages · Page 95 of 1

oblique hollow
#

from the top: how many screws and rods for ONE assembler

ornate echo
#

i do not have enough to make 5 as my math showed

oblique hollow
#

sev, there are other issues at hand

median heath
#

5 * 45 = 225.
You have enough.

median heath
ornate echo
median heath
oblique hollow
#

hold on sev

#

lemme... walk them through this

#

then they will see

ornate echo
#

i think its easier when you show me the error in my math

median heath
#

Tried 🤷‍♂️

oblique hollow
#

please, bear with me

ornate echo
#

i try i try

oblique hollow
#

one assembler: 20/min rods and 100/min screws

#

how many rods for 100/min screws

#

(mind the decimal this time)

ornate echo
#

2,5

#

25

oblique hollow
#

2.5 constructors.
yes
so 25/min rods

#

25 + 20 rods

#

so 45/min rods in total

#

which is equal to 45/min Ingots

ornate echo
oblique hollow
#

3 constructors making rods, 2.5 making screws

#

half a constructor is done by underclocking the machine to 50%

ornate echo
#

i cant underclock but im not that precise

oblique hollow
#

alright, then we just use 3 constructors for screws

#

3 for rods, 3 for screws

#

your original question: how many assemblers can be fed with 240/min iron ingots

#

well, one needs 45/min total

#

so the answer is 5, as Sev showed

#

we can only use 225/min

#

with 15/min excess

ornate echo
#

thats clear, but the assemblers take screws and rods and not ingots, wich uses diffrent amounts and needs diffrent dedications

oblique hollow
#

yeah, sorry, i summarized the production here

ornate echo
#

so i wanna keep the math at rods and screws

oblique hollow
#

the answer is "One Rotor assembler fed by 3 screw constructors and 3 rods constructors needs 45/min Ingots"

ornate echo
#

5 assemblers mean 500 screws and 100 rods, i will try to make the math again

oblique hollow
#

just multiply the result we got by 5

#

all the numbers scale the same

#

the result for ONE assembler multiplied by 5

#

20 rods for the assembler, 25 rods for the screw constructors
multiplied by 5

ornate echo
oblique hollow
#

about, yea

#

which needs 220 / min ingots

median heath
#

12.5 is not roughly 12.
12.5 is 12.5.
This is how the game works.
In exact values.

ornate echo
#

and i can make 240 rods a minute

median heath
#

And we're back to solving forwards...

oblique hollow
#

you have 20/min left over

ornate echo
#

i can make more than 5 rotor assemblers?

oblique hollow
#

yes

#

but the answer is not 6

#

it is 5...... and one third

ornate echo
#

but 5 rotor assemblers use 220 rods overall, and i make 240

shadow mist
#

here try this way

ornate echo
#

wait no im dumb

shadow mist
oblique hollow
#

240 - 220 = ?

ornate echo
#

oh my god im dumb

#

i solved it

shadow mist
#

1 machine -> 4 rotors per minute requires 100 screws and 20 iron rods

ornate echo
#

OH MY i solved it!!!!

oblique hollow
#

hooray?

ornate echo
#

thanks thanks a lot and all that, so if i doubled my production, could i use 0,5 that are leftover still?

wind spade
#

you can underclock to not have leftover

shadow mist
#

4 rotors/minute takes 45 iron per minute. You have 240 iron available here -> you can run 5 machines effectively (not counting power shards or alternate recipes)

oblique hollow
#

find a blue slug and research it to unlock underclocking

ornate echo
wind spade
oblique hollow
#

if you double it it becomes 25 so yea

ornate echo
#

if i use 12 will i still make 500 screws?

oblique hollow
#

...no

shadow mist
#

you have 15 iron left over with what youre using

wind spade
# ornate echo INEFFICIENT

and in the future the recipes will have worse and worse numbers and there will be less and less options to have nice numbers. So learning to use underclocking to your advantage is very much recommended

oblique hollow
#

12 screw constructors only make 480/min screws

#

not 500/min

#

hence why using 12.5 is more efficient

ornate echo
ornate echo
oblique hollow
#

oh

#

you mean the solution for ONE assembler

ornate echo
#

and my ressources wouldnt allow any more than 12

wind spade
oblique hollow
#

2.5 screw constructors for ONE assembler

#

yea, that can be doubled to 5

ornate echo
oblique hollow
#

2 assemblers, 5 screw constructors, 6 rod constructors

#

needs 90/min Iron ingots

wind spade
ornate echo
shadow mist
#

you need 7 constructors (again not counting overclocking or alt recipes) to make rotor efficiently

oblique hollow
shadow mist
#

you will have 30 leftover iron with 480

ornate echo
#

wich still only allows for 5, but its lost on the production way

oblique hollow
#

90 does not go into 480 without leftover

ornate echo
#

im fine yeah

oblique hollow
#

just use the leftover elsewhere

#

as long as you use it

shadow mist
#

sink it or play with overclocking to optimize it out

ornate echo
#

i need 12,5 constructors to make enough screws, but i can only make 12

oblique hollow
#

you can make 13

ornate echo
#

i do not have leftover, i have to little

ornate echo
oblique hollow
#

then you wait for them to be made

#

or you expand production

shadow mist
#

maybe make reinforced iron plates instead of rotors first lol

ornate echo
#

okay damn it, i will make 4 rotor assemblers and the rest goes into frames, would that work out?

ornate echo
shadow mist
#

then how are you out of resources lol

ornate echo
#

i have all my ressources pretty much calculated on the point, so all ressources i am currently using do not allow for leftover ore

wind spade
wind spade
#

then you have enough, that's why your math tells you 12.5, not 12

ornate echo
#

thats the point

wind spade
#

why can you only run 12?

shadow mist
#

yea youre losing me lol

oblique hollow
#

you have enough Iron for 12.5

ornate echo
wind spade
#

then you make more of all of that so that you have enough

oblique hollow
#

12.5 is not for the rods...?

#

am i getting mixed up now god damn it

ornate echo
oblique hollow
#

yeah but you only need 225/min Rods

#

that is 15 constructors

ornate echo
#

i need 12,5 constructors to make enough screws, but i only have 12 of them

oblique hollow
#

you can have 12.5

#

you have enough rods

ornate echo
#

i think im gonna cry

oblique hollow
#

16 constructors 240 rods

#

you only need 225

#

it is not as hard as you make it out to be

ornate echo
#

okay i will just build it later and see if it works, thanks for the help and your nverces

fierce lava
#

weird pipe question, why am I getting more water than I should have?

#

was doing 2*mk.5 full belt bauxite -> sloppy alumina-> elctro alu scrap

#

net water -468m^3/s

#

the extra 468 m^3/s water is pumped and fed into a separate system of 3*78% sloppy alum refineries

#

however while looping the byproduct water back to the other sloppy alum refineries where should be net 0m^3/s water

median heath
#

You looped back without building a VIP, didn't you?

fierce lava
#

I did separate loop back/ outside input tho, does it still matter?

median heath
fierce lava
#

works for the first few hours then generates extra water from nowhere and clogs

median heath
#

Sounds like it matters.

#

Bottom pipe = Recycled Water
Top pipe = Fresh from Extractors

fierce lava
#

one weird voodoo magic I found is actually linking the outside input pipe and the loopback system by a rised pipe

fierce lava
wind spade
#

quick check - have you used valves or buffers?

fierce lava
#

powerpoint painting master% speedrun

#

wait should be like this

fierce lava
prisma kraken
#

I have 0 problems with this set-up for aluminum - works for pretty much every recipe combo

fierce lava
#

and the part has been ghosting me for a good while is before I connect the blue/green pipe system (which should be fine I think correct me if i missed something really simple) I always get extra water from nowhere and eventually stuck

#

however once I connect the red triangle part (connect outside feed and the loopback)) the problem went away

fierce lava
#

*and yes i am guilty using the default color for tools

median heath
prisma kraken
#

you really don't want to build baux processing in modules that take more than 780/min, it doesn't make sense to b/c you'll be exceeding belt speed for 2 output belts of scrap

fierce lava
fierce lava
fierce lava
viral ravine
fierce lava
fierce lava
viral ravine
#

It doesnt look this way on my game and i play max fov

fierce lava
#

im on 116 and first person fov modifier 0.6

viral ravine
fierce lava
#

workaround to have slightly less view-blocking viewmodels

fierce lava
viral ravine
#

I didnt touch that setting, it is whatever the default value is

fierce lava
#

changed that since for me the viewmodel feels a bit to dominant on screen so

#

but you do you

viral ravine
#

I find that cursed palm way more distracting

fierce lava
#

oh found my original reason to do that

#

i used to hang around hold the zipline tool, which is crunchy in default view

leaden depot
#

I just spent a long time building a huge ECR factory and only then realized the alternate recipe is really bad.

#

The HSC way is huge and complicated.

lapis copper
#

my iron refinery and transport line. may include eyesores and spaghetti.

#

(btw i am a new player. i can math but im not too good with good looking factories)

fierce lava
#

spaghetti is good truly, especially when it comes to the early game

#

it get things done and get things done quick

#

you are going to redo most of your start base anyway (since later you would definitely be using alt recipes for most stuff)

#

still, cool line, lot better than my start where I ran round hand picking grass for 2 hours straight

wind spade
fierce lava
#

so I wish I knew that

wind spade
#

and you can also just keep old factories and build new ones

prisma kraken
leaden depot
#

I don’t think HSCs save resources

#

Certainly not space

fierce lava
#

does anyone have method/data on railway through puts?

wind spade
#

wiki has formulas

prisma kraken
#

drawing it up for you guys:

median heath
prisma kraken
wind spade
#

simple way to do stuff is 1 belt = 1 platform and scale number of trains if it's not enough

prisma kraken
#

for an extremely short trip (< 4.5 minutes), you might be able to get 780/min from a single car, but it is pushing it; for 50-stack items, you need to be careful coming anywhere close to an mk5 belt's speed b/c the car capacity is too small, and for 200 and 500 stack items, you'll be able to get what you need if it isn't trying to get 1560 out of a car

median heath
prisma kraken
#

something like 800 or 900 plastic/min, for instance is fine

#

thanks sev, but we don't need to interact with you to read what you'll c&p from the wiki

#

speaking of, @Laura a while back made some graphs of the numbers, is there any way that we could get those graphs included on the wiki page?

leaden depot
#

You def need a buffer setup to get 780 in one platform though, right?

wind spade
#

you need it pretty much no matter what

prisma kraken
#

additionally, except for output from miners, you're rarely ever moving exactly 780/min... for me its always some other strange numbers like 900/min, and i might change my plan at some point, better just to build the stations with buffers included, imho

vapid gorge
raw mica
#

Don't know if its a good channel for that but i guess its kinda meta. Kinda clueless on this ones and its my 1st harddrive

wind spade
#

for your recipes:

  • first one allows you to make more iron ingots with nearby copper
  • second one allows you to make wire from iron instead of copper
  • third one replaces screws with wire for reinforced plate recipe

pick what you want 🙂

raw mica
# wind spade for your recipes: - first one allows you to make more iron ingots with nearby co...

Well i know how to read 😄 wanted to make sure if any of those are good for early game. Im kinda new and really bad at making efficient factories and the only recipe i know was really good is cast screws so it helps with organising everything ^^ guess i will go for stitched plates cause i have plenty of copper nearby but i still dont think i will use it rn cause i'd have to literally delete my whole factory to change everything that's why i asked but i get it questions about harddrives over and over must be kind of annoying

wind spade
# raw mica Well i know how to read 😄 wanted to make sure if any of those are good for earl...

wanted to make sure if any of those are good for early game
as per my linked message - whether a recipe is good or not depends on your preferences and goals, every recipe is good in some situation

the only recipe i know was really good is cast screws
actually, other screw recipes outshadow this one a lot. It's only advantage is pre-steel screw production (where it's pretty good, however you can also use e.g. stitched plates to get rid of screws and then cast screws' value drops even more)

i'd have to literally delete my whole factory to change everything
tip: don't delete factories. Keep old ones running, build new factories. Saves time and you won't really run out of resources or space anyway

#

questions about harddrives over and over must be kind of annoying
it's not that it's annoying. It's that people expect there must be some sort of tier list or something that tells which recipe is "good" or "bad", but there isn't (well there are a few but they don't really agree on anything, because once again, all recipes have a use and it depends on your preferences what you like or don't like.

That's why I didn't tell you "pick X". You would just blindly pick it, without knowing what the other recipes can do, and next time you get another drive, you'd have to ask the question again. I think it's much better if you learn to look at the recipes yourself, look what they can do, look at other alt recipes available for that item (wiki or other data source is great help) and make your own informed decision. And the main point is that you can get all recipes anyway, so there's no "mistake" in choosing a recipe that you won't use or find out that you don't like it.

raw mica
# wind spade > questions about harddrives over and over must be kind of annoying it's not tha...

Got it boss! Guess my mindset to that game is kinda bad. I always feel overwhelmed in early so i'm trying to copypaste my old save before the long break. Always going for the rocky desert and doing the same thing over and over. I'm considering to start over again cause i just got to the automated rotors + plates so its not a big deal but somewhere else so i can experiment more with finding other alts or try at least to play around the only ones i know. And yeah, my factory obliterations are the worst part. I'm trying to force myself to do 1 big place instead of more small ones leading to some kind of bigger storage place which probably is much easier for someone who's doing spaghetti factories without 100% efficiency. Thanks for reseting my stupid mindset with the imaginary tier lists of the alt recipes ^^

oblique hollow
# raw mica Don't know if its a good channel for that but i guess its kinda meta. Kinda clue...

https://satisfactory.wiki.gg/wiki/Tutorial:Picking_an_alternate_recipe

please give this one a read
we ar experimenting with an article specifically for this kind of question

Satisfactory Wiki

Everyone plans their factories differently and thus has different conditions for choosing recipes.
Spoiler warning: There will be mentions of certain production lines which you might not have unlocked yet.

#

still under construction

wind spade
wind spade
#

if they are not already there

oblique hollow
#

yeah, if i find the time

vivid mirage
#

a little more in-depth tip about the recipes you were able to choose: with the default recipes, you basically make reinforced iron plates from iron ingots (with some steps in between). now when you combine "Iron Wire" and "Stitched Iron Plate", you can also make reinforced iron plates only from iron ingots, but with different steps in between, and with the ratios you have with the alternate recipes, you can actually make more reinforced iron plates per iron ingot you put in

oblique hollow
#

every item page on the wiki lists general production values for alternate recipes

#

and some even have neat summaries of all the alts underneath

raw mica
random glade
lapis copper
#

Oh ive already seen that

muted crypt
#

have not played the game in a fat minute - are there a bunch of new crashed pods on the map? I don't remember there being this many according to SCIM.

leaden depot
#

This is pretty satisfying. Since this is making 1 beam to each 4 pipes, and they are in sync.

#

as long as I keep the steel supplied with coal, the machines will stay perfectly balanced/

#

Each half gets 4:1, and each machine gets 4:1.

#

if it was a different ratio I'd have serious issues.

#

I'm gonna sushi the ecrs, crystals, and beacons to my nuclear plant, but I think I'm gonna have to do smart splitting instead of trusting the balance of a single belt.

woeful kayak
#

Hi guys, I’m trying to make a 5 to 7 load balancer. I usually turn this problem into a 1 to 7 because it’s easier, so let’s go with that. I know the drawing on the right will get what I want, but I’m wondering if the left one with two belts from the outer final splitters going back into the first merger will get me the same result.

wind spade
#

but I'd advise against building balancers, unless you're doing it for some sort of challenge or something

woeful kayak
#

Duly noted. I agree the right side 1:8 with loopback makes a 1:7, can the same be said for a 1:9 with 2 loopbacks?

wind spade
#

sure, any loopback will work

woeful kayak
#

Ok cool, that made sense in my head but haven’t done a double loopback, just wanted to try something new. Appreciate the tips my man

oblique hollow
#

any loopback is a recursive series

#

((1/x)+1)

#

and then you keep dividing by x and adding back 1

#

it approaches a finite value

prisma kraken
#

the common solution to what you are wishing to do is to take the 8th output, and split it, and merge in the 2 1/2's after the first 2-way split

#

i think there is a better solution (besides manifold) if your inputs are all equal

wind spade
#

f.e. clocking the machines so that it's 5:5

onyx garden
#

what is the ratio of drills-crafters with limestone/concrete

median heath
#

Depends an a plethora of factors.

onyx garden
#

i have two ore things

median heath
#

Very specific.

thorn bane
# oblique hollow it approaches a finite value

people really need to stop talking about this part...
the balancer never "aproaches" anything
if 7 items go in 1 goes to each output
if an 8th item comes in it goes to the first output again
if 14 items come they go 2 to each
"no infinite limit required"

onyx garden
#

should i just do 1 crafter per 1 drill

oblique hollow
#

Alright, it reaches a final value but that still takea a few cycles

median heath
oblique hollow
#

its not instant cup noodle magic

thorn bane
wind spade
oblique hollow
onyx garden
#

ik kinda new to the game and i do not know what you're talking about

thorn bane
#

just think about the items going in and coming out
if 7 items come in they come out 1 on each
so each item has 1/7 items/min

oblique hollow
onyx garden
#

3 go in and 1 go out

oblique hollow
#

some nodes output more limestone per minute that others. Just like that

onyx garden
#

the drill is 60/smin

oblique hollow
#

if its on a normal node, sure

onyx garden
#

yea

oblique hollow
#

theres also impure nodes and pure ones

onyx garden
#

it is

oblique hollow
#

just look at recipes in the codex if you need to know the numbers

oblique hollow
#

items dont get lost but you sure as hell are not at the final speed value

thorn bane
oblique hollow
#

half and third splitters dont rely on feedback loops

thorn bane
#

the important part is that the 8th item that gets send back is ticking all the splitters and mergers internal states

oblique hollow
#

What

thorn bane
#

ok so a splitter sends items left right depending on its state
so if it comes back to the start of that you can call it a cycle
thats why 1:8 balancers have 1/8 items/min because the output gets 1 item over the cycle of 8 input items
but with a 1:7 balancer 1 of the item gets looped back so the whole system is at the start again even though only 7 items got put in, which means its 1/7 items/min

oblique hollow
#

nope i dont follow

thorn bane
#

wait who deleted the explantation from the wiki xD

#
Satisfactory Wiki

Prime splitter arrays are a type of load balancer, splitting one conveyor belt input into a prime number of outputs. This can help in creating efficient production lines where a prime number of outputs (e.g. to machines) is needed. Splitter arrays and balancers in general differ from manifolds, in that they fill every output simultaneously and d...

wind spade
#

wrong wiki

frosty owl
#

GG is da way

median heath
thorn bane
#

the recursive series is just part of another proof for the fact that it is always 1/7
because the splitter ALWAYS has 1/min going in
8/7 going from first merger to splitter
looping back (8/7)/8 = 1/7/min
the part where you need recursion is in the proof that that number is 8/7 since it is lim sum 1/(x+1)^n
but the items per minute is 'exactly' the lim of that, so it is always 8/7

frosty owl
oblique hollow
#

but it is not an instant transition

#

it cannot be

#

i even ran a dumb test for that right now

#

210/min for 7 smelters

#

you need 240/min as input so each of the eight outputs gets 30/min

#

but that takes more than one cycle

#

all 8 outputs start with 26.25/min
after that, you have an input rate of 236.25/min until THAT cycle is done

frosty owl
oblique hollow
#

it effectively takes 5 cycles to reach the final rate of 30/min

ornate echo
#

does anyone have a spliter / merger setup to extract 2/6 from a single line

oblique hollow
#

divide by 6, merge 2 of the 6 outputs

thorn bane
#

i feel like that idea of a "cycle" doesnt really make sense
you should think of it more as actual items, so that 7 items coming in is a cycle
lets say we send in 210 items in a minute
then the first output will get EXACTLY 30 items in that minute

oblique hollow
#

no it doesnt, i looked at all my smelters

ornate echo
#

i think i got it

#

thankies

thorn bane
# oblique hollow it effectively takes 5 cycles to reach the final rate of 30/min

as soon as the items hit the first merger it should be constant
maybe try standing next to the conveyor and see that it doesnt get faster (again as soon as the items hit the remerger)
also you can just put 210 items in a storage and see that it gets 30 to each
ofcourse some of those will be delayed because they need to go through the remerger first, but the speed will be (26.25 at the start, 30 during , 3.75 at the end as the last items come in)

#

offtopic but i wonder what an easy analogous real life differential equation is that has a lim math solution but is always in a fixed state

oblique hollow
#

not even capacitors are always in a fixed state, even though they charge and reach a finite state after around 13 charge constant time periods

#

there is always a transitional period in finite speed systems

#

heck, fire up any aluminum plant with split water cycles

#

that one also has a steady state

#

but that state is NOT after the first machine cycle

thorn bane
#

ye i guess it is kinda hard to say as even a 1:4 spliter has 0 items/min on one of the outputs for the first few seconds

oblique hollow
#

there is a difference between constant input systems and accumulating inputs

#

as you said: at first its 26.25

#

the first item that makes it to the merger bumps the rate up.... momentarily

thorn bane
#

well it is 26.25 just as 1:4 is 0/min
the convoyeur is just longer

oblique hollow
#

that 26.25 stays active until the splitter that loops back to the input receives one of the ores it already split off

#

because that splitter is responsible for sending it's items back to all other splitters. Including itself

#

so until the items that get sent back to the merger arrive at that exact splitter again, it outputs 26.25/min

thorn bane
#

well yes
but going 0,26,25,30 isnt really "aproaching"
its just 3 steps

oblique hollow
#

its not 3 steps

#

what makes you think 30 is the next final step after 26.25

#

at minimum its 5 steps

#

26.25
29.53125 (not 30, but close)
29.9414 (still within the game's accuracy range, so not 30 yet)
29.992675 (also within accuracy)
29.99908 (i feel fine with calling it 30 now, but the game might disagree if this was a constant rate)

ornate echo
fierce lava
#

is it basically adding buffer/balancer, if not enough add carts

prisma kraken
#

sort of... the 32-slot train car capacity is the limiting factor for 50 & 100-stack items

#

for them you can move ~1550 or 3100 items, respectively, (you'll never get a full 32 stacks in a train car, so round that down to 31*stacksize

#

so how long does it take to make 3100 ore, using the 100-stack values as an example?

fierce lava
#

feels painful to see a relatively short trip for bauxite needs 2 carts plus buffer and balancers *780

prisma kraken
#

for a miner rate of 600/min, you get around a 5 minute time

fierce lava
prisma kraken
#

when a train picks up a load, it would need to be timed exactly right to have a full last stack of cargo, any more than that, you'd end up with the miner eventually backing up, and the mining rate would reduce, so you just round down, we're dealing with integral math with these calculations; you count an incomplete last stack as 0 rather than 1

prisma kraken
#

even if you set a train to 'wait until full', it will pull out of the station with 31 stacks + 1 item, lol

fierce lava
#

xD

prisma kraken
#

i think that is technically a bug

fierce lava
#

I wish there be an alternative world where the devs said yes to logic circuits

prisma kraken
#

but with these things, its like real engineering, you always round towards the pessimistic side

#

i kind of agree with them in the feeling that it wouldn't add very much to the game for the complexity of development

#

there's a mod that adds all that stuff

#

i keep trying to find a reason or idea to justify the time to play with it, but i can't really think of a practical application

prisma kraken
#

i think a lot of the thought process for wanting the logic in the game is that we all kinda want a on-demand delivery service for building stuff

fierce lava
#

ye that makes since

fierce lava
prisma kraken
#

like i think 9/10 people start thinking about trains or drones delivering stuff when they need it at remote build sites and like in thinking, they realize they need some sort of on/off and basic and/or

#

the other 1/10 is 200 IQ that wants to do AI simulations in the game and like test hypothesese of the holographic universe or something 😉

#

ya know, build it because you can sorta sillyness

fierce lava
prisma kraken
#

ehh, there's a type that builds digital logic in minecraft and stuff like that, its way cool what they do, but like i don't think the game should be modified for that specific niche

fierce lava
#

cool but not necessarily to go that far

#

but still some kind of "if enough power generated open this value to fuel buffer" circuits would be decent for everyone

prisma kraken
#

i'm still mind blown by some of stin archi's ideas which i'm not sure if he even quite realized what he was doing, but he came pretty close to implementing analogue logic with belts in SF

fierce lava
#

but still still its too much work for current development hopefully we can see some kind of logic stuff in the future

prisma kraken
#

we're all scratching our head a bit about how much more CSS wants to develop the game, its feeling like they're wanting to get the game to 1.0 sooner rather than later

#

what i hope is that they entertain a short list of new additions to the game

fierce lava
#

analogue logic with belts for real

prisma kraken
#

i mean, it really is pretty much analogue circuitry that he's implementing, and running into all the same problems with things taking forever to cross thresholds

#

there's a reason we sort of abandoned analogue circuitry in tech, and its because of all the problems Stin runs into, lol

fierce lava
#

kinda feels like back when mobile minecraft (back when it was called the mobile version) doesnt have redstone components people using blockstate updates like signs and sugarcane to make logic circuits

#

its really cool but sadly problematic

prisma kraken
#

no, he created some sort of automated delivery system where you put an item you want into a train or drone station, and somehow, that triggers a rube goldberg contraption to start delivering you stacks of that item

#

its pretty neat

#

i'd have to rewatch his vids to give you more of an explanation

fierce lava
#

the recursive splitters

prisma kraken
#

i think that was mcgalleon making that point... i've been in and out of the convo

#

doing a 7-way split isn't something i'd do unless under durress, lol

fierce lava
#

so the takeaway from the convo is recursive splitters having a problem to really reach 1/7 right?

#

internal state of splitters and stuff

prisma kraken
#

i think they eventually do if built correctly, but its one of those things where 7 is a hard number to find a per 60 second cycle with, so you're probably always going to be measuring at some interval that itself is off and its very difficult to actually measure

#

more my preference in not doing a x->7 split of anything is that i don't want to build the splitting aparatus

fierce lava
#

same

thorn bane
prisma kraken
#

i would guess those errors tend to zero over longer time durations

magic island
#

you have the input and the surplus. you combine them, and split that 8 ways. each of the 7 machines gets 1/8th, and the last eighth becomes the new surplus.

you know all machines are getting the same amount, because they're getting the same 8-way split from the combined line. there's no more reason for them to be uneven than there is for any other 8-way split.

if the machines are getting less than intended, that would mean they're collectively consuming less than the input, and it would back up.

spin-up time is kind of academic. if the outputs are logically equal, and the input isn't backing up, it's working.

prisma kraken
#

items on belts are whole numbered items, you can't have half of an item, you just need to time things for longer duration and average them

#

the internal buffers on splitters and smart splitters do change the timing a bit, but the timing delta for normal splitters should always reduce to statistical noise over long durations

#

with smart splitters, i've seen some pathalogical cases of them holding on to items until the next burst of stuff

thorn bane
prisma kraken
#

in the end, logically, if you keep feeding in stuff to a container at of any kind at a constant rate, if that container does not have infiite size, eventually you're going to get stuff spilling out of the container at the same fixed rate

#

yeah, just measure over a longer time duration and it all becomes statisistical noise

#

i'm bouncing afk a lot at the moment,so sorry if i respond slowly

thorn bane
#

cause i woulnt say that this "approaches" 1/8 but at this point its just semantics i guess

quaint ridge
#

nope, this is definitely 1/8

#

to get 1/7, inject one of the last conveyor back in the 1st one

delicate chasm
#

The end result is that all machines will stay on 24/7 but they don't all start and stop at the same moment unless you pre-filled a load balancer or pre-filled the machines themselves and only then switched them all on.

prisma kraken
#

the only time i've used a prime splitter is a 1:5 and that was with nuclear... i'll say the naive looping bac the 6th input for that worked as you'd expect it to and distributed fuel rods evenly

#

with something that has a rate of 1 every 5 minutes, you'd know pretty quickly if it wasn't creating the proper balance

#

the experiment that i think you should try if you aren't convinced that the 1:5 or 1:7 balancer is to drop a single item through the balancer and do that over and over again and realize that items are coming out with a fixed pattern

#

i see greeny typing... and yeah, its all academic, it is better to just manifold such things or clock machines differently to change the split to be something better

wind spade
#

wut

prisma kraken
#

😛

quasi mountain
#

why does quickwire have more copper than normal wire

median heath
# quasi mountain why does quickwire have more copper than normal wire

Because QW is more expensive by nature.
Given Wire can be made from stuff as basic as Iron. Caterium is "worth" more, which is why adding it to Wire is a massive boost.
But QW being "worth" more than Wire is where adding Copper doesn't give you as much of a boost, because you're supplementing a "cheaper" resource while trying to boost a "most expensive" product.

quasi mountain
#

its different

median heath
#

Where did I say it was thicker?

#

It is different, yes.
Which is the "more expensive" aspect of it.

quasi mountain
#

well adding copper would make it more copper-ey then normal wire

#

1/4<1/5

rain bone
quasi mountain
#

game design perspective its fine im talking abt like

#

lore?

#

ohh misleading channel

#

where should I have put this?

median heath
quasi mountain
#

but yea very excited about the efficency of alt recipes

median heath
#

All 4 of those are good.

ebon crater
errant timber
ebon crater
#

I really doubt there is lore in the caterium alt recipe...

quasi mountain
quasi mountain
ebon crater
quasi mountain
#

thats what I did before but now I see the light (iron and copper alloy alt recipe)

#

not even gonna make steel

#

just using the foundry for iron and copper

median heath
#

Iron Alloy + Solid Steel is an amazing combo

quasi mountain
#

ooo lemme look

median heath
quasi mountain
#

(started saying that to look unhinged)

outer tangle
#

Question for ya all.

#

has update 8 changed water and fluid mechanics

#

i keep seeing 4 water extractors to 8 coal gens and run water extractors at 75%

#

but my water is basically running out

#

it was working fine at 100%

prisma kraken
#

does anyone have a guestimate of how long it would take a train (without stopping) to make a loop around dune desert?

#

wondering if 5 minutes is in the ballpark or its more like 10 minutes

#

i'm trying to measure the distances in SCIM, and getting a figure of it being about a 6 km loop

oblique hollow
#

In U8 i noticed a lot of old bugs have been squashed

#

Maybe U7 did something too but G2 said specifically in the interview before U8 that thers a few things he wants to fix

#

One of the things fixed seems to be shared head lift

median heath
oblique hollow
median heath
oblique hollow
#

it no longer breaks as much and increases, but at the cost of no longer being back to the original height it seems

median heath
#

Ah, fair.

oblique hollow
#

would need to test specifically what the reduction is

#

that and a few other fixes from my old bug report

#

... Except buffer sloshing xd

median heath
#

Buffers are an odd thing.

oblique hollow
#

buffers arent just big pipes

median heath
#

Exactly.

oblique hollow
#

normal pipes reach max flow when full

#

buffers reach max flow when filled to 75 m3 / 300 m3

#

(cause that equals 1.5 m head lift)

median heath
#

Buffers will probably be fixed, wonder if they will adjust ISCs at all too.

oblique hollow
#

head lift seems to have 2 ranges: 0 to 1.5 and 1.5 to infinity

#

up to 1.5, head lift is the pressure that generates flow rate

#

since in the code they dont use another pressure variable

median heath
oblique hollow
#

just another name for it

oblique hollow
median heath
#

Interesting.

#

So it's 25% of a normal, but 12.5% of an IFB

oblique hollow
#

300/ 2400 x 12 = 1.5

#

its due to their height difference

median heath
#

Fair.

#

Wonder if 1.0 ISCs will actually be 2:2 balancers or still have their priority system.

visual bane
#

i hope people find it useful

vapid gorge
#

@azure olive post shots from higher up of your pipe set up

azure olive
#

Yeah 1 sec
I don't think math is my problem but we'll see

#

ok so there are my blenders for diluted fuel. every row of 5 (from left to right) is a system by itself

#

the row with the lift is one of the rows that does not receive enough HOR (screenshot will follow in a sec)

#

each HOR pipeline that is pumped upwards is fed by 10 refinerys (40 HOR each) and another 10 refinerys is split into 4 pipelines to fill them to 500 HOR

#

blenders take 500 ( 10* diluted fuel per pipeline)

#

need any more?

vapid gorge
#

ok a few things

  1. you don't seem to have looped the input manifolds
  2. it looks like you're linking manifolds in the 2nd pic?
#

whats happening here?

azure olive
#
  1. no, didn't loop them
#
  1. yeah, thats 10 refinerys (400 HOR) for 4 pipelines (400 HOR each) to get 4 pipelines with 500 HOR
#

so the pipelines on the ground is 400 and the one leading down to them is meant to bring in another 100 HOR

vapid gorge
#

ppffttt.... ok
do you want:

  1. maybe a quick patch job that might work?
  2. a thorough job that'll require a fair bit of repiping but basically guaranteed to work if hte math is right?
prisma kraken
#

so i have to ask... why aren't you just taking 400 hor and sending it to 8 blenders?

azure olive
#

ppffttt... what is ppffttt😅

#

i'd gladly take number 2

vapid gorge
#

Ok so I run by a few simple piping rules that work universally

visual bane
#

i have a suggestion to help with the math :3

azure olive
visual bane
#

huh...?

vapid gorge
#

the fill pipe doesn't have to be above, to the side works too

azure olive
#

ok got it

visual bane
#

what did i do...?

vapid gorge
#
  1. if a Point B needs X fluid pm? Have Point A send X fluid pm. Don't merge and split things a bunch. It's not impossible to make systems like that work but it's a lot trickier trouble shooting things and getting things up and running
#
  1. Flood each fluid step by having like 1 machine at 10% run speed so the whole system is flooded, do that at each step
prisma kraken
#

exactly, keep pipe networks simple

median heath
vapid gorge
#

Extra bits:
feeding from below is possible but you need to be careful how you do it
pipe holes can sometimes be buggy and stop headlift, avoid using them just clipe pipes through them for visuals.
Don't split fluid manifolds vertically - if you need fluid at different elevations? make separate manifolds

vapid gorge
wind spade
visual bane
#

what are they?

wind spade
vapid gorge
median heath
#

The comparison I was purposefully not making 😭

wind spade
#

Fyi I'm not tryimg to devalue your work or anything, I'm asking purely from interest

azure olive
#

thanks cobalt, i'll try those.

visual bane
vapid gorge
# azure olive thanks cobalt, i'll try those.

it'll probably take ripping out most of your current pipes sadly but those steps will work in basically any pipe situation you have in the future.

they mostly aren't hard rules you HAVE to do but they do make your life easier.

Like some systems you can do w/o manifold loops - but I can't be bothered testing what the limits on that is so I just loop everything

vapid gorge
#

clocking is a POWERFUL tool

azure olive
#

can you explain what looping the manifold does? i thought if i bring 600 in and a row of refinerys takes 600 it'll work just fine

wind spade
visual bane
median heath
#

Tools has a "maximize" option.

vapid gorge
visual bane
#

i guess nothing, then...

#

😔

#

nevermind...

wind spade
#

Again though, good job in making it. The math is pretty hard

vapid gorge
# azure olive ok, got it. thanks

If you're only feeding like 2 or 3 machines from one pipe you can probably avoid having a loop, and I've seen turbo fuel set ups work w/o loops but I suspect it's because they consume so little fluid pm

prisma kraken
visual bane
#

so if you like using the command line, and you want a fast answer, then... there's that, i guess...

#

i think its pretty intuitive to use

prisma kraken
#

something i'm sort of realizing that i'm doing by accident is that i always raise my pipes 2m off the ground just to give walking and belting room, i'm starting to think that may make a lot of difference

visual bane
#

its also really customizeable, since you can edit the recipe config to be whatever you want

#

you can even add modded recipes potentially

wind spade
#

It seems it can't use multiple recipes per item though 🤔

visual bane
#

no, it... cant

#

thats a limitation i havent figured out...

prisma kraken
visual bane
#

my coding style is... unorthodox

#

i used a lot of maps and filters

wind spade
#

Which also gave me support for reusing byproducts

prisma kraken
#

no... it isn't confusing, what i mean is that if you need for example, 15.6 foundries to process 780 copper into copper alloy, adjust it to be 16 at 97.5%

visual bane
#

thats not too complicated

prisma kraken
#

yeah, but try to find the number of machines that's a number of the form 2^n*3^m

#

i.e. 2,3,4, 6,9,12, etc

#

things that are perfect splits

visual bane
#

ah... okay

prisma kraken
#

it isn't hard to code, i have a little program somewhere on my laptop that finds that number

visual bane
#

i can easily add that feature in

prisma kraken
#

yeah, you just add those numbers to a binary tree for m,n < 10, and then do a lower_bound search to look up the number

#

but then kind of searching for the right one that doesn't suck to build would be easier

wind spade
#

most people don't care about that tho 🤷‍♂️

prisma kraken
#

hey, its math that i do pretty often by hand 🙂

#

i've been trying in a lot of factory builds to intentionally do more perfect splits really just to get good at building them for when it actually does make a difference (power, low volume-high cost items)

#

plus i just enjoy belting and geometry puzzles 🙂

visual bane
wind spade
#

I guess linear optimisation can again do it 🙂

visual bane
#

essentially you're trying to find a 2d vector with whole number values that satisfies a condition

prisma kraken
#

you're either throwing the numbers into a lookup table or stepping from ceil(15.6) up to the next integer that has only 2 & 3 as factors

visual bane
#

there's going to be an entire pareto boundary to explore

#

and you need to find the whole number soln with the closest distance to that boundary

#

or one that lies on it, if it exists

prisma kraken
#

doing log2(100) comparisons on the values in a tree is probably about the best your going to get

wind spade
#

linear optimisation 🙂

visual bane
#

finding the distance to points on a straight line should be simple

#

just need to derive the equation for the line

wind spade
#

that's for one C

visual bane
#

C = how many machines to build

#

we want C in N

prisma kraken
#

well, you're starting with a real-valued number of machines like 15.6 or 33.33333

#

that's always going to need to round up to the next integer at least

visual bane
#

then you would do a marching squares along the line's path to traverse all of the whole number grid points nearest to it

prisma kraken
#

rather than just rounding up though, you look for the next greater integer that is 2^nx3^m

visual bane
#

and test each one for distance from the line itself

#

the algorithm should only be O(n) where n is the length of the line

prisma kraken
#

it may be faster, i don't know

visual bane
#

and... that depends on what the formula for this line is

prisma kraken
#

i don't think speed matters for this

#

but i approach such problems as a programmer, not as a mathematician

visual bane
wind spade
#

I guess you can just store cached values up to 780

visual bane
#

this is the equation for the line apparently

prisma kraken
#

that's pretty much what i was suggesting

visual bane
#

thats more complicated than i expected

prisma kraken
#

that is a whole lotta ugly, lol

visual bane
#

well if its hard coded

#

its ugly the user doesnt have to see :p

prisma kraken
#

how do you get the 2 i pi in there?

#

that's like extending it out of the domain of whole numbers

wind spade
#

immaginary constructor

prisma kraken
#

isn't that the craft bench?

visual bane
#

it seems like it extends into the complex plane

#

we can just drop that factor since we arent working with imaginary amounts of machines :3

prisma kraken
#

i'm sure it does, but don't you remember in algebra class to just toss away the imaginary roots?

visual bane
#

well you do that because they're in the complex plane

#

and the complex plane is too complex to teach to calc 1 students

#

thats why you throw them away

prisma kraken
#

the thing is that you're actually looking for integers in a sea of real numbers along that line

visual bane
#

yes

#

i suggested the marching squares algorithm

#

which traverses the line, passing by every nearest whole number vertex along the way exactly once

prisma kraken
#

ehh, knock yourself out if you want to code it

visual bane
#

i do :)

prisma kraken
#

let me find an icky set of numbers i'm working with in the game for you

#

910/min of cheap silica, which resolves to this as just the basic math:

#

i've been trying to find something to do with that number of assemblers to make it not completely bizzarro

#

i don't think it is possible, there's a 7 & a 13 in the numbers, and i think anything is just going to resolve to some nasty fractions

#

another thing that you could consider adding to your tool, is extend the idea to overclocking as well, and solve for the minum number of power shards needed to reach a goal

visual bane
#

thats simple...

#

if the fractional part is <0.5, you need 1

wind spade
#

it should not matter where you put shards, as long as you're using them fully 🤔

visual bane
#

if it's >0.5, you need 2

#

thats it

#

you put them both in one machine, or one in two separate machines

#

you can just take the numbers outputted by the program, and:

  • round up if you dont want to use power shards
  • round down if you do want to
prisma kraken
#

yeah, but there are times i decide to clock everything to 125% and realize that i could use less shards

visual bane
#

just leave all but one at 100%

#

then clock the last one up to the fractional amount

prisma kraken
#

right, but what other answers are there?

visual bane
#

for minimum number of shards?

#

well, there's only one answer
use one shard

wind spade
#

zero 😄

visual bane
#

you cant use less than one

prisma kraken
#

for clock speeds given x number of shards, etc

prisma kraken
#

i'm not sure exactly what i mean

visual bane
#

if you need 5.5 assemblers

#

then set 4 of them at 100%
and put a shard in the fifth one, and set it to 150%

prisma kraken
#

as i said, i play with the numbers quite often to see if i can get a perfect split

#

if i see that it'll only cost 8 shards in a build to do so, i may decide to build it differently

visual bane
#

well... if you want to upclock all your machines in the split, to keep them at the same production rate

prisma kraken
#

its just simple math i do pretty often

visual bane
#

you always need at least one shard per machine

prisma kraken
#

yeah, there's a few other patterns that i use as well

#

like having the last 2 machines on a manifold at the same clock speed to speed it going to 100%

visual bane
#

idk what a manifold is...

wind spade
#
--S--S--S--S--S
  |  |  |  |  |
prisma kraken
#

line of splitters feeding machines

visual bane
#

i only have like 40 hrs in the game

visual bane
#

i just started doing that on my own lol

prisma kraken
#

haha, yeah

visual bane
#

if the fractional amount is > 0.5, then you need at least 2 shards

#

so in that case you just split them between the last two machines

#

you could equally just put both of them in the last machine and clock it twice as high

#

or put both in any of the other two machines

#

or choose any two machines in the manifold at all

prisma kraken
#

yeah, i'm often doing .75 and .75 instead of one machine at 1 and another at .5

#

but there are all sorts of little interesting edge cases

visual bane
#

well...

#

for a given manifold, you really only ever need at most, 0, 1, or 2 shards

#

that covers the entire real number line

prisma kraken
#

if the manifold only feeds one type of machine/recipe

visual bane
#

then it's per-recipe

#

so just find the fractional parts of each recipe, multiply by 0, 1, or 2 shards per depending on if the fractional part is 0, 0 < x < 0.5, or >= 0.5, and sum that up

#

and thats the number of shards you need

prisma kraken
#

there's also stuff like a manifold of 60 iron ingots will evenly distribute them between a plate constructor and 2 rod constructors without overflowing

#

b/c they take 30+15+15

visual bane
#

thats getting into different math tho besides shard usage

#

i think

prisma kraken
#

i'm just tossing out the type of stuff i think about at times, and like maybe there's some ideas for you in it all

visual bane
#

mhm

#

ok

#

ill think about it

prisma kraken
#

but like for stuff like that, understanding that if i arrange the machines in this order instead of this order, i have a better design... that i think is sort of useful

#

and its pretty duh for the iron example i just gave, but maybe there's some of those numbers in more complicated recipes no one has really figured out?

visual bane
#

well...

#

if we use your perfect split algorithm

#

such that we can distribute the resources between all machines perfectly evenly

#

and we always round up, so that we can downclock the machines

#

then... that should cover all cases

#

universally, pretty much

prisma kraken
#

there's another dimension to the problem of clocking

#

and that is that sometimes the cycle time for the clock speed you pick ends up being a fraction that is inexactly representable as 'x number of milliseconds'

#

avoiding that leads to better results

visual bane
#

like, you dont have to use the slider

#

you know that...right?

prisma kraken
#

you can even enter in stuff like '400/3'

visual bane
#

wait, that works?

prisma kraken
#

mhmm

visual bane
#

huh..

#

i considered representing the fractions in my program using fractional datatypes instead of floats

prisma kraken
#

i think honestly representing this stuff as rational numbers and doing lazy eval on the decimal conversion is a better means to do the calculations

visual bane
#

its true

#

but floats are precise enough i think

wind spade
#

how can you use "floats" and "precise" in one sentence

visual bane
#

like, it's unlikely you'd run into an issue where floating point imprecision is going to ruin your factory plan

prisma kraken
#

i'm a systems programmer by trade, i avoid floating point math like the plague unless i'm calling printf() 🙂

visual bane
prisma kraken
#

well, um, the game does have some errors in the pipe simulation due to floating point imprecision

visual bane
#

imagine if we used bigint rational datatypes to represent all real numbers

#

every time you performed an operation on a number it took up twice as much memory

frosty owl
visual bane
#

your program would run out of ram in 100 clock cycles :p

prisma kraken
#

most numbers in the game itself aren't big enough to cause problems and somehow a lot of the rounding of the 1/7ths and stuff doesn't cause a lot of problems

prisma kraken
frosty owl
#

I never noticed issues outside of the testing arena after the last belt patching.

#

In other words: I recorded loss in testing, but never found or had reported any "real world" example of loss (after the patching; the issue was noticeable enough for many to notice before)

prisma kraken
#

i've not seen any, but i haven't been looking, and what i've been building hasn't been stuff where i would notice a once an hour timing glitch

frosty owl
#

I also tend to build with the b2b issue in mind, so I rely hearsay/research to know of any issue in this regard

visual bane
#

as long as the simulation is processed in discrete time steps, it'll be impossible to entirely eliminate all rounding errors

prisma kraken
#

i find it difficult to know what is real versus old wive's tale from 3 updates ago 🙂

frosty owl
#

It can be "good enough that no error pops up", within some constrains (no maxing of logistics)

prisma kraken
#

also, sometimes things round in such a way that errors cancel out

#

i've witnessed them not cancel, but it is pretty rare

frosty owl
#

If one feels like stress-testing things, they're free to grab a copy of my SFR save files to run in the background hehe
As soon as something doesn't go as we predict, things would just clog happy_hannah

prisma kraken
#

i gotta say, the iron wire+stitched plate combo is one that i always watch

#

the numbers for that are always ugly AF

#

more so when you're doing iron oscillators and making 28 cable/min from iron wire too 😉

oblique hollow
#

stitched + caterium wire jacesus

frosty owl
prisma kraken
#

if you're going THAT route, lets used fused wire instead with copper alloy?

frosty owl
prisma kraken
#

I'm not sure i can find the bp where i witnessed it... i know the save, but i believe i deleted the bp

#

well, fixed the bp

#

what i was doing was taking the wire output into a smart splitter, and just as a choice of how i belted it, i used a smart splitter to overflow the wire one way into a cable constructor and direct the wire into a plate assembler the other way

#

what should have happened is for it to eventually balance out with the uneven amounts

#

but after hours and hours, it never did

#

how i resolved it was just changing the belting around to split and then split again or something so instead of going in 2 directions, it was only flowing in one direction

#

something about the timing of everything just didn't work correctly

#

it would take me a while to find the bp in an old save

frosty owl
#

Too vague for me to understand fully :/
If you ever happen to have the save on hand, would you mind sharing the setup?

#

No rush :)
If you happen to come across it, noice, else we can live without~

prisma kraken
#

i'll keep it in mind, actually let me load that now, it'll be a good break from building train stations 😛

#

i don't know if i have a copy of the 'unfixed' bp

#

i'm kinda happy, seems the 'load big save after other big save was loaded' crash is now fixed

visual bane
#

i re-configured that formula, its actually a bit nicer now

prisma kraken
#

well, that's something 🙂

#

heh, loading the save, i was greeted by a friend:

oblique hollow
#

oh wait minus

median heath
oblique hollow
#

then its log(c) / log(3)

visual bane
#

the final formula is this

#

very nice and clean c:

prisma kraken
#

what is the 'c' again?

visual bane
#

number of "base" machines

#

that we want to find a number of the form 2^n*3^m thats nearby to

prisma kraken
#

well, greater than for the original problem

visual bane
#

rightttt

#

that changes things a bit

prisma kraken
visual bane
#

in that case... we dont have to use marching squares

#

we can just zig-zag along the top of the graph

prisma kraken
#

i think i was trying to do something clever with it, but damn if i can remember what the thing was

visual bane
#

this is untested but

#
fn nearest_perfect_split(c: usize) -> Option<usize> {
    let log_2: f32 = 2.0f32.ln();
    let log_3: f32 = 3.0f32.ln();
    let log2_log3: f32 = log_2 / log_3;
    let denom: f32 = (log2_log3.powf(2.0) + 1.0).sqrt();
    let b: f32 = (c as f32).ln() / log_3;
    let f = |x: f32| b - log2_log3 * x;
    let dist = |x: f32, y: f32| ((-log2_log3) * x - y + b) / denom; // denom can be removed theoretically
    let mut closest = None;
    let mut closest_dist = None;
    for x in 0.. {
        let y = f(x as f32).ceil() as i32;
        if y < 0 {
            break;
        }
        let new_dist = dist(x as f32, y as f32);
        if closest_dist.map_or(false, |c_dist| new_dist < c_dist) {
            closest_dist = Some(new_dist);
            closest = Some((x, y));
        }
    }
    closest.map(|(x, y)| 2usize.pow(x) * 3usize.pow(y as u32))
}
#

what unholy abomination have i created

prisma kraken
#

haha

#

that's why i just threw the values into a table and did a binary search on them 😛

visual bane
#

the algorithm is O(log c)

#

worst case

#

but it looks like that

prisma kraken
#

yeah, the binary search, minus the init which is o(n^2) is log(n) as well

visual bane
#

hold on i "improved" it
its even more cursed now

#
fn nearest_perfect_split(c: usize) -> Option<usize> {
    let log_2: f32 = 2.0f32.ln();
    let log_3: f32 = 3.0f32.ln();
    let log2_log3: f32 = log_2 / log_3;
    let denom: f32 = (log2_log3.powf(2.0) + 1.0).sqrt();
    let log_c: f32 = (c as f32).ln()
    let b: f32 = log_c / log_3;
    let d: f32 = log_c / log_2;
    let f = |x: f32| b - log2_log3 * x;
    let dist = |x: f32, y: f32| ((-log2_log3) * x - y + b) / denom; // denom can be removed theoretically
    let mut closest = None;
    let mut closest_dist = None;
    for x in 0..(d.ceil() as u32) {
        let y = f(x as f32).ceil() as i32;
        let new_dist = dist(x as f32, y as f32);
        if closest_dist.map_or(false, |c_dist| new_dist < c_dist) {
            closest_dist = Some(new_dist);
            closest = Some((x, y));
        }
    }
    closest.map(|(x, y)| 2usize.pow(x as u32) * 3usize.pow(y as u32))
}```
prisma kraken
#

it would be interesting to see which version is actually faster, but they're both probably so quick that writing the test harness would be awful, lol

visual bane
#

i bet mine's faster

#

also it generalizes to arbitrarily high values

prisma kraken
#

i dunno, lot of fp math

visual bane
#

ngh...

#

a lot of it is constants that could be extracted to the global scope

#

so those would only be computed once

prisma kraken
#

yeah probably a lot of that is already optimized away by the compiler

visual bane
#

mine is also guaranteed to find the best solution

#

because it traverses every potential candidate for being the closest to the value

prisma kraken
#

i need to get some sleep, but let me noodle it, pretty sure there is a quicker algo still

visual bane
#

i am 99% confident this is the optimal algorithm

#

i do not think a faster one that finds the optimal solution exists

prisma kraken
#

like find the base 2 log of the value, the base 3 log of the value and step through the combos between the two integers rounded

visual bane
#

this line is the pareto boundary for points that are optimal

#

all whole number verticies above it are valid candidates

#

and the only candidates worth exploring are the ones directly above it

#

those are exactly the ones my algorithm steps through

#

there is one in each vertical x coordinate file

prisma kraken
#

i think it can be done quicker, possibly in constant time, but i need to think about that and i'm tired

visual bane
#

these vertices

prisma kraken
#

yeah, i have a feeling that there's a dirtier way that is simpler

#

but i'll sleep on it 🙂

visual bane
#

if you say so

prisma kraken
#

now that i think about it, the table method has to be faster than computing the distance to that line

#

the improvement you can make is calculating the table on the fly, but only for the values bounded by your line

visual bane
#

it should have 3,1 marked instead of 3,2

prisma kraken
#

have a good night 😉

#

ahh yeah, i won't tell anyone

visual bane
#

could use linear algebra maybe...

#

probably wouldnt net any performance

visual bane
#

here's a sample output:

Machines:
 * Smeltery
   - 1.08 for Iron Ingots, or 2^1 * 3^0 = 2 at 54.17%
   - 4.08 for Copper Ingots, or 2^1 * 3^1 = 6 at 68.06%
 * Refinery
   - 7.25 for Plastics, or 2^3 * 3^0 = 8 at 90.62%
 * Manufacturer
   - 1.00 for Computers, or 2^0 * 3^0 = 1 at 100.00%
 * Assembler
   - 3.33 for Circuit Boards, or 2^2 * 3^0 = 4 at 83.33%
 * Constructor
   - 2.17 for Iron Rods, or 2^0 * 3^1 = 3 at 72.22%
   - 5.00 for Copper Sheets, or 2^1 * 3^1 = 6 at 83.33%
   - 0.75 for Cables, or 2^0 * 3^0 = 1 at 75.00%
   - 1.50 for Wires, or 2^1 * 3^0 = 2 at 75.00%
   - 3.25 for Screws, or 2^2 * 3^0 = 4 at 81.25%```
ashen stirrup
visual bane
#

i didnt know other tools existed
but

#

as far as i know, it doesnt have as many features

#

but it is a command line utility, and it's much faster and more responsive than the website to use

#

also it has this perfect splits feature that i just added at moonchild's request

#

which im not sure is a feature on that site? idk i havent checked

#

but uh to summarize

#

no its not really better or more useful
its just a thing i made

#

because i wanted to

#

:)

ashen stirrup
#

Thank you, I appreciate it! Yeah I've been doing the perfect splits thing by hand, and it's been kind of annoying, so I see that aspect of the utility. I also fully understand and appreciate the impulse to make your own version of something, even if it's just to better understand the thing you're making.

visual bane
#

it was just a project idea i had

#

since i started out by doing all the math by hand

#

once i got the hang of the process i figured i could automate it

#

so i built this nifty lil' utility :)

#

i didnt know there were other tools that already existed (though i probably should have assumed that)

#

i was just proud of it and wanted to share it around and stuff

ashen stirrup
visual bane
#

well if you find any bugs in mine, lmk

#

i havent found any
besides the known flaws listed on github

#

but those arent really bugs, they're more design limitations

vapid gorge
deft lichen
#

hopefully you'll be able to work out byproducs, as without them, the tool can't be used beyond tier 4

ashen stirrup
vapid gorge
ashen stirrup
#

Is this different from manifolds?

vapid gorge
# ashen stirrup Is this different from manifolds?

not nescesarilly you were just talkign about 'perfect splits'? just easier to manage things and spliting properly if you clock machines as needed and control what gets put on a belt in the first place to make life easier

ashen stirrup
#

So it's not necessarily avoiding splitters altogether, just doing the load balancing at the machine output level?

vapid gorge
#

you can organise it so if you must load balance you can get much simpler set ups

#

most people seem to just take a total output then go the hard way and try to balance it. Instead you can tweak the output and input groups with clocking to have simpler set ups

twilit orbit
#

anybody remember offhand what the "ideal" number of cars in a train was? Last save I did five but I think it was supposed to be like 7?

frosty owl
#

Iirc it was 4 cars per locomotive @twilit orbit

mystic moon
#

It's really hard to nail down an exact "ideal"

wind spade
mystic moon
#

I'm pretty sure it was based on the number of items

#

So something that stacks to 500, like concrete, will be significantly heavier than a car of modular frames that only stacks to 50

frosty owl
#

That's fun ^^

median heath
mystic moon
#

Oh, thanks for the correction

ruby pond
snow dove
#

beautiful 🥲

oblique hollow
#

Truly a work of art. 🫶

ebon crater
#

I have a bit similar but on excel because my handwriting skills are like this

manic bloom
#

Rotation matrices 👀

ebon crater
#

Yes

#

How you could tell idk

prisma kraken
#

you can also get away with more train cars if you're empty trains go uphill and bring full loads downhill

manic bloom
#

Also people who write the number 4 <--like this

prisma kraken
#

imho it is too much work to vary train length on the network, so i just stick to a 4 car standard

ebon crater
delicate chasm
#

That's almost as bad as people who write the kick on lowercase L.

manic bloom
#

I am not one to speak on letters and numbers tho...
the numbers 1, 0 and i look the same when i write quickly...

ebon crater
#

I write shitty cursive tho

ebon crater
manic bloom
#

Maths and CS

ebon crater
#

Ah ok

#

Cool

wind spade
#

@snow dove more clear example

true junco
# manic bloom I've seen my fair share of wonky matricies

The first time i actually used matrices was in Tensor Analysis. 🤣 apparently linear algebra was a prerequisite for TA in the math program, but it wasnt for engineers and physicists... so 2/3rds of the class hadnt taken the prerequisite. Good times...

primal flicker
#

@drowsy glacier if you care... 8 pizza slices, basically, with two crammed in the middle. Power hung from the ceiling, central pole/cable connecting floors.

drowsy glacier
#

I AM genuinely belly laughing over here, thank you for this

primal flicker
drowsy glacier
#

I came up with it on the spot, no reference!

#

I figure if its channeling 800 fuel generators worth of power, there might be at least a healthy St Elmos around the place.

#

521 Kilo Amperes at the low end of US Transmission voltage

primal flicker
#

Had no idea he had tinkered with such designs!

drowsy glacier
primal flicker
prisma kraken
#

its a bit of folk tale mythos, he's from my hometown, it probably did actually happen, but the story is pretty overblown... ben franklin was a pretty smart dude though

#

you gotta hand it to the guy who pretty much invented the modern fire departments AND fire insurance, lol

drowsy glacier
#

I appreciate not being strongarmed into paying to save my burning house

prisma kraken
#

its more that he found a need for a service to stop fires from ravaging things and played the angles to make a buck

zenith ledge
# ruby pond

Wow how do you do stuff like that ? Is the top the end of production?

ruby pond
zenith ledge
#

Congrats, sure you avoid lots of headaches (and spaghetti) this way!

prisma kraken
ruby pond
#

i have no factories since i tore them down but i do have a planned out power supply. :,) but avoiding spaghettis seems to work

ruby pond
zenith ledge
#

Though maybe at later stages I'll have to use them lol

median heath
prisma kraken
#

yeah, sftools i use to sort of figure out with x nodes of y, how much can i make

#

then i use another tool that is pretty much a book keeping system for planning out my actual builds (sp.runesun.com)

#

i used to just use a spreadsheet for it all, but runesun's tool just does what i'd be doing in a spreadsheet w/o all the formula entry

#

is there any sort of tool out there that will do factory floor layouts?

#

i don't think there is (besides something like vizio)

noble timber
deft lichen
#

snuttstach_stare are those quaternions

noble timber
#

just regular old vectors

deft lichen
#

hm, but you can describe a vector with a quaternion just like with a complex number, just in more dimensions (if I get it right)?

noble timber
#

I've not really done quaternions but as I understand, they are expressed in 4 dimenstions right?

#

I hope I never come across them... i'm just a chemical engineer student not mathematics 😭

arctic willow
#

i did maths at uni but that was a looooong time ago jacelul

noble timber
#

Two of my friends are doing masters in maths and their degree is looking easier than mine so far lmao

#

(The maths part)

median heath
#

When you get to mk2 Lifts before ever unlocking mk1 Lifts 😄

ebon crater
#

I need some help. I have a total of 645 turbofuel for gens, and 45/min for packaged. the bottom left blender is for the packaged. to make sure my powergrid is stable, I want to run the fuel for the packaged thru the rest of the systems to make sure any problems get resolved by the extra blender. then the overflow(marked O) goes to the packaging. the four arrows on the right are the outputs to the fuel gens. there are a few pipes connecting the different levels because I thought it would help equalise everything. the top floor is not runnning smoothly, and I think its because I tried to do too much with the pipes. how can I split the oil the way I explained it, but without pipes being wierd. a bit stumpted on this one

#

apologise for the terrible pic

primal flicker
ebon crater
primal flicker
#

You said the top floor isnt running smoothly. DId you mean the top floor of generators?

ebon crater
#

yea, sorry

primal flicker
#

Have you idled some of them to allow all the pipes and gens to fill?

ebon crater
#

no because I did that before I started them all up

#

an iways im working on turning them all off

#

but thats not my issue thats simple. i want to make sure my pipe layout is ok

#

bc its janky and idk if it even works

#

and like idk if those downard pipes to connect the levels are messing things up

primal flicker
#

Hmmm, the fluid will always prefer a downward path. So the vertical bits without a pump might be robbing flow from top to bottom. But if your fuel supply really does = fuel demand, that would back up and the top would stay supplied regardless. 🤔
It would probably be simpler and less buggy to maintain discreet modules at fixed ratios. X blenders for Y generators, and they don't cross-connect.

ebon crater
#

is the overflow pipe set up properly

#

because thats kinda there just in case

primal flicker
#

If you're following the numbers, "just in case" isn't needed and might cause hiccups in the system.

#

I would have chopped it up into blocks and left the packaged turbo input separate from everything else.

#

That way if there's a problem you know it's confined to that module.

ebon crater
#

I guess.... well i am folloing the numbers I just always use overflows in case

primal flicker
#

Much simpler application, but that's why I don't cross-connect the water feeds for my coal generators. I keep them in discreet 3:8 blocks.
Last time I built fuel, I had a single riser pipe to feed each floor, and nothing was cross-connected between floors or between the blenders feeding separate floors.

ebon crater
#

I guess

#

I did the same for coal

#

I mean turbo is 1:10 so its pretty simple

#

ig ill just do that

#

thats what I did a first but then I changed my mind

#

so just delete a few pipes and ill be good

primal flicker
#

"Keep it simple" tends to pay off. Don't make it more complicated unless the simple design shows you a reason to do so.

#

I had 50 gens per floor, so linking 5 blenders to send 450/min up each riser was both the simplest and most effective way for me to feed it.

#

So time consuming tho...

ebon crater
#

yeah I thijnk I have 40 per level for top 3 and 30 for bottom

flint mesa
#

When I don't want to use the existing satisfactory tools for simply making steel...

#

Just 2 pure iron, 2 pure coal. Realising I messed up my belts though, since there's 4 going in and 2 going out.

soft trail
ebon crater
flint mesa
#

There we go, that fixed the belts. Probably a better method for belting, but this works.

wind spade
#

You could also do two sets of machines that eat 480 each

flint mesa
#

I considered that, but it means more underperforming foundries. Unless I'm mathing wrong

wind spade
#

Not underperforming, just underclocked

flint mesa
#

Actually I may overclock all my iron / coal nodes to 150% and then I'll hit the perfect 32

wind spade
#

I'd personally suggest to calculcate from end product, not from nodes

flint mesa
#

1-1 in this case, because 3 iron + 3 coal -> 3 steel.

I assume you mean aiming to have full outgoing belts though, rather than perfectly filling foundries?

wind spade
#

No, I mean you start with e.g. "I want 15 modular frames/min" and then calculate how much raw resources it needs and build it

#

Instead of going "let's convert whole node to some intermediate"

flint mesa
#

Aaaah gotcha.

wind spade
#

Because you rarely need raw resources in exact "1 node worth" amounts

prisma kraken
# flint mesa Aaaah gotcha.

quick note on your diagram... you're using mk1 belts in it for the feeders to the machines... you may be thinking that it saves resources to do so, but uniformly belting with mk3's would cause the manifolds to warm up faster... i usually just use the fastest belt speed i have available for the feeders, with a caveat that I'm not a big fan of using mk4's for much of anything

#

also, carrying extra beams instead of beams and plates is better inventory mgmt

#

also there comes a time in the late game for me where i need to hunt for any belt that isn't mk5, so time-consuming to do 😄

wind spade
#

yeah there's pretty much no reason to ever use any lower tier belt than the max you have available

broken kiln
vapid gorge
#

Moving 2x as much stuff sucks? Amazing

quasi mountain
#

How do I figure out roughly the ratio of iron to copper I need to be producing?

median heath
quasi mountain
#

iron and copper alloy ingots

median heath
#

None of that changes what I said.

You choose how much of each item you want to produce and then build accordingly.

#

There is no correct number of anything.

#

There is no optimal number of anything.

#

Production quotas are 100% personal preference.

#

Iron Plates, for example, some people make 20/min. Some people make 180/min. Some people make 500/min.

All of these are completely valid approaches

prisma kraken
#

how i generally approach things is that i want to be making a little bit of surplus of goods besides what other factories need, and by a little bit, i mean 10/min as just a loose target - enough to slow fill storage containers for my building needs. Sometimes I accomplish that by making 50 instead of 40 RIP's in a modular frame factory, sometimes i'll just set up a smelter and constructor for something like copper sheet (really, i do that often), but most of what i decide to make in factories is determined by the need to supply other factories

ornate echo
#

i wanna split 3 lines into 4 with each of the 4 giving 100 per minute, so for the source would it be easier to a) have 2 lines giving 120 and 1 line giving 80 or b) having 1 line give 120 and 2 lines give 80

ashen stirrup
ornate echo
ashen stirrup
oblique hollow
#

find some blue slug

ornate echo
ashen stirrup
#

If you have a constructor that consumes 30/minute, then underclock it to 50%, it will consume 15/minute.

#

and it won't be able to accept any more

ornate echo
#

ima have 2 make 40 and one make 20, that right

ashen stirrup
#

Sure, that works

#

or if you have 4 lines of 100/minute, you could instead do 2 lines of 120/minute and 2 lines of 80/minute, with 10 constructors total

#

then you don't even need underclocking

ornate echo
#

i can only use 1 blue slug

ashen stirrup
#

then find another, there are like 300 on the map

oblique hollow
#

underclocking is free once you unlock it with the slugs in the mam

ornate echo
#

i have several, the mam doesnt give me more options

ashen stirrup
#

oh the second MAM research is one you do with a power shard, which you craft using a blue slug

oblique hollow
#

underclocking and overclocking are the same unlock

ornate echo
ashen stirrup
ornate echo
#

ah oki

#

yippie thankies