Verbose Engineering

by FoxSylv

Decompile resources into their letters, and rebuild everything from those letters.

Overhaul
28 days ago
2.0
1.05K
Manufacturing

g Alphabetize

7 days ago

I think decompilers would be much better / easier to work with if their outputs could all slot into the same place every time, regardless of the input- each of the 26 output slots should be reserved for the corresponding letter. The main advantage is not needing to dedicate decompilers to each specific input when setting up bulk manufacturing as well as not having to completely clear the output every time a new input is given in the early game. I suspect the main reason this didn't happen is either a design philosophy (undesirable simplicity) or a technical limitation of recipes (can't pad out with empties), but if it's not a technical limitation then I should think alphabetic outputs would be more beneficial than any specific reason for limiting outputs like this.

7 days ago

This is actually a technical limitation; Furnace outputs don't allow for "gap" spaces. One thing I did consider was making all of the decompilation recipes have like a 0.000001% chance to return any letter to "fill" these gaps, but it made all the decompilation recipes utterly unreadable in the inventory and in the factoriopedia, which fixed this minor annoyance by creating a major one. It might be possible to hack together a solution with scripting, but investigating that has been the lowest of low priorities for me, as I'm not sure it would even work >w<

4 days ago

I thought about this and did some experimenting on my own, and I was able to come up with this code:

local function getResults(rates)
local results = {}
for i = string.byte('A'), string.byte('Z') do
local char = string.char(i)
local rate = rates[char] or 0
local amount = type(rate) == "table" and rate.amount or 1
local probability = type(rate) == "table" and rate.rate or rate
table.insert(results, {type = "item", name = "letter-" .. char, amount = amount, probability = probability})
end
return results
end

A probability of 0 is supported in modern factorio, I'm not sure about any other versions but the decompilation of letters into letters works this way. I haven't been able to find the code that defines all the other decompilations, but this at the very least means letter-letter recycling factories should be able to (efficiently) accept sushi belt inputs.

4 days ago

I forgot to actually hover over the recipes :/ even with probability 0 it does show the entire alphabet on each letter which is a huge disappointment

New response