Factorio 100k

by RedRafe

Play Factorio at 100k! Massive ore territories and a 100k tech cost multiplier, with configurable settings to tune the challenge to your liking.

Tweaks
8 days ago
2.1
13
Cheats

Changelog

Version: 0.1.1
Date: 2026-07-03
  Features:
    - Ore territories are no longer split evenly across #resources: each ore now has a weight
      (default 100), and its voronoi fragments are sized proportionally to weight/total_weight, so
      a heavier-than-default ore appears in more, and larger, territories than a default-weight
      one, while a lighter one appears in fewer/smaller ones. Whitelisted starting weights: iron
      ore 150, tungsten ore 150, calcite 50, uranium ore 20; copper ore, coal, stone, Vulcanus coal
      and Gleba stone remain at the default of 100.
    - Added a global "_100k" API (prototypes/ore-weights.lua) for registering these weights:
      _100k.set_ore_weight(control_name, weight) / _100k.get_ore_weight(control_name). It's
      declared in data.lua and stays open through data-updates.lua so weights can still be
      registered or overridden before data-final-fixes.lua reads the final dictionary and builds
      the weighted voronoi territories. Point-resources are unaffected by this change.
Version: 0.1.0
Date: 2026-07-02
  Features:
    - Nauvis resources (iron ore, copper ore, coal, stone, uranium ore, crude oil) are now generated
      as large Voronoi territories -- each region of the map is assigned exactly one resource type,
      using the engine's native voronoi_cell_id noise function. Each resource's probability_expression
      is replaced outright by its territory condition, so it fully covers its territory instead of
      being confined to vanilla's sparse patches; richness_expression is also rebuilt instead of
      using vanilla's curve as-is, since vanilla's richness is driven by the same patchy noise as
      probability and evaluates near-zero outside its original patch shapes, which would otherwise
      starve placement across most of each territory. The rebuilt expression keeps vanilla's
      formula shape (richness control slider * base density * starting-distance falloff) but
      swaps out the noise-driven amount for each resource's own base_density, decoupling HOW MUCH
      ore spawns from WHERE the voronoi cell placed it. Territory/richness
      expressions are wired into Nauvis's planet.map_gen_settings.property_expression_names, the
      same mechanism Vulcanus uses to override tungsten-ore/coal/calcite -- this is what map
      generation actually consults, not just the resource's own autoplace field.
    - Added startup setting "100k-territory-size" controlling the average size (in tiles) of each
      Voronoi territory.
    - Point-resources (resources that yield a fluid, e.g. crude oil) are excluded from Voronoi
      territory assignment -- a handful of instances already provide sufficient supply, unlike
      ores that need to be mined out gradually. They keep their own default
      frequency/probability/richness autoplace expression, scaled up by a new startup setting
      "100k-point-resource-multiplier" (default 5).
    - Added startup setting "100k-technology-difficulty" (Easy/Normal/Hard, default Hard) controlling
      how aggressively technology costs are scaled:
        - Hard: no proto changes; control stage always forces the technology cost multiplier to 100k.
        - Normal: "logistics" and "electric-mining-drill" (if present) ignore the cost multiplier at
          the proto stage; control stage forces the multiplier to 100k only if it isn't already set
          above 1, so a custom multiplier (e.g. x2000 from a map exchange string) is respected.
        - Easy: same proto-stage exceptions as Normal; control stage never touches the multiplier;
          enemy-base spawners and worms are additionally pushed much further from the starting area.