Files
deepgrain-foundry/docs/systems/stone-and-liquids.md
T

105 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Waste rock and moving liquids
Built 2026-10-22; the uses for stone and sand were added 2026-10-23.
- Code:
- `src/sim/processors.js` (Refiner, Stone cutter, Silo);
- `src/sim/pipes.js`;
- `src/sim/conveyors.js` and `src/sim/machine-tick.js` (belts and tubes);
- `src/sim/economy.js` (prices, builders' orders).
- Tests: `test/t_pipes.js`, `test/t_stone.js`, `test/t_conveyors.js`.
## Refiner (machine, 3×3 blocks, $120)
An open hopper over a grinding floor. Grains that reach the floor are ground at about 30 a
second and come out of a chute under the machine. If the space under the chute is blocked, it
stops and says so.
For each grain ground, it tries for one grain of ore, in the order below. If none turns up, half
the time a grain of fine sand comes out; otherwise nothing does. So a refiner roughly halves a
pile of waste.
| Input | Chances of ore per grain |
|---|---|
| Stone rubble | copper ore 2.5%, coal 2%, iron ore 1.5%, tin ore 0.6% |
| Granite rubble | iron ore 2%, zinc ore 1.2%, copper ore 1%, silver ore 0.2% |
| Basalt rubble | iron ore 3%, zinc ore 1%, gold ore 0.3% |
| Gravel | iron ore 3%, copper ore 2%, tin ore 1%, zinc ore 0.3% |
| Sand | tin ore 1%, iron ore 0.8%, gold ore 0.15% |
| Dirt | clay lumps 8%, coal 1%, copper ore 0.8%, acorns 0.3% |
Measured: 400 stone rubble gave 28 grains of ore and 190 of sand. Anything it cannot grind,
such as ore, coal or liquids, drops straight through.
**Re-refining sand is allowed** (decided 2026-10-23). The sand a refiner puts out can go
through another refiner.
- Each pass gives about 2% ore and returns about 49% as sand.
- Refining it again and again, as with stacked refiners, eventually turns all the sand into
about 3.8% more ore per grain of sand. That is roughly 27% more ore from rubble overall.
- The owner kept it because it pays less than making glass. Players will do it when they need
ore rather than money.
## Pipes, pumps and outlets (blocks)
- **Pipe ($8).**
- Pipes are thin. Sand, water and anything else loose fall past them, so a run of pipe never
dams anything.
- Pipes, pumps and outlets that touch join into one line, which holds 16 grains per block.
Its contents are kept as a count, not simulated grain by grain.
- Taking a pipe back spills its share where it stood.
- **Pump ($70).**
- Draws liquid in at the tail of its arrow, from up to 3 grains away.
- Pushes it into the line through its other sides, at about 60 grains a second while there is
room.
- Takes only liquids cooler than 500°C (water, molten tin, zinc, brass and bronze), and one
liquid per line.
- F turns it on and off. Pumps and outlets are solid blocks.
- **Outlet ($15).** Pours the line's liquid out of the side its arrow points to, up to 2 grains a
tick, wherever there is room. F opens and closes it.
- **Water accounting.** Water in pipes counts in the world's water total, so the weather never
sends rain to replace it. Pipe contents are saved.
## Belts and screw tubes
- A heap on a belt moves as one: the whole stack, up to 96 grains deep, steps along together
instead of only its bottom layer. The owner reports that big piles still only move at the top
(see NOTES.md).
- Screw tubes run at belt pace, moving every other tick.
- A horizontal tube fed from a full hopper moves about 100–110 grains a second.
- A belt under its mouth keeps up, carrying a stream 3–5 grains deep at about the same rate.
- A vertical lift brings up about 40–60 grains a second.
- `tools/experiments/flow.js` measures these.
## Uses for stone and sand
- **Glass bricks.**
- Sand melts to molten glass in a fan furnace (peak about 2000°C measured).
- Cast in an Ingot mold, it drops out of the bottom as glass bricks, worth $14 each.
- Ingot molds empty themselves: bars, junk and mixed scrap drop below; slag is thrown away
and the grate above is raked. Removing any mold returns its set metal to the bag: whole
bars as bars, the rest as scrap.
- Glass bricks build glass wall blocks. Glass is too brittle for a bit mold.
- **Stone cutter** (machine, 2×2, $90).
- A saw under a hopper. Every 8 grains of stone rubble become one stone brick, which drops out
underneath; put a belt under it.
- Anything else falls straight through.
- **Cut stone walls.**
- 2 stone bricks per block. They look like coursed masonry and stand more heat than rough
stone (they melt at 1450°C).
- Taking one back returns the bricks.
- **Silo** (machine, 3×6, $180). It was made to look like a real silo, not a magic black hole.
- A steel bin on legs, with a roof hatch, a sight-glass gauge, a ladder, and a cone with a
slide gate.
- Holds up to 4,000 grains of one loose material; drop grains in through the hatch.
- F opens the gate, letting about 60 grains a second out underneath; F again shuts it.
- It cannot be taken down or cut while it holds anything. Its contents are saved.
- **Builders' orders.**
- About 30% of new orders come from Builders. They want 400–1,500 rubble, 300–1,000 gravel,
300–900 sand or 20–80 stone bricks.
- They pay 4–6 times the market price for loose material, and 3–4 times for bricks.
- Ordinary buyers never ask for rubble or gravel.
- **Market prices.** Rubble sells for $0.02 a grain and gravel for $0.03 at the dock; a stone
brick sells for $0.60. Dirt earns nothing.
## Other ways to deal with stone
- The trade dock takes anything that drops through it, so it also works as a dump.
- Wall blocks store rubble compactly (16 grains each); take them back to get the rubble.
- The vacuum can blow rubble into old shafts as backfill.
- Not built yet: concrete.