Deep Mine

by Optera

Adds underground mines, randomly extracting all ores that can be mined without fluid input.

Content
2 years ago
0.15 - 1.1
13.5K
Mining

g Balancing

4 years ago

The deep mine outputs 2 ore per cycle, and it takes 3.2s to complete a cycle. That's 0.625 ore per second, which is faster than the standard mining drill of 0.5/s! It does consume twice as much energy, which is a small price to pay.

These things seem pretty OP.

4 years ago

Quarry output depends on the recipe used. Basic generates a bit more than a drill, but all in equal random chance. Advanced produces around half as much with a much higher chance of one specific ore.
If you feel it's too good reduce ore percentage chance in startup settings.

Factorio uses percentage chance on every single output item. In other words more ore types produce more output.
I balanced it to my liking for vanilla, so if you use angelbobs turn down ore percentage further.

4 years ago

You can dynamically scale the percentage by counting data.raw.resources of type basic-solid and fluid-required == nil so mods that add ore will produce the same amount of ore per second.

4 years ago

That's what I did early on. It never quite worked out as intended with Factorios way of calculating the percentage for each output separately.

4 years ago
(updated 4 years ago)

That's what I did early on. It never quite worked out as intended with Factorios way of calculating the percentage for each output separately.

I'm afraid we'll need to use...

MATH.

https://www.youtube.com/watch?v=gENVB6tjq_M

Let's say a recipe has 5 output items.
Each item has a 10% chance to be produced.
Because the percentage is calculated individually, there is a 50% chance you will get at least one of those items.

By adding a 6th item, the chance increases to 60% but we want to keep it at 50%.

So in order to do that, let's apply some math magic.

local resources={"iron","copper","stone","coal","uranium"}

local balanced_resource_count=5
local base_resource_chance=0.1

local chance_ratio = 1/(#resources/balanced_resource_count)
local chance_per = chance_ratio*base_resource_chance

local recipe={}
recipe.results={}
for key,val in pairs(resources)do
    table.insert(recipe.results,{type="item",name=val,amount=1,probability=chance_per})
end

ez

4 years ago

Math!? Get ze Flammenwerfer.
https://www.youtube.com/watch?v=3t3XiieGA5E

4 years ago
(updated 4 years ago)

Note: Basic-solid is unreliable, as I found out when writing a fix for Factorio CompoundMiners which removes all resources from the basic-solid category! I instead switched to reading all resources with only solid outputs and finite amounts. Which also tags Krastorio's resources, for better or worse.

New response