Skip to content

Project Tallus Case Study

TALLUS MINING SYSTEM

a system design documentation

“My pickaxe is my lineage, I will extract every ore as long as I am needed” – Boney Dwarf Guy, to his mirror.

A technical systems design and architectural case study exploring deterministic procedural generation, mathematical depth scaling, and organic session loops for an infinite and intricate mine network.

See the full document V2
See the full document
Chapter 01

Session Architecture

It’s fairly easy you know... You take your pickaxe, enter the mine, explore the mine until your ran out of light, durability or inventory space. Then whenever you feel like you coming back you just channel magically and teleport back to the workshop. Next time you enter you can use the activated elevators located at every 10th floor.

Design Intent
See in the document
Challenge

The mining session needed pressure, without a countdown or combat. Players needed reasons to return to the workshop while still feeling that the decision to leave was theirs.

Approach

Built the session around limited resources rather than a fixed timer. The player enters from the workshop, explores and mines until their available limits make continued descent increasingly unattractive, then returns to base. Milestone elevators provide persistent shortcuts between sessions.

Outcome

Session length is shaped by player decisions and resource pressure rather than a forced countdown.

Core Session Loop

Lifecycle of a single session, governed by 3 organic player limits, where departure can be triggered at any time during the exploration phase.

ENTRY POINT NO HAZARD BELOW HAZARD BELOW Return can be used any time* = Direct Return WORKSHOP Surface Base Main outpost, sole entrance to the mine network. EXPLORE MINE Cavern Traversal Corridor navigation for resource discovery. Illumination is vital. MINE & GATHER Extraction & Collection Strike veins, collapse walls or discover items in hidden places. DESCEND DEEPER Decision Trigger Player tries to descend to lower floor. System checks hazard. DESCEND Lower Floor Player successfully descends to next lower floor, resets loop from explore. RETURN Departure Player actively starts return channel. Never kicked out of loop forcefully. SUNSTONE DURABILITY CAPACITY
Multiple dots do not indicate multiple sessions*

Workshop

Main location of the Crafting* system. Base of operations for Blacksmithing, where different refinement stations and storages are located and items are crafted. Backroom to the Shopkeeping* system. Players use the main descend shaft here to enter the mine or directly select a floor with an active elevator shaft.

Chapter 02

Infinite Strata

The floors inside the mine network are procedurally generated, the level you explore in earlier sessions will look different, on top of that, it goes deep... to infinity. Yes, infinity. The first 200 levels though are where the main action is and all the new content is there. We will not stop you from going deeper, you may want to challenge yourself but you’ll see those depths are not as efficient.

Design Intent
See in the document
Challenge

A 200-floor mine needed to feel progressively diverse without requiring every floor to be manually authored. At the same time, depth must affect resources, environment and tool progression keeping the diversity.

Approach

Used depth profiles to continuously control environmental characteristics and resource availability, while milestone floors are kept authored and persistent as landmarks. L1–L200 contains the designed progression; further depths remain technically scalable beyond the authored boundary/

Outcome

Depth becomes a continuous system of environmental and economic change rather than a collection of isolated levels.

Subterranean Strata & Distribution Architecture

Level specific map of the mine network, each floor level has its own unique identity called profile that is used as a procedural generation guide.

Serpentine Descent Track Domain: L1 – L200 (Full Mine)
L-1
1
200

Floor Profile Details

Floor 1
Shallow Shafts

Familiar, safe, grounded baseline mining environment establishing core mechanics.

Topology: Warm earthy tones, wooden beam supports, abandoned mine carts
Standard Shaft

Ladder & rope descent. Next checkpoint at L10.

Geological Distribution
Man-made Traces 100%
Rock Hardness 20%
Moisture Level 10%
Ambient Heat 0%
Mushroom Density 15%
Otherworldly Presence 0%
Available Resources
Stone Coal Tin Copper
Telemetry Stream Carousel Dataset 1 / 2
Variables (6/6)
|
100% 75% 50% 25% 0% L1 L25 L50 L75 L100 L125 L150 L175 L200 L-1
Continuous Cartesian Plot (X: L1–L200, Y: 0–100%) Click / drag on graph to scrub active floor

Tool Tier Acquisition

Pickaxe Tier is not directly tied to the biome regions but have the intended most optimal depth bands. Necessary upgrade blueprints can be found in specified depth bands for each tier.

Pickaxe Tier Optimal Depth Band Blueprint Drop Range
Tier 1 L1 – L15 Starting Equipment
Tier 2 L16 – L39 L10 – L15
Tier 3 L40 – L75 L30 – L39
Tier 4 L76 – L141 L65 – L75
Tier 5 L142 – L200 L130 – L141
Chapter 03

The Playground

We made a little toy here so you can feel what it’s like to mine -though approximately- when you’re down there. Select the floor, the pickaxe you have, the resource you want to hit and it’ll show you what expects you. You can find the formulas inside the drawer.

Design Intent
See in the document
Challenge

Deeper resources needed to become harder to extract without making mining progressively slower at every stage of the game. A stronger pickaxe also needs to feel meaningful without making earlier resources completely trivial.

Approach

Separated depth scaling and tool progression. Resource resistance increases with depth while matched-tier pickaxes compensate for that increase, targeting a relatively stable Time-to-Mine range. Tool condition further modifies performance without introducing a traditional break state. More variables to tweak meant more control on the scale.

Outcome

Depth increases extraction pressure while tool progression make sure efficiency stays similar, keeping mining relevant throughout the authored progression.

Mining Simulator & Scale Calculator

This interactive tool uses the approximate formulas used in the game with unbalanced versions. Instead of reading and looking at cryptic formulas, we provide the sensation of the mining we intended to achieve.

Input & Parameter Controls
Floor 1
L1 (Shallow Shafts) L40 (Subterranean Rivers) L76 (Magma & Thermal) L142 (Nethermost Region) L200 (Abyss)
1.0× Strike DMG
4 Available

* Grid dynamically filters native resources across L1–L200.

Stone Node
20 / 20 HP
Click to Strike Deposit
Tool Durability
600 / 600

Simulated Stats

Matched • 1.0× Check

Tier 1 Tool vs Tier 1 Deposit • Matched Efficiency

Scaled Node HP 20 Floor-scaled base HP
Effective DMG / Hit 10 Wear & Tier adjusted
Hits Required 2 Discrete strikes to break
Time-to-Mine (TTM) Matched
2.0s
Cadence: 1.00s / swing Target: 8.7s
Hardness 1.0 Durability tax / hit
Time to Impaired (TTGI) 1200s 1200 hits remaining
Formulas & Calculation Mechanics
Core Mathematical Formulations
Effective Damage: D_eff = max(0.25, D_base × M_durability × M_tier)
Condition Multipliers: M_durability = { 1.00 (Intact: Primary > 0) | 0.50 (Critical: Primary = 0) | 0.25 (Impaired: Depleted) }
Floor Scaling: NodeHP(d) = BaseHP × (1.0 + 0.08 × (d − 1))
Armor Check: M_tier = { 1.0 (ToolTier ≥ NodeTier) | 0.5 (ToolTier < NodeTier Penalty) }
Swing Cadence: T_swing = max(0.25s, 0.8s / HitSpeed)
Extraction Time: Hits = ⌈NodeHP(d) / D_eff⌉, TTM = Hits × T_swing
Durability Wear: ΔD = Hits × Hardness, TTGI = ⌊(D_primary + D_critical) / Hardness⌋ × T_swing
Piecewise Analytical Time-To-Mine (TTM) Curves (0 ≤ x ≤ 200)
P1 (Tier 1): y = { 8.5 + 2.5(x / 15) [x ≤ 15] | 11 + ((x − 15) / 185)² × 239 [x > 15] }
P2 (Tier 2): y = { 6 + 2.5(x / 16)² [x < 16] | 8.5 + 2.5((x − 16) / 23) [16 ≤ x ≤ 39] | 11 + ((x − 39) / 161)² × 209 [x > 39] }
P3 (Tier 3): y = { 4 + 4.5(x / 40)² [x < 40] | 8.5 + 2.5((x − 40) / 35) [40 ≤ x ≤ 75] | 11 + ((x − 75) / 125)² × 149 [x > 75] }
P4 (Tier 4): y = { 2 + 6.5(x / 76)² [x < 76] | 8.5 + 2.5((x − 76) / 65) [76 ≤ x ≤ 141] | 11 + ((x − 141) / 59)² × 39 [x > 141] }
P5 (Tier 5): y = { 2 + 6.5(x / 142)² [x < 142] | 8.5 + 2.5((x − 142) / 58) [x ≥ 142] }
1. Condition Modifiers
M_durability = 1.00 (Intact: Primary > 0)
M_durability = 0.50 (Critical: Primary = 0)
M_durability = 0.25 (Impaired: Depleted)
2. Floor-Depth Scaling
NodeHP(d) = BaseHP × (1.0 + 0.08 × (d − 1))
Linear 8% health expansion per floor
3. Tier Differential Check
M_tier = 1.0 (Tool Tier ≥ Node Tier)
M_tier = 0.5 (Tool Tier < Node Tier Penalty)
4. Damage / Hit Formula
Damage = max(0.25, BaseDamage × M_dur × M_tier)
Hits = ceil(NodeHP / Damage)
5. Time-To-Mine & Wear
T_swing = max(0.25s, 0.8s / HitSpeed)
TTM = Hits × T_swing
DurabilityTax = Hits × Hardness
6. TTGI & Milestone Loot
TTGI_hits = floor((Primary + Critical) / Hardness)
Drops @ 75%, 50%, 25%, 0% HP
Stage 4 absorbs remainder (Zero Loss)

* All formulas subject to balance tuning after actual playtests and does not reflect the final results. Reworks may and will happen regarding the approach and calculations of these formulas

Mining Time-To-Mine (TTM) Scaling Graph

The graph displays the efficiency of each pickaxe tier on any given floor. The painted area indicates target matched pacing band which is the intended TTM for each tier.

View Mode:
Active Floor: Floor 1
Native Domain: L1 – L15
0s 10s 20s 30s 40s 50s L0 L40 L80 L120 L160 L200 T1 Cap (L15) T2 Cap (L39) T3 Cap (L75) T4 Cap (L141) Subterranean Floor Depth (L0 – L200) Time-To-Mine TTM (Seconds) T1 Peak: 250s T2 Peak: 220s T3 Peak: 160s T4 Peak: 50s T5 Peak: 11s
Floor 1 P1
Exact TTM: 8.7s
Tier 1 Pickaxe Native: L1–15 • Max: 250s
Tier 2 Pickaxe Native: L16–39 • Max: 220s
Tier 3 Pickaxe Native: L40–75 • Max: 160s
Tier 4 Pickaxe Native: L76–141 • Max: 50s
Tier 5 Pickaxe Native: L142–200 • Max: 11s

* Curves will be subjected to balancing changed after the playtests

Pickaxe Durability Logic

The pickaxe never truly shatters and rendered disabled. However its durability faces degradation in two phases.

[Primary Pool]

Intact State

Primary Durability > 0. Standard throughput

[Secondary Pool]

Critical State

Triggered when Primary = 0. Capacity equals 100% of the Primary Pool, half of the original damage.

[Infinite Fallback]

Impaired State

Triggers when the Secondary Pool is depleted. Quarter of the original damage. Endless Pool.

* Pickaxe can be repaired both in the workshop and randomly encountered workbenches in the mine. Difference mainly being the cost

Chapter 04

Procedural Generation & Session Memory

This mine is endless, so it’s not possible to descend from the same shafts every time, therefore you see different layouts each time unless they’re kept in memory. Here, we’re explaining how that magic happens under the hood, each step we add a little detail for you each as important as the other. The end product? The same feel with a different map.

Design Intent
See in the document
Challenge

The mine needed to generate different layouts across visits. Storing every generated floor in memory would scale poorly as the player descends. Also a method needed to make floors not repetitive so players can visit the same floor every session while finding complete different and fresh layouts.

Approach

Generate floors deterministically from their depth and generation identity. During a session, maintain a five-floor active memory window and reconstruct evicted floors from their deterministic identity if they’re revisited after the flush.

Outcome

Generated floors can be discarded from active memory and reconstructed later without feeling the same exact floor.

Generation Pipeline

The exact deterministic floor generation pipeline breakdown.

01 Mine Seed

The mine is initialized with a global seed that provides the deterministic base for generation.

02 Floor Depth

The target depth selects the floor's position within the mine and determines which depth profile applies.

03 Depth Profile

The profile defines the environmental and procedural characteristics of the floor, including space, resources, hardness and environmental features.

04 Floor Seed

The mine seed and floor depth produce a deterministic seed for the individual floor.

05 Cavern Layout

The generator creates the floor's rooms and cavern shapes within the selected depth parameters.

06 Paths & Topology

Rooms are connected into a traversable network with winding corridors and alternate routes.

07 Resources & Environment

Resources, environmental features and other floor content are placed according to the active depth profile.

08 Floor Identity

The completed floor receives its deterministic identity, allowing the same underlying floor to be reconstructed when revisited.

Implementation Level Breakdown

* The images shows the implementation level detail, steps may be different from the pipeline above

5 Floor Rolling Memory

The system uses a RAM logic that dynamically holds up to 5 temporary generated floor in its memory to ensure that players should visit any temporary floor outside this memory, that floor is completely recreated using its depth profile. It’s the current floor plus the latest visited four floors.

Active Memory Demonstration Slider
L-1 Unloaded
L-2 Unloaded
L-3 Unloaded
L-4 Unloaded
L-5 Unloaded
L-6 Unloaded
L-7 Unloaded
L-8 Unloaded
L-9 Unloaded
L-10 inactive elevator
L-11 Unloaded
L-12 Unloaded
L-13 Unloaded
L-14 Unloaded
L-15 Unloaded
L-16 Unloaded
L-17 Unloaded
L-18 Unloaded
L-19 Unloaded
L-20 inactive elevator
L-21 Unloaded
L-22 Unloaded
L-23 Unloaded
L-24 Unloaded
L-25 Unloaded
L-26 Unloaded
L-27 Unloaded
L-28 Unloaded
L-29 Unloaded
L-30 inactive elevator
L-31 Unloaded
L-32 Unloaded
L-33 Unloaded
L-34 Unloaded
L-35 Unloaded
L-36 Unloaded
L-37 Unloaded
L-38 Unloaded
L-39 Unloaded
L-40 inactive elevator
L-41 Unloaded
L-42 Unloaded
L-43 Unloaded
L-44 Unloaded
L-45 Unloaded
L-46 Unloaded
L-47 Unloaded
L-48 Unloaded
L-49 Unloaded
L-50 inactive elevator
L-51 Unloaded
L-52 Unloaded
L-53 Unloaded
L-54 Unloaded
L-55 Unloaded
L-56 Unloaded
L-57 Unloaded
L-58 Unloaded
L-59 Unloaded
L-60 inactive elevator
L-61 Unloaded
L-62 Unloaded
L-63 Unloaded
L-64 Unloaded
L-65 Unloaded
L-66 Unloaded
L-67 Unloaded
L-68 Unloaded
L-69 Unloaded
L-70 inactive elevator
L-71 Unloaded
L-72 Unloaded
L-73 Unloaded
L-74 Unloaded
L-75 Unloaded
L-76 Unloaded
L-77 Unloaded
L-78 Unloaded
L-79 Unloaded
L-80 inactive elevator
L-81 Unloaded
L-82 Unloaded
L-83 Unloaded
L-84 Unloaded
L-85 Unloaded
L-86 Unloaded
L-87 Unloaded
L-88 Unloaded
L-89 Unloaded
L-90 inactive elevator
L-91 Unloaded
L-92 Unloaded
L-93 Unloaded
L-94 Unloaded
L-95 Unloaded
L-96 Unloaded
L-97 Unloaded
L-98 Unloaded
L-99 Unloaded
L-100 inactive elevator
Chapter 05

Hazard Gates

Ooo, remember we told you about the dangers...? They sometimes lurk in the deep. But fret not! Our trustworthy Guild for Otherworldly Neutralization and Eviction (G.O.N.E) will notify you once you reach at a level that has a hazard beyond it whether it’s a toxic gas leak, flood or.. you know... Dermin swarm. Once you see the notification, kindly pay the fees for the heroic adventurers and wait for a day or two so they can fix your problem.

“A progression gate that interrupts deep descent and sends the player back to the surface to arrange clearance”
Design Intent
See in the document
Challenge

Players needed to feel the progression towards depth are earned and access should feel like reward rather than continuously progressing without any cost at all.

Approach

Treated hazardous descent points as global progression gates. Once an uncleared hazard is encountered, all further descent is blocked. Clearing the hazard through the appropriate mercenary contract records a persistent clearance flag that remains valid across sessions.

Outcome

Exploration can be stopped for play time to get invested in other systems: Crafting and Shopkeeping.

How a Hazard Gate Works

01

Reach a New Floor Entrance

The player tries to descend into a previously unresolved floor.

Phase 01
02

Hazard Check

The system evaluates whether the floor contains a hazard.

Phase 02
03

Gate Activated

If a hazard is present, further descent is blocked. The player can continue mining the accessible floor or return to the surface.*

Phase 03
04

Mercenary Clearance

The player returns to base and hires the appropriate mercenary group using the required payment and materials. Mercenary hiring occurs outside the active mining session.*

Phase 04
05

Continue Descent

The cleared hazard is recorded globally. The gate remains permanently cleared for subsequent sessions, allowing progression to continue.

Phase 05

Note: A Hazard Gate ends forward progression, not the entire session.*

Hazard Types

Three hazard categories can interrupt progression:

Encounter Type

Toxic Gas Pockets

Required Clearance

Alchemist mercenaries + required materials

Encounter Type

Flooded Floors

Required Clearance

Aarinaq(1)-related mercenaries + required materials

Encounter Type

Dermin-Invaded Floors (2)

Required Clearance

Adventurer mercenaries + required equipment/materials

(1)(2) Lore related content*

Hazard Occurrence

Hazard probability is evaluated when the player first reaches an unresolved floor. After a hazard is encountered, the probability cycle resets before gradually increasing again with forward depth progression.

Probability Progression Curve Cap at Floor 8
100% 50% 0% F1-3 (0%) F4 F5 F6 F7 F8 (100%)

Floors from last hazard gate (cycle resets after encounter).

Mercenary Clearance Surface Economy Link

Relationship between the subterranean mine and the surface world economy:

01 HAZARD ENCOUNTERED
02 RETURN TO SHOP
03 SELECT MERCENARY CONTRACT
04 PAY FEE + REQUIRED MATERIALS
05 CLEARANCE COMPLETED
06 RETURN TO MINE
Subterranean Mine ⇄ Surface Guild Global state unlocked

Project Tallus — Subterranean Mining System Case Study

Built with Astro 5, Tailwind CSS, TypeScript & SVG