FortressCraft Evolved Guide

Scaleable Sorting for FortressCraft Evolved

Scaleable Sorting

Overview

A high throughput sorter for separating any number of resource streams.

Theory

When designing a conveyor system, there’s a few things to think about.

Throughput & Latency

Throughput is how many items per second come out of the end of a pipe. Latency is how long it takes to get an individual item to the other end. For example, a saturated pipe bringing nickel from the depths will have 2.5 items per second of throughput. If you toss a single titanium into the bottom, it might take a few minutes to reach the top. High throughput, high latency.

Most of the time, you’ll only care about throughput.

Throughput Simplifications

Thinking in throughput simplifies construction quite a bit. For a series of item movers without forks, the total throughput is equal to the slowest internal throughput. In other words, there’s always one bottleneck that throttles everything. Fixing that spot will move the bottleneck to the next minimum.

Conveyor/pipe systems are affected by the speed setting.

Items/sec (Normal)
Items/sec(Fast or Rush)
Conveyor
0.83
1.67
Pipe
1.67
2.50
Motorized Conveyor
1.67
2.50
Hopper to Conveyor
0.83
0.83
Hopper to Hopper
1.67
1.67

The hopper to conveyor speed is almost always the bottleneck, which is why you need to pull from multiple faces to saturate a pipe. It also means that pipes only have an advantage over conveyors when they pull from more than one hopper face– either from multiple hoppers or by merging multiple flows.

Note that hopper to hopper sharing moves 10 non-“Crafted” items every 6 seconds to each adjacent hopper, which is twice as fast a hopper to a conveyor. Coincidentally, the throughput of a hopper-to-hopper transfer and a single Conveyor filter on “Crafted” will keep up with pipe delivering a 2 parts crafted and 1 part non-crafted.

Throughput of Other Machines

Other machines aren’t affected by the conveyor speed. Their throughput tends to be 1/(c + 0.2*x), where c is the crafting time and x is the number of ingredients used in the recipe.

For example:

Machine
Items/sec
Extruders, coilers, stamper, pcb assemblers
0.15
Manufacturer
0.10
Macerator
0.4
Coal Enricher
0.03

Scaleable Sorter

So you’ve got a couple pipes coming up from the deeps saturated with tasty resources. Your quarry is spitting garbage, ore, and coal at you at obscene rates. How do you get a handle on all of this input?

Things that make a good sorter:

  • Throughput — Any given item may take arbitrarily long to be processed, but the input and output rates are high.
  • Centralized — a single point of sorting
  • Scaleable — add more capacity to the sorter without having to rebuild
  • Maintainable — if it is clogged, have sufficient access to clear it out without rebuilding it.

This sorter relies on an array of vertical slices composed of filters and hoppers. Four filter settings cover almost all possible items:

  • Crafted items [Bars, Organic] — also machines
  • Combustables — wood, leaves, coal
  • Ore [Smeltable, Crystal, Biomass] — smeltables, biomass, crystal
  • Garbage — rock, sand, etc

This setup does not handle gems such as diamond, ruby, sugalite, etc. Since gems tend to be found by exploration, in small volumes, and will be caught in the hoppers rather than output to the wrong stream, it’s not a huge problem.

Hopper to hopper sharing works on anything that is *not* a crafted item. Items come in from the left where crafted items get sucked out the bottom and non-crafted items are shared to the second hopper. Filters attached to the second hopper will empty it of contents.

Input

Since it’s a vertical slice, you can add more capacity by putting slices next to each other. “Pyramiding” hoppers distributes the incoming streams across the input hoppers. The hopper-to-hopper sharing inside the array will balance non-crafted items on its own. Rail cars could be used, as well. Here, you can see the pyramiding on input to six slices:

Output

The output pipes can either be chained into each other along the axis of the array as well as a viable horizontal and vertical direction for each. Below, you can see the axial ore pipe running along the top, and two garbage pipes coming out the back.

Other notes
  • To keep up with a fully saturated pipe, an array needs 2 slices on normal conveyor settings, 3 slices on fast or rush.
  • Split off an output pipe every 3-6 slices. The internal capacity of the array can smooth out significant surges in the resource mix, allowing the output throughput to be sized to the long-term average.
  • Use a similar array setup up to split the ore stream into smeltables, biomass, crystal. The crafted stream is tricky since “bars” and “organics” have filters, but machines, ingredients, and many other things do not.
  • The front hopper for each input is accessible to manually clean out backlogs.
SteamSolo.com