54 lines
2.9 KiB
Markdown
54 lines
2.9 KiB
Markdown
# DungeonCraft – Design-Entscheidungen
|
||
|
||
Eigenständiges Dungeon-Management-Spiel (Genre: Dungeon-Aufbau & Verteidigung), läuft als WASM im Browser.
|
||
|
||
## Technik
|
||
- Rust + **macroquad** (WebGL), Ziel `wasm32-unknown-unknown`
|
||
- Oberfläche komplett **im Canvas**
|
||
- Schrift: **DINOBYTE** Bitmap-Font (CP437, 6×8 px, CC BY 4.0, siehe CREDITS.md) für alle Texte, ganzzahlig skaliert
|
||
- Alle UI-Fenster mit **CP437-Rahmen** (einfach für Panels, doppelt für Dialoge); Balken (HP/Mana/Tor) als Pixel-Balken
|
||
- Sound: Event-System + macroquad-Audio vorbereitet (Lautstärke, Stumm-Taste M); Klänge werden später generiert
|
||
|
||
## Grafik
|
||
- **3D**, **echt isometrisch** (orthografische Kamera)
|
||
- Kamera **frei 360° drehbar + neigbar**
|
||
- Wände mit **unregelmäßiger Oberfläche** (Rauschverformung der Wandflächen, nahtlos zwischen Nachbarn)
|
||
- Texturen: **prozedurale Pixelart** (Kachel-Atlas)
|
||
- Figuren: **Pixel-Sprites als Billboards** (immer zur Kamera gedreht)
|
||
- Licht: **Dunkel + Fackeln** – Grunddunkelheit, eroberte Bereiche und Lichtquellen (Fackeln, Kern, Portal, Tor) hell, flackerndes Licht
|
||
- UI bleibt 2D-Ebene darüber, Minikarte
|
||
|
||
## Steuerung
|
||
- Linksklick: aktives Werkzeug benutzen (Rechteck aufziehen für Graben/Räume)
|
||
- Rechtsklick: Einheit aus der Hand absetzen
|
||
- Kamera: WASD/Pfeiltasten, rechte Maus ziehen, Mausrad-Zoom, Bildschirmrand
|
||
|
||
## Spielinhalt (volles Konzept)
|
||
- **Graben**: Erde/Gold markieren → Grubenwichte graben, bringen Gold heim, erobern Boden
|
||
- **Räume**: Schatzkammer, Quartier, Pilzgarten, Trainingshalle, Bibliothek
|
||
- **Portal** erobern → Kreaturen: Kobold, Höhlenspinne, Schattenmagier, Steinoger (abhängig von Räumen)
|
||
- **Bedürfnisse**: Schlaf, Essen, Lohn (Zahltag); unzufriedene Kreaturen gehen
|
||
- **Hand**: eigene Einheiten aufnehmen/absetzen (max. 8)
|
||
- **Zauber** (Mana): Blitz, Heilung, Grubenwicht beschwören
|
||
- **Helden**: Ritter, Bogenschützin, Priester, Zwergenhauer, Lichtpaladin (graben sich zum Seelenkern durch)
|
||
|
||
## Ziel
|
||
- **Sieg**: Heldentor zerstören
|
||
- **Niederlage**: Seelenkern zerstört
|
||
|
||
## Torangriff
|
||
- **Angriffsflagge**: Spieler setzt eine Sammelflagge; freie Kreaturen marschieren hin und greifen alles in der Nähe an (auch das Tor)
|
||
- **Tor**: ca. 3000 HP, regeneriert langsam, wenn es nicht angegriffen wird
|
||
- **Verteidiger** erscheinen bei HP-Schwellen 75 % / 50 % / 25 % (letzter Trupp mit Boss), herausfordernd
|
||
|
||
## Heldenwellen
|
||
- **Endlos**, solange das Tor steht
|
||
- Stärke richtet sich nach dem **Armeewert** (Summe HP × Angriff aller Kreaturen inkl. Stufen)
|
||
- Wellenstärke **mitwachsend 60 % → 100 %** des Armeewerts, mit etwas Zufall
|
||
- **Schonfrist** 5 Minuten, danach **Mindestwelle** (z. B. 2 Ritter) auch bei schwacher Armee
|
||
- Ziel: immer schaffbar, aber herausfordernd
|
||
|
||
## Betrieb / Test
|
||
- Build im Docker (Multi-Stage: Rust → nginx:alpine)
|
||
- Testversion auf Port **18093**, später zusätzlich Subdomain über Nginx Proxy Manager
|