New crafting speed scaling doesn't feel good.
DarkHelmet433 opened this issue Β· 12 comments
While I greatly appreciate the new speed options, the default tuning seems alarminglyout of sync with previous behavior/costs and is quite a long way behind the baseline refined storage counterparts.
I can take a pattern and add it to a crafter with 4 x speed upgrades and get a similar crafting speed to a 6x6x7 multiblock with 60-70 cpus. The material and space cost of the Reborn Storage way doesn't feel good to somebody who has used the previous versions of the mod. I concede that the old structure was too cheap for its speed, but this feels like a substantial over-correction.
Reborn Storage with 1 cpu is 1.5 times slower than a stock RS crafter. With 4 cpus, it is only 1.1x slower than a non upgraded RS crafter. 4 cpus use 8 speed upgrades in their construction. Meanwhile 4 of those 8 upgrades placed into a regular RS crafter results in 5 crafts every 2 ticks, or ~50 crafts per second. The multiblock's speed of less than 2 crafts per second with a significantly greater material and power cost seems quite unreasonable in comparison.
I would like to be able to control the relationship of number crafting cpus to the interval separately to the ratio of cpus to maximumcraftingupdates. Could the craftingSpeed setting be split into two values please?
I personally would like to tune my worlds so that 4 cpus is comparable to a 4-speed-upgrade crafter, and each multiple of 4 cpus increases the concurrency by one. I'm thinking that I'd like 16 cpus to be comparable to one fully upgraded crafter.
Another option might be to add higher tier cpus. Perhaps a compressed crafting cpu, made from 3x3 crafting cpus that functions as 9 regular ones? The cost with the current recipes would still be prohibitively more expensive than regular RS crafter recipes but at least it wouldn't lead to as much of a gigantic multiblock.
I'll experiment with the code and see if I can find something that I like.
Thanks for opening an issue about this. Sadly I dont have enough time to play test stuff like this. I am totally open to suggestions for new calculations for this. I did add a config setting that can be changed if you do want to test out some quick changes.
I look forward to hearing your suggestions.
#137 One of my ideas for it would be a exponential increase to decrease the amount of blocks needed.
What we need here as faster than polynomial but slower than exponential growth for each CPU added. Let's consider this: Base single-cpu multiblock crafter would be slightly better than 1 regular crafter with 4 speed upgrades due to resources required:
Update interval is frozen at 1, which doesn't skip turns.
Max crafting updates becomes (we round up): e^(sqrt((cpu_count+1) * 2)) = 2.78^(sqrt(4)) = 8
With this in mind, here's what excel gives me, IMHO a very nice balanced progression:
Core count: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
Crafts: | 8 | 12 | 17 | 24 | 32 | 43 | 55 | 70 | 88 | 109 |
Also gain (*2
) and bias (+1
) should be in config
See code refs below.
Reborn:
Refined:
@Override
public int getUpdateInterval() {
switch (upgrades.getUpgradeCount(ItemUpgrade.TYPE_SPEED)) {
............
case 4:
return 2;
............
}
}
@Override
public int getMaximumSuccessfulCraftingUpdates() {
switch (upgrades.getUpgradeCount(ItemUpgrade.TYPE_SPEED)) {
............
case 4:
return 5;
............
}
}
Ping @raoulvdberge @modmuss50, what's the verdict?
I am aware of this, how ever I have been busy with other things, I will get to it soon.
+1 for this change. I just built a near-max size crafter in my survival world (16x14x16) with only 9 crafting storage, all the rest CPUs, and it feels painfully slow with all the resources and power that are going into it.
+1 for this change. I just built a near-max size crafter in my survival world (16x14x16) with only 9 crafting storage, all the rest CPUs, and it feels painfully slow with all the resources and power that are going into it.
Totally agree! I got finished building this huge multiblock (within the prescribed limits of course) and spending all this time bootstrapping up to it and was like.... But where is the speed? I thought I had messed something up so I rechecked everything and ran around putting speed and stack upgrades on everything I could find but alas the joy was nowhere to be found. I was hoping to see something in the changelogs about it but I'm glad to see that it's been acknowledged. Just tell me how big I need to make it for insane crafting speed and I'll do it!
I think the default configuration is the problem. According to the default setting, every 75 cpu gives the speed of 1 crafter with 4 speed upgrade, and change the crafting speed to 1 still have a 5x gap compare with the resource spent on the cpus.
The exponential formula given by @yurikus would give the speed of 2e39 crafters at the maximum size, and would cause problem (likely crashing) when usersβ computer trying to simulate this.
Just apply the 75x change could make the 4x4x4 array of cpus have the faster speed compare to 16x16x16 cpus on current default settings.