From fef348325de14e34a9670c206b9bf50d3e7ea389 Mon Sep 17 00:00:00 2001 From: mlangkabel Date: Wed, 15 Apr 2026 22:12:33 +0200 Subject: [PATCH] concept iteration --- docs/concept.md | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/docs/concept.md b/docs/concept.md index 6d2e54c..29e1bd4 100644 --- a/docs/concept.md +++ b/docs/concept.md @@ -25,8 +25,9 @@ A single-player asymmetric game inspired by DOTA's wave/tower structure, combine - Buildings are placed in a queue and constructed one at a time; each building takes time to complete. - The crafting/production tree is defined in a config file so it can be extended later without code changes. - The factory is simpler than Factorio in depth but follows the same production-chain principle. +- Materials are transported between buildings manually using **belts**. -## Resources +## Resources & Building Blocks Two sources feed the same production tree: @@ -35,6 +36,13 @@ Two sources feed the same production tree: - Scrap can be smelted into the same basic materials as mined ores. - A dedicated **Reprocessing Plant** building can extract higher-level intermediate products from scrap (with fixed probabilities per product type), bypassing parts of the normal crafting chain. +**Building Blocks** are the one globally shared resource: + +- An assembler recipe turns input materials into building blocks. +- Building blocks are transported via belts into the HQ, where they are added to the global building blocks stock. +- The global building blocks stock is the only global inventory; all other materials exist only in buildings and on belts. +- Building blocks are spent to place new factory buildings and to unlock new asteroid columns (see Asteroid Expansion). + ## Ships & Shipyards - Shipyards are built at the edge of the asteroid. @@ -46,22 +54,30 @@ Two sources feed the same production tree: - **Repair ships** — fly out and repair damaged player defence stations and other player ships in the field. - If the player's ships are all destroyed, enemy ships advance unhindered toward the player's defence stations and then the asteroid. -## Enemy Waves +## Enemy Waves & Difficulty Scaling - Waves spawn continuously over a period of several seconds, then there is a gap before the next wave begins spawning. - The previous wave may still be in transit or fighting during the gap — there is no hard "wave cleared" state. -- The number and strength of enemies increases over time. +- Difficulty scales multiplicatively from two independent sources: + - **Time scaling** — enemy strength increases gradually over elapsed game time. + - **Push scaling** — each time the player destroys a set of enemy defence stations, enemy strength is multiplied by a configurable factor (e.g. 1.5×). This factor also determines the strength of the replacement defence stations. +- Both scaling factors stack multiplicatively. ## Push Mechanic (Enemy Defence Stations) - The enemy owns a pair of defence stations positioned just beyond the scrollable area boundary. - The player is **not** forced to push — purely defensive play is valid. -- If the player's fleet becomes strong enough that incoming waves are trivial, pushing to destroy enemy defence stations provides a new challenge: destroying them **doubles the enemy threat level** starting with the next wave, extends the scrollable area, and places a new pair of stations (twice as strong) at the new boundary. +- If the player's fleet becomes strong enough that incoming waves are trivial, pushing to destroy enemy defence stations provides a new challenge: destroying them multiplies the enemy threat level by the configurable push scaling factor (starting with the next wave), extends the scrollable area, and places a new pair of stations (scaled by the same factor) at the new boundary. - Destroyed enemy defence stations drop loot: primarily **ship blueprints** that unlock new ship types at shipyards. +## Starting Conditions + +- The player starts with the **HQ** pre-placed and a stock of building blocks. +- Enemy waves do not begin immediately; there is a grace period at the start to allow initial factory setup. + ## Game Over Condition -- There is a **Headquarters** building at the edge of the asteroid (the last line of defence). +- There is a **Headquarters (HQ)** building at the asteroid edge, through which building blocks enter the global stock via belts. - If enemy ships breach the asteroid — all player ships and defence stations destroyed — they attack the HQ. - The game is lost when the HQ is destroyed. - Individual factory buildings are **not** targeted or destroyed by enemies. @@ -72,6 +88,8 @@ Two sources feed the same production tree: - Elapsed time is always displayed. - New ship blueprints are unlocked by destroying enemy defence stations. -## Open Questions / TODO +## Asteroid Expansion -- How does the player unlock additional asteroid tiles for building? +- The asteroid has a fixed number of columns, configurable at game start. +- Additional columns can be unlocked by spending building blocks from the global stock. +- Each unlocked column costs a fixed amount of building blocks (value to be tuned).