Factorio as a 3d simulator
Factorio is one of the best games to become a better engineer. I wanted to use it as a 3d simulation for some ideas I had on human behaviour. For that that simulation to work I needed to ensure the construction of items built by factories had a consistent time, so I made a quick mod written in lua
The 3 files needed:
data.lua
for _, recipe_prototype in pairs(data.raw.recipe) do
recipe_prototype.energy_required = settings.startup["adam-build-time"].value
end
settings.lua
data:extend({
{
type = "double-setting",
name = "adam-build-time",
setting_type = "startup",
default_value = 2.0,
minimum_value = 0.1,
maximum_value = 1000.0,
}
})
info.json
{
"name":"adam-set-build-time",
"version":"0.0.1",
"title":"Adam Set Build Time",
"author":"",
"factorio_version": "1.1",
"dependencies": ["base"]
}
The way Factorio handles lifecycle of objects was initially confusing, but when you understand how amazingly optimised it is as a game, you know everything is done for a very good reason.
In the end, I didn’t use Factorio even though it worked because it was distractingly over complicated and looked messy… so back to the drawing board.