build mode requirements

This commit is contained in:
2026-04-16 22:49:44 +02:00
parent a8bed777c4
commit 18f82bb1e6

View File

@@ -37,19 +37,23 @@ The following config files drive game parameters:
- REQ-BLD-2: Placed buildings enter a construction queue and are built one at a time. Each building takes a duration defined in recipes.config to construct.
- REQ-BLD-3: Buildings can only be placed on asteroid tiles.
- REQ-BLD-4: Shipyards must be placed at the asteroid's right edge.
- REQ-BLD-5: Buildings can be rotated before and after placement using Q (counter-clockwise) and E (clockwise). Rotation affects the direction of the output port.
- REQ-BLD-6: The player can demolish a placed building. Demolition returns a configurable percentage of the original building block cost (default 75%) to the global stock. The refund percentage is read from world.config.
- REQ-BLD-5: Clicking a build button activates builder mode for that building type. Builder mode is exited by pressing Escape, right-clicking in the game world, or clicking the same build button again.
- REQ-BLD-6: While in builder mode, a ghost of the building is rendered at the tile under the cursor, showing where it would be placed.
- REQ-BLD-7: While in builder mode, pressing E rotates the ghost 90° clockwise and Q rotates it 90° counter-clockwise. Rotation affects the direction of the output port.
- REQ-BLD-8: Clicking a valid tile in builder mode places a construction site and adds it to the build queue, consuming building blocks from the global stock.
- REQ-BLD-9: For belts, the player can click and drag across multiple tiles to place a construction site on each tile in one gesture.
- REQ-BLD-10: The player can demolish a placed building. Demolition returns a configurable percentage of the original building block cost (default 75%) to the global stock. The refund percentage is read from world.config.
## Building Types
- REQ-BLD-7: **Miner** (2×2): The player selects which ore type it extracts. Produces ore at a rate defined in recipes.config. Ore never depletes.
- REQ-BLD-8: **Smelter** (2×2): Converts ore or scrap into basic materials. No recipe selection required. Inputs, outputs, and rates are defined in recipes.config.
- REQ-BLD-9: **Assembler** (3×3): The player selects a recipe from the config-defined crafting tree. Produces the selected output item at the rate defined in recipes.config.
- REQ-BLD-10: **Reprocessing Plant** (3×3): Consumes scrap per cycle (quantity from recipes.config) and produces higher-level intermediate products. Each product type has a fixed drop probability per cycle, defined in recipes.config.
- REQ-BLD-11: **Shipyard** (4×2): The player selects a blueprint. Automatically produces one ship of that type whenever all required materials are present in its input buffer. Ship material requirements are defined in ships.config.
- REQ-BLD-12: **Salvage Bay** (3×2): A dedicated drop-off point for salvage ships. Scrap delivered here is placed onto connected output belts.
- REQ-BLD-13: **Belt** (1×1): Transports items. Available in straight and curved variants.
- REQ-BLD-14: **Splitter** (1×1): Distributes incoming items alternately between two output directions. If one output is blocked, items are sent to the other output until it unblocks.
- REQ-BLD-11: **Miner** (2×2): The player selects which ore type it extracts. Produces ore at a rate defined in recipes.config. Ore never depletes.
- REQ-BLD-12: **Smelter** (2×2): Converts ore or scrap into basic materials. No recipe selection required. Inputs, outputs, and rates are defined in recipes.config.
- REQ-BLD-13: **Assembler** (3×3): The player selects a recipe from the config-defined crafting tree. Produces the selected output item at the rate defined in recipes.config.
- REQ-BLD-14: **Reprocessing Plant** (3×3): Consumes scrap per cycle (quantity from recipes.config) and produces higher-level intermediate products. Each product type has a fixed drop probability per cycle, defined in recipes.config.
- REQ-BLD-15: **Shipyard** (4×2): The player selects a blueprint. Automatically produces one ship of that type whenever all required materials are present in its input buffer. Ship material requirements are defined in ships.config.
- REQ-BLD-16: **Salvage Bay** (3×2): A dedicated drop-off point for salvage ships. Scrap delivered here is placed onto connected output belts.
- REQ-BLD-17: **Belt** (1×1): Transports items. Available in straight and curved variants.
- REQ-BLD-18: **Splitter** (1×1): Distributes incoming items alternately between two output directions. If one output is blocked, items are sent to the other output until it unblocks.
## Material Transport & Buffers