Schall Machine Scaling


Adds scaled up versions in different sizes for various machines. Number of overtiers can be freely adjusted. Designed for megabases and gigabases, by reducing total number of entities (thus reduced save file size, improved UPS). Includes assembling machine 3, chemical plant, electric furnace, oil refinery, centrifuge, lab, boiler, steam engine, steam turbine, heat exchanger, nuclear reactor, storage tank. (Locale: English, Deutsch, 正體中文, 简体中文, Português Brasileiro, Русский)

Content
17 days ago
0.16 - 2.0
11.1K
Manufacturing Power Storage

g [Solved] Is it possible to add Whistle Stop Factories recipes scaling?

5 years ago

https://mods.factorio.com/mod/WhistleStopFactories
has a nice create 50 at once option which is used for his big factories to overcome the 60/s limit at least for a bit (it is nearly 3 tiers worth). For the big factory each recipe gets a replicate which costs 50 times the ressources, takes 50 times as long but also give 50 products. This way you can overcome the 60/s limit much longer.

Is it possible to somehow also include it here? You might ask why not just use his mod:
1.yours scales better, as whistlestop only has 1 upper tier
2.whistlestops start lagging as you have to explore to find more factories and create massive maps, which cannot be reduces with delete empty chunks because of factory spawning
3.want to build where I want and not at random spots
4.your machines cannot use the scaled recipes in current setup (he creates new categories)
5.tried to adjust the mods such that they work together, but I failed :-D

5 years ago

Thanks for your comment. Actually I have considered this idea at the mod creation phase in February. Here is the story:

I have thought of changing/adding recipes by multiplying amount/time by 100 (or player input value in mod settings).
So there are three options, both with significant bad effects:
A) Changing existing recipe amount and time: - Cannot produce single item. - Inconvenience in early game, when resources are not so abundant and have low belt speed. - Low multiplication value will still be not enough for late-game. - High multiplication value will make the starting game very inconvenient.
B) Adding multiplied versions as new recipes, same category: - Long cluttered player crafting menu. (It was still 0.16.51, no hiding flag in player crafting menu.) - Long cluttered machine crafting menu. (Still unavoidable in current 0.17.)
C) Adding multiplied versions as new recipes, new category: - Useless extra tabs in player crafting menu. (Did not know how to hide them at that time 0.16.51.)

And even for option B & C, I wondered if I should just provide a single multiplied version of recipes (just like now WhistleStopFactories picked 50)? Or should I allow several multiplied versions (like 10, 20, 50, and 100.)?
My machine tiers cover a very wide range of crafting speeds, so latter seems like the better choice. But it also creates a lot of new recipes or making several new tabs. May not look nice at all.

I was quite undecided on which option to pick at that time. They all have big downsides. So I decided to drop the idea for the moment, but to spend the time for allowing more machines instead. (At first I considered AM3, E Furnace, Chemical Plant only.)

But now your suggestion have reminded me of the buried idea. :-D
0.17 has also become stable now, so maybe it is a good time to revisit the idea.
Before getting the hands dirty, I would like to make clear what to do first.
1) Do you just want a simple new category tab of 50 times every recipe, like WhistleStopFactories mod?
2) Or does my buried idea sound more convincing to you? If so, what is your opinion on the above-mentioned options? Or another option?

5 years ago

with the hiding, whistlestop does not clutter the menu at all. One more category (50 is mainly due to stack size) would already help alot as it compensates 3 tiers. To reduce the size even on the machines, you can just define, that overtier 1 and 2 have normal recipes only and overtier 3+ has only the big recipes. (this resolves issue A and B)

In Whistlestopfactorios the big machines can only do the big recipes and all normal assemblers and handcrafting only the normal ones, hence you see no difference in how crowded crafting menus are.

A 2nd tier of recipes will create another problem. Already with 50 per recipe, you can create 3000 items per second. Max belt speed is 180(?). Hence it will already be tough to move. If you add another category of e.g. 2000 item recipes, you end with an output of 120k items per seconds which cannot be handled by belts and also not by stack inserters anymore(unless some super weird ones and than you need lots of robots or cargo upgrades). Or you need to add alternatives ways of moving stuff around.

Lots of lists for each of 5,10,20 and 50 recipes are pointless. If you cap speed at the the 1 recipe, you can also craft 50 in less than a second, hence no need for the recipes between 1 and 50. Only reason would be to adjust them to the overtiers. Hence create a special set of recipes for each overtier, overtier 1 gets 4xrecipes, overtier 2 gets 16xrecipes. This way building times always stay fine, but

Just to warn you about what I read in the code of whistlestop: Seems to be a big problematic with stack sizes at all. He reduced some recipes to only 10 items per recipe (e.g. some buildings), because internal logic seems to only allow one stack to be produced.

I also really like, that whistlestop searches all recipes to make big recipes. Found also another mod, which just hard coded all vanilla recipes into x100 recipes. Hence you miss all modded recipes, this is not the way I want it to work ;-)

I would suggest to make just a single extra recipe tier. But code it in a proper way to adjust it. But option 1 would be enough for the beginning until one can decide how to handle input/output.
I played a whole game with Whistlestopfactories and already these struggle with being limited by input/output issues, as they only have like 16 output lanes (+- a few).

If you just want to have a look at whistlestopfactorios, you can even add it to an existing game (the big factories only spawn on new chunks). The only problem is, that it messes up with some spirite sizes which sometimes creates conflicts with other mods. (just playing industrial evolution and it does not work there, tried to exclude all factory based stuff and only keep the 50 recipe from the mod did not worked out for me. Once it does not crash anymore, it also has no more big recipes (you can also see them in FNEI))

Maybe have a look into his code to see how to hide stuff etc

5 years ago

Yeah, at mod creation (0.16.51) hiding recipes from player crafting menu is not possible. It was 0.17.57 that starts to allow that. I learned to use this new feature for Schall Alien Loot. So option C is obviously best choice now.

Thanks for warning me about the 50 and stack size problem. This reminds me of the hard fact that the output slot(s) of machines are also like ordinary inventory slots, which are limited by stack size, where I noticed this when I tried to introduce biosatellites in Schall Alien Tech to give Alien Science Pack upon rocket launch.
So even with a "fixed" multiplier value of 50, many recipes have to be adjusted manually or by checking with product stack sizes. The problem will be bigger if I allow player input setting to change it. Not to say lists of different multiplier settings...

The reason I do not like about fixed multiplier of 50 is it is still not enough for high overtiers. For example overtier +6 has scale of 4096. But you alerted me that stack size is the ultimate limiting factor. Each production cycle cannot creates more than the stack size anyway. So it kinda defeats the ideas of several player multipliers (10, 20, 50, and 100), or tiered-specific multipliers (4, 16, 64, 128, ...). With this new information, please allow me some time to carefully study the current stack sizes first.

PS: Belt speed or stack inserters are not really the limiting causes. My machines are big in sizes, partly to encourage using multiple loaders to load/unload ingredients/products. :-D

5 years ago

WhistlestopFactories has an automated script to define the recipe size ;-) If you do it by hand you miss all modded recipes.

With current recipe setup you are right about the speed, but not with 50xrecipes ;-)
Already overtier 3 with speed modules beacons is enough to get you into trouble even without capping 50xrecipes.
E.g. vanilla game copper cables:
Overtier 3 has a side length of 4x3=12. Hence you can have at most 48 loaders and 18 beacons with speed modules. With 4 prod modules you get 840% speed bonus, hence you end at around 750 crafting speed, producing 30 charges of 100 cables every second+prod bonus and use 1500 copper plates per second
Output is therefore 4200 cables. Together with the input you are at 5700/s items

48 loaders at vanilla speed are 2160 items per second. Or in other words you need a belt speed of at least 120/s

Using overtier 4, caps the speed, hence you have to handle 11400 items per second and only get 60 loaders, which is slightly above hard coded belt limit.

Things getting even worse if you use expensive recipes, like processing units with 22input items per output. If you output 60x50=3000 per second, you need to input 66000 items per second. You need overtier 7 to cap speed, but this even this is still below 100 loaders (not even considering that you need sulfur acid input as well)

You could trick around with stack sizes to overcome the one stack per tick problem, but this does not solve the transport problem.

Only option without bots would be to enable trains running directly in and out of factories, but this might be hard to code. You can easily drive 5 waggons per second over a single track, which is already enough for the above processing unit problem

And last issue of even bigger recipes is the fact, that game will start lagging because of other points at all ;-)
Assuming you can somehow handle the throughput problem and the stack problem. If you go for 2000x recipes (a factor of around 50 every time seems reasonable, as it turns capped speed back to around 1/s), you are running into Millions of ressources per second in a single machine. Hence even if this one machine is really UPS friendly, the hundred thousands of miners are not ;-)

5 years ago

Do you have any idea when you might add the recipes to your mod?

5 years ago

I have planned an extension mod, which will introduce a new set of recipes (cloning and modifying the existing recipes). But it will take some major effort and time, which I do not have at the moment. So I cannot promise the time.

5 years ago

Sorry for the wait.
I have finally completed it, as published it as Schall Recipe Scaling.
You may need to go into mod options to tune parameters (like recipe multiplier, included machines, etc) to your taste.
The mod has calculations to auto-adjust multiplier to a smaller value, so amount of products returned will not exceed the stack size of the item.

Due to limit by item stack size, the worry about 2000x recipes does not exist. Because vanilla items (except space science pack. which is not crafted normally) have at most 200 (?) stack size only.

For the mining speed problem, I added an advanced mining drill to Schall Alien Tech 0.17.14 (also released today). It is NOT scaled up like this mod, just a mildly improved drill over vanilla electric mining drill. I do not want to make it too OP though.

New response