v50 Steam/Premium information for editors
  • v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
  • Use this page to report any issues related to the migration.
This notice may be cached—the current version can be found here.

User:Quietust/Obsidian

From Dwarf Fortress Wiki
Jump to navigation Jump to search

Obsidian Factory[edit]

Every fortress needs an obsidian factory, and this is the one I built in my 40d fortress "Wasprag", producing 400 obsidian stones per batch.

▓≈▓ ← pumped magma        |                        |                    ▓.▓
▓≈▓(1)        triggers ↓  |                        |                    ▓.▓ ← maintenance access
╔X═══════════════════╗▓▓▓ | ╔════════════════════╗ | ╔═══════════════════X╗▓▓▓
║....................Xò.ò | ║                    ║ | ║╔════════╗╔════════╗X≈≈≈ ← pressurized water
║....................X... | ║                    ║ | ║║++++++++║║++++++++║║▓▓▓
║....................Xò.ò | ║                    ║ | ║║++++++++║║++++++++║║(2)
║....................║▓▓▓ | ║                    ║ | ║║++++++++║║++++++++║║
║....................║(4) | ║                    ║ | ║║++++++++║║++++++++║║
║....................║    | ║                    ║ | ║║++++++++║║++++++++║║
║....................║    | ║                    ║ | ║║++++++++║║++++++++║║
║....................║ m  | ║                    ║ | ║║++++++++║║++++++++║║
║....................║ i  | ║                    ║ | ║║++++++++║║++++++++║║
║....................║ n  | ║                    ║ | ║╚════════╝╚════════╝║ ← retracting bridges
║....................║ i  | ║                    ║ | ║╔════════╗╔════════╗║(3)
║....................║ n  | ║                    ║ | ║║++++++++║║++++++++║║
║....................║ g  | ║                    ║ | ║║++++++++║║++++++++║║
║....................║    | ║                    ║ | ║║++++++++║║++++++++║║
║....................║ a  | ║                    ║ | ║║++++++++║║++++++++║║
║....................║ c  | ║                    ║ | ║║++++++++║║++++++++║║
║....................║ c  | ║                    ║ | ║║++++++++║║++++++++║║
║....................║ e  | ║                    ║ | ║║++++++++║║++++++++║║
║....................║ s  | ║                    ║ | ║║++++++++║║++++++++║║
║....................║ s  | ║                    ║ | ║╚════════╝╚════════╝║
╚════════════════════╝    | ╚════════════════════╝ | ╚════════════════════╝

Automation[edit]

Unfortunately, producing a batch of obsidian requires a complicated sequence of lever pulls and delays. And because that's not ‼Fun‼, I decided to design and build a machine to fully automate it. Almost.

Timing System[edit]

Each pressure plate opens the floodgate immediately to the south and activates zero or more special triggers. Each step takes 100 frames, plus time taken for the water to flow through (which should be near zero if the source is sufficiently pressurized). ON signals and inverted (/Signal) OFF signals activate more or less immediately (plus another 100 frames for bridges and floodgates), while OFF signals and inverted ON signals take an additional 100 frames to respond.

Trigger lever - Timer:ON, Magma:RESET, Water:RESET, Mixer:RESET, Access:RESET

(in my original implemtnation, the trigger lever had to be turned on, then turned off again after a short delay; ideally, this would instead be connected to an edge trigger to permit making a batch of obsidian with only a single lever pull)

▓▓≈▓ ← pressurized water
▓▓≈▓(5)
▓▓X▓▓▓
╬X^X<▓ - A - /Access:ON, /Water:ON, Magma:ON
╬XX▓▓▓
╬X^▓ - B (wait for the magma to sufficiently fill the lower level)
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - B (the number of "B" stages here depends on how long it takes for the chamber to fill with magma)
╬XX▓
╬X^▓ - B (if the pump moves magma quickly enough, this stretch can be shortened significantly)
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - C - Magma:OFF
╬XX▓
╬X^▓ - D - Mixer:ON
╬XX▓
╬X^▓ - E (wait for the water to drop onto the magma and form obsidian)
╬XX▓
╬X^▓ - E
╬XX▓
╬X^▓ - E
╬XX▓
╬X^▓ - F - Mixer:OFF, /Access:OFF
╬XX▓
╬X^▓ - G (wait for the mixer bridges to close - takes 200 frames from stage F)
╬XX▓
╬X^▓ - G
╬XX▓
╬X^▓ - H - /Water:OFF, Timer:OFF
╬XX▓
╬X^▓ - I - open all Drainage floodgates (to the left)
▓▓▓▓
↑ fortification drain

Persistent triggers:

Z-0
▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓>▓
▓☼▓☼▓☼▓☼▓.▓
▓║▓║▓║▓║▓.▓▓▓
▓║.║.║.║....▓
▓☼.☼.☼.☼.☼▓>▓▓▓ - OFF signals 1-5
▓☼═☼═☼═☼═☼═════ ← machine power
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
Z-1
▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓
▓........X▓
▓o▓o▓o▓o▓▓▓
▓ ▓ ▓ ▓ ▓ ▓▓▓
▓%.%.%.%.%..▓
▓%▓%▓%▓%▓%▓X▓
▓¢┼¢┼¢┼¢┼¢┼.▓ - RESET signals 1-4, ON signal 5
▓▓▓▓▓▓▓▓▓▓▓▓▓
Z-2
▓▓▓▓▓▓▓▓▓▓▓
▓ ▓ ▓ ▓ ▓▓▓
▓%.%.%.%.X▓
▓%▓%▓%▓%▓▓▓
▓+▓+▓+▓+▓+▓
▓▓▓▓▓▓▓▓▓%▓▓▓
▓▓▓▓▓▓▓▓▓%.<▓
▓ ▓ ▓ ▓ ▓ ▓▓▓
▓▓▓▓▓▓▓▓▓▓▓
Z-3
▓▓▓▓▓▓▓▓▓▓▓
▓+▓+▓+▓+▓▓▓
▓%▓%▓%▓%▓X▓
▓%.%.%.%..▓
▓ ▓ ▓ ▓ ▓.▓
▓.........▓
▓┼▓┼▓┼▓┼▓┼▓
▓¢▓¢▓¢▓¢▓^▓ - ON signals 1-4, output signal (5)
▓▓▓▓▓▓▓▓▓▓▓
Z-4
▓▓▓▓▓▓▓▓▓▓▓
▓.........▓
▓o▓o▓o▓o▓X▓
▓▓▓▓▓▓▓▓▓.▓
▓+▓+▓+▓+▓.▓
▓%▓%▓%▓%▓.▓
▓%.%.%.%..▓
▓ ▓ ▓ ▓ ▓▓▓
▓▓▓▓▓▓▓▓▓▓▓
Z-5
▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓
▓☼.☼.☼.☼.<▓
▓║▓║▓║▓║▓▓▓
▓║▓║▓║▓║▓▓▓
▓☼▓☼▓☼▓☼▓▓▓
▓┼▓┼▓┼▓┼▓▓▓
▓^▓^▓^▓^▓▓▓ - output signals (1), (2), (3), (4)
▓▓▓▓▓▓▓▓▓▓▓
 1 2 3 4

Output signals:

  • (1) - Magma (4-7) - open floodgate (1) when ON, close when OFF
  • (2) - /Water (0-3) - close floodgate (2) when ON, open when OFF
  • (3) - Mixer (4-7) - retract bridges (3) when ON, close when OFF
  • (4) - /Access (0-3) - close floodgates (4) when ON, open when OFF
  • (5) - Timer (4-7) - open floodgate (5) when ON, close when OFF

Simple resettable trigger[edit]

(side view)
▓▓▓☼ _ ← OFF
▓ %>¢▓ ← ON
▓ <% ▓
▓▓▓▓^▓ → Output

This is a simple Permanent Effect Pressure Plate, having separate ON and OFF signals. The pressure plate at the bottom should be set to trigger either on 4-7 water or 0-3 water, depending on the desired "polarity" of the trigger. The "ON" signal is connected to the floor hatch (which should be primed with a tile of 4/7 or more water), and the "OFF" signal is connected to a disengaged gear assembly at the top (the gear should be linked to an existing lever and toggled before being connecting to your other systems). Note that this system will misbehave if both the ON and OFF signals are active at the same time.

Complex resettable trigger[edit]

(side view)
▓▓▓☼══☼ _ ← OFF
▓▓▓║ %>¢▓ ← RESET
▓ %>_▓▓ ▓
▓ <% ▓▓¢▓ ← ON
▓▓║▓_<% ▓
▓▓☼══☼▓^▓ → Output

This is a more versatile Permanent Effect Pressure Plate, such that it will only accept one ON signal followed by one OFF signal before it must be RESET, most useful for systems where you need to perform a sequence of events and deactivating the ON signal before sending an OFF signal would increase complexity.

The pressure plate at the bottom should be set to trigger either on 4-7 water or 0-3 water, depending on the desired "polarity" of the trigger. The "ON" signal is connected to the lower floor hatch, the "OFF" signal is connected to a disengaged gear assembly at the top (the gear should be linked to an existing lever and toggled before being connecting to your other systems), and the "RESET" signal is linked to the upper floor hatch (which should be primed with a tile of 4/7 or more water). Unlike the Simple resettable trigger described above, it is possible to activate the OFF signal while the ON signal is still active without disrupting the trigger's function - once both the ON and OFF triggers have been deactivated, simply toggle the RESET signal to return the trigger to its initial state. By leaving the RESET signal permanently active, this trigger can behave the same as the simple resettable trigger.