S5: Turm-HP, Run-Ende, Meta-Gutschrift, Neustart #18

Open
opened 2026-08-10 13:14:35 +00:00 by RDietermann · 0 comments
Owner

Part of #13
Blocked by: #17

Das Ticket, das den Loop schließt. Danach ist das Skelett vollständig und man kann zum ersten Mal beurteilen, ob sich das Spiel gut anfühlt.

Inhalt

  • Gegner, die den Turm erreichen, ziehen Turm-HP ab. Fällt sie auf null, endet der Run.
  • Run-Ende wechselt nach Meta; die Turm-Entity wird despawnt und nimmt alles Run-gebundene mit (ADR-0002 §6). Kein Aufräum-Code.
  • Die im Run verdiente Meta-Währung überquert genau einmal, in genau einem System, die Run-Grenze (ADR-0003 §6). Coins verfallen.
  • Aus Meta heraus ein neuer Run startbar. Im Skelett genügt ein Tastendruck; der Meta-Screen kommt später.
  • Ein Zähler, der zeigt, dass die Meta-Währung über Runs hinweg wächst — die minimale Form des Beweises, dass der Loop trägt.

Akzeptanz

  • Ein vollständiger Zyklus läuft ohne Programmneustart: Run starten, sterben, Meta-Stand sehen, neuen Run starten.
  • Nach Run → Meta → Run existiert keine übriggebliebene Entity aus dem vorigen Run.
  • Der Meta-Stand nach dem zweiten Run ist höher als nach dem ersten.
  • Genau ein System schreibt die Meta-Währung; nachweisbar an der Systemliste.

Nicht in diesem Ticket: Save/Load, Workshop, Cards, Slots. Nur die Gutschrift und der Neustart.

Wenn dieses Ticket zu ist, wird die Verdickungsphase kartiert — nicht vorher. Was das Skelett zeigt, ändert den Zuschnitt der übrigen Tickets.


Auflage aus #14/#15: Der Platzhalter meta.gain_per_kill ist ein flacher Betrag pro Kill. Die Spec fordert einen drop-basierten Ertrag — Chance je Normalgegner, garantiert je Boss, Menge wellenabhängig. Das ist eine andere Mechanik, nicht nur eine andere Zahl. Im Skelett ohne Wellen und Bosse war der flache Wert das einzig Baubare; hier muss er ersetzt oder die Spec geändert werden, sonst wird die Platzhalterzahl zur stillschweigenden Entscheidung gegen die Spec.

Auflage aus #14: AppState::Run ist derzeit Default, damit cargo run einen sichtbaren Turm zeigt. Mit dem echten Run-Ende gehört der Default auf Meta — eine Zeile in src/main.rs, mit // ponytail: markiert. Die Debug-Taste (Leertaste schaltet Run/Meta) fällt hier ebenfalls weg.

Part of #13 Blocked by: #17 Das Ticket, das den Loop schließt. Danach ist das Skelett vollständig und man kann zum ersten Mal beurteilen, ob sich das Spiel gut anfühlt. **Inhalt** - Gegner, die den Turm erreichen, ziehen Turm-HP ab. Fällt sie auf null, endet der Run. - Run-Ende wechselt nach `Meta`; die Turm-Entity wird despawnt und nimmt alles Run-gebundene mit (ADR-0002 §6). **Kein Aufräum-Code.** - Die im Run verdiente **Meta-Währung** überquert genau **einmal**, in genau **einem** System, die Run-Grenze (ADR-0003 §6). Coins verfallen. - Aus `Meta` heraus ein neuer Run startbar. Im Skelett genügt ein Tastendruck; der Meta-Screen kommt später. - Ein Zähler, der zeigt, dass die Meta-Währung über Runs hinweg wächst — die minimale Form des Beweises, dass der Loop trägt. **Akzeptanz** - Ein vollständiger Zyklus läuft ohne Programmneustart: Run starten, sterben, Meta-Stand sehen, neuen Run starten. - Nach `Run → Meta → Run` existiert keine übriggebliebene Entity aus dem vorigen Run. - Der Meta-Stand nach dem zweiten Run ist höher als nach dem ersten. - Genau ein System schreibt die Meta-Währung; nachweisbar an der Systemliste. **Nicht in diesem Ticket**: Save/Load, Workshop, Cards, Slots. Nur die Gutschrift und der Neustart. **Wenn dieses Ticket zu ist**, wird die Verdickungsphase kartiert — nicht vorher. Was das Skelett zeigt, ändert den Zuschnitt der übrigen Tickets. --- **Auflage aus #14/#15**: Der Platzhalter `meta.gain_per_kill` ist ein **flacher Betrag pro Kill**. Die Spec fordert einen **drop-basierten** Ertrag — Chance je Normalgegner, garantiert je Boss, Menge wellenabhängig. Das ist eine andere Mechanik, nicht nur eine andere Zahl. Im Skelett ohne Wellen und Bosse war der flache Wert das einzig Baubare; **hier muss er ersetzt oder die Spec geändert werden**, sonst wird die Platzhalterzahl zur stillschweigenden Entscheidung gegen die Spec. **Auflage aus #14**: `AppState::Run` ist derzeit Default, damit `cargo run` einen sichtbaren Turm zeigt. Mit dem echten Run-Ende gehört der Default auf `Meta` — eine Zeile in `src/main.rs`, mit `// ponytail:` markiert. Die Debug-Taste (Leertaste schaltet Run/Meta) fällt hier ebenfalls weg.
RDietermann added the wayfinder:task label 2026-08-10 13:14:35 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: RDietermann/InfiniTower#18