Skip to content

Reduce ore density on the maze danger ore maps#1577

Merged
grilledham merged 2 commits into
Refactorio:developfrom
lex:maze-ore-density
Jul 11, 2026
Merged

Reduce ore density on the maze danger ore maps#1577
grilledham merged 2 commits into
Refactorio:developfrom
lex:maze-ore-density

Conversation

@lex

@lex lex commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

Playtest tuning for the maze danger ore variants. The core problem: the ore field is so rich that groups never need to push more than a few corridors out — the maze layout ends up having no say in the gameplay. Lower density means more mining outward, more corridors explored, and the maze actually shaping the run.

Player feedback from the current maps:

Some feedback about the new scrap maze. Giant lakes are hard to fill with the tiny bits of stone we get.

on coal maze the patches could be a little bit less dense ... some of them take really long to mine

I feel lower the better, we have unlimited amount, and can always keep going for more dense

Changes

  • Scrapworld Maze / Omnimatter Maze: main ore density scaled to 25%.
  • Scrapworld Maze: occasional dense pure-stone patches added, so groups can set up dedicated stone mining for landfill. Scrap itself only yields stone at a 5% chance per mined unit, which also has to cover rails and bricks — hence the lake complaint above. (These can go away again if the scrap resource ever gets customizable yield ratios.)
  • Coal Maze: dense iron/copper/stone patches halved in richness and doubled in size — fewer, chunkier patches that don't take forever to mine out; the coal background is unchanged.

Implementation

First commit extends the fluent main-ores factory so the presets can express all of this relative to their shared configs instead of restating curve numbers:

  • :scale_richness(multiplier[, ore_name]) multiplies the start and richness curves of a main-ores config.
  • Factory.patches() — a fluent builder for resource patches configs with the same contract as the main-ores API: add_patch appends a pure-resource perlin patch, :scale{richness=, size=} adjusts existing configs (wrapping shared plain configs without modifying them).
  • The Omnimatter ore config moves to the factory (it duplicated the scrap config).

Covered by new cases in the standalone ore_configs.test.lua harness (all passing), and verified in-game on new maps for all three presets.

🤖 Generated with Claude Code

lex and others added 2 commits July 11, 2026 20:40
:scale_richness(multiplier[, ore_name]) multiplies the start and
richness curves of a main-ores config, so presets can tune ore density
relative to their shared source config instead of restating curves.

Factory.patches() is a fluent builder for resource patches configs
with the same contract as the main-ores API: add_patch appends a
pure-resource perlin patch, scale adjusts richness and patch size, and
an existing plain config can be wrapped for scaling without modifying
it.

The Omnimatter ore config moves to the factory (it mirrored the scrap
config) so its presets can use the fluent API too.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Scrapworld and Omnimatter maze: main ore density to 25%, mining out
  room for the factory took too long.
- Scrapworld maze: add occasional dense pure-stone patches. The big
  lakes are hard to fill with the small amounts of stone recovered
  from scrap (a 5% chance per mined unit, competing with rail and
  brick demand), so give groups a stone supply to mine for landfill.
- Coal maze: halve the richness of the dense iron/copper/stone patches
  and double their size; the coal itself is fine.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

@grilledham grilledham left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@grilledham grilledham merged commit cfb2b0b into Refactorio:develop Jul 11, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants