I really love the idea of dwarf fortress's mechanics system, and I know it isn't the theme but I am going to throw it out there.
Basic building block types of devices, as well as configurable parts inside such devices.
I'm pretty sure it has been discussed before but here is a quick list:
Pressure plates fixed (Allow dwarf citizens to activate, bug fixed already maybe?)
- Add options for delays when activated/deactivated. Currently they send activate signals immediately when stepped on and deactivate signals approximately 100 frames after stepping off. Would be nice to be able to change this from say instant/quick/delayed (1 frame, 100 frames, 400 frames or something).
Counters
- When activated, it increases the 'count' by 1, when deactivate decreases the counter by 1. When the counter is zero it sends an activate to whatever it is linked to, when the counter is nonzero it sends a deactivate to whatever it is linked to. No negatives, a deactivate at count 0 should resend a deactivate signal again. Add instant/quick/delayed response. Max count variable setting should be applied as a modulo to the count (eg max of 7 means 0-1-2-3-4-5-6-7-0-1-2-3-4-5-6-7-0 on constant activations).
Swapper (basically a NOT gate): When deactivated, sends an activate signal. When activated, sends a deactivate signal.
AND/OR gate: When set to AND, simply if all inputs mechanisms have sent an activate signal, send an activate signal (activated only upon being activated). When set to OR, if any input mechanisms have sent an activate signal, send an activate signal (actiated only upon being activated). XOR, NAND, NOR, etc are not required...
Linking devices to devices: Counters, gates, etc should be able to link to themselves, Thus a counter/gate that sends a signal to itself with a delay will become a natural timer.
Handling abuse: Overused mechanisms (based on activations/deactivions per second?) should wear and break, preventing infinite loops and/or crashes.
Examples of use:
Linking a pressure plate to an or gate (with a second permanently on signal) could make it an activator. When the pressure plate activates it would send a signal to the and gate which would then send a signal to the target, but when the pressure plate deactivates it would send a signal to the or gate and (since it has a second permanent on signal) it would send another activate signal to the target. Create 2 such pressure plates (one with a swapper gate attached) and you are "gonna have us some fun" (Mac, Predator)
Linking a pressure plate to a swapper, and linking the swapper and a lever to an and gate, and linking the and gate to an 'atom smasher' would generate a safety precaution such that the atom smasher could never be activated when a dwarf is standing in the vicinity.
Linking 5 pressure plates to an or gate, and linking the or gate to 5 spike traps would result in any pressure plate being activated results in 5 spike traps coming up. Previously this would require all 5 pressure plates to link to all 5 spike traps (meaning total links/mechanisms used is now N+M+1 instead of N*M).
Linking a timer (see above) to a gear assembly (powering a water pump) would give controlled water flow (eg on for 2 seconds, off for 2 seconds).
And of course with new basic building blocks one would require new gnomelike gizmos to be activated. We have at our disposal bridges, floodgates, doors, etc. Kind of bland at the moment, as it is generally limited to atom smashers, raised drawbridges, and 'liquid control' systems... NOTE none of these are things I'd cry if I didn't have, they are just ideas... favored towards factory construction I guess. I'm not that creative.
Elevators:
- Requires chain, cage, mechanism.
Elevator Shaft:
- Requires chain, nechanism, open space
Description: Build a shaft that hangs from the ceiling (requires power), build an elevator below the shaft. When an elevator receives an activate signal, it raises one level (if the above level has a shaft). When an elevator receives a deactivate signal, it lowers one level (if the below level has a shaft). Elevators never support shafts/adjacent tiles and are always hanging. One tile of open space on the bottom should be required to prevent 'atom smashing' like behavior?
Conveyer Belt
- requires chain, mechanism,
material belt?, power.
- can be built any reasonable size, ala bridges/roads
Description: When sent an activate signal, moves all objects/creatures/etc on the belt one tile towards (preselected) direction. If total weight moved is greater than some threshold, nothing happens (based on power/material, a crappy belt may not move 100 units of stone, but a steel one may). Threshold can be based on both power input (# of units of power per unit weight, so it might require 400 units of power to move heavy rocks etc) as well as belt material (steel can handle more weight than silver/copper). Jams can occur when the end of the conveyer belt dropoff has reached its full capacity (or when too much crap ends up at the end of the belt). Belt speed limited to 1 movement per # of frames (possibly 1 movement per 10 frames, so you cannot have a conveyer belt of doom for goblins who walk on it that sends them 1000mph at a...
Atom smasher
- Yes, an actual atom smasher to replace the drawbridge abuse.
- Requires material (stone or metal blocks), power, mechanism.
Description: When sent an activate signal, it attempts to smash anything on the tile it is placed, when deactivated it removes the atom smasher and allows for more objects to be placed. Materials dictate what can be smashed (wood smashers would simply break, while adamantine smashers would be able to smash even the largest stone rocks). Heavy duty metal smashers could smash very heavy items whereas stone smashers could not smash say... other stone (it would break). Useful at the end of a conveyer belt! Power requirements possibly based on material of the smasher or weight of the material used in the smasher (adamantine - cheap, heavy rocks - requires lots of power). Smashing rocks should have the ability to create sand. Smashing food/booze/plants/etc creates splatter (eg blood splatter) that needs to be cleaned periodically. Smashing leather/cloth should do nothing, and smashing dwarves should be hilarious (Welcome to your room countess, let me close the door so you can be alone). Smashing coal products could create fire? Smashing ice could (based on environment) create water. Noise generated should be unbearable, smashers that have in the past smashed a dwarf (on purpose or accident) should generate fear as goblins do (causing panic and run away), unable to ever be disassembled again...
Lift
- requires chain, mechanism, cork screw, material block, power, open space (similar to a grate/well)
Description, when activated simply attempts to grab an item (or dwarf) 1 z level below and place it on the tile to the north/east/south/west (designated when built) Similar to a water pump but doesn't work with water. The premise here is that you cannot put stockpiles on conveyer belts (as its a construction) but you can put lifts OVER stockpiles resulting in less haulers, and more fun/booze time for dwarves.
Thats it for now I guess... Is it too gnomish and not dwarvish? Perhaps we could play on a new Gnome Fortress mode (mechanics are the only profession, period). Could be fun =]