Karte: Vertical Slice InfiniTower #1
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Destination
Eine Spec plus die tragenden Architektur-Entscheidungen für einen spielbaren Vertical Slice von InfiniTower — inklusive Meta-Progression. Nicht das komplette Spiel, nicht nur Technik.
Fertig ist die Reise, wenn ein Spieler einen Run starten, sterben, permanent aufwerten und einen sichtbar stärkeren Run starten kann — und wenn die Entscheidungen, die diesen Loop tragen, schriftlich begründet sind.
Decisions so far
bevy_sprite, orthographische Kamera.tower_fires Zielauswahl und den geteilten Reichweiten-Scan des Auslöse-Systems. Eigene ADR-0004.Buy x1) mit Kosten pro Kauf. Workshop und Cards sind nicht in diesem HUD — sie leben auf einem eigenen Meta-Screen. Mockup:docs/design/hud-in-run.png.Balance. Feuern mehrere gleichzeitig, feuern alle. Der Reichweiten-Scan wird einmal gemacht und geteilt, sonst läuft er siebenmal pro Frame gegen 10 000 Entities (#12).Coins, verfällt am Run-Ende) und eine Meta-Währung für den Workshop — beide fallen aus denselben Kill-Events, sind aber nicht ineinander konvertierbar, damit eine In-Run-Ausgabe keinen Meta-Fortschritt kostet. Cards brauchen keine dritte, weil sie gedroppt werden. Achtung: unserCoinsentspricht demCashdes Referenzspiels, dessenCoinsist die Meta-Währung.CONTEXT.md, ADRs und Spec auf Deutsch. Code, Bezeichner und Commit-Messages bleiben englisch.Fog
Ungeklärt, absichtlich noch nicht entschieden:
Coinsist bei uns schon an die In-Run-Währung vergeben.docs/design/hud-in-run.png), der Screen dazwischen nicht.Bewusst im Nebel gelassen, nicht Teil dieser Reise: Labs, Modules, Perks, Tiers, Offline-Earnings, Art-Direction, alles Server-seitige.
Kinder
Die Tickets stehen in Reisereihenfolge. Blocker als
Blocked by:-Zeile im jeweiligen Ticket.#2 —✅CONTEXT.mdanlegen#3 — Genre-Kalibrierung✅#4 — Perf-Spike Bevy 2D✅#5 — ADR Balancing-Daten✅ Rust-Konstanten hinterBalance-Resource#6 — ADR Stat-/Modifier-Pipeline✅ 3 Akkumulatoren + Direct/Interval-Bit#7 — ADR Save/Load✅ TOML viabevy_settings, Feldnamen als Vertrag#8 — Grilling Wellen-/Economy-Kurve✅ Tod bei Welle 10–15, exponentiell + Boss-Spitzen, Drop-basierte Meta#9 — Grilling Ultimate-Auswahl✅ Death Wave, automatisch#11 — Grilling Card-Mechanik✅ Drop, Fähigkeiten, 1→5 Slots#12 — Grilling Auslöse-System✅ Cooldown + Weltzustand, fest verdrahtet#10 — Vertical-Slice-Spec✅docs/spec-vertical-slice.mdDestination erreicht. Alle Kinder geschlossen. Vier ADRs, eine Spec, ein HUD-Entwurf. Was offen bleibt, steht im Fog und im Widersprüche-Abschnitt der Spec — beides bewusst, nicht vergessen.
Folgen der Cap-Entscheidung (10 000 statt 150)
Die Entscheidung, die Gegner-Obergrenze auf den gemessenen Perf-Wert statt auf die 150 des Originals zu setzen, ist keine reine Zahlenänderung. Sie bricht neun Mechaniken des Referenzspiels, weil deren Konstanten gegen 120 gleichzeitige Normal-Gegner kalibriert sind. Herausgearbeitet bei der Verifikation von #3, Dichtefaktor ~13.
Gehört in die Balancing-Tickets (#8):
Gehört in die Architektur:
Nicht betroffen (damit wir dort keine Zeit investieren): Coin Decay, Mass-Wachstum und der Commander-Stapel-Deckel sind alle per-entity definiert und dichte-neutral, ebenso Boss-Immunitäten und Wellen-Timer. Bruchgefährdet ist ausschließlich, was eine Zahl pro Welle, pro Fläche oder pro Bildschirm nennt.
Eine Anmerkung zur Spielgeschwindigkeit wurde aufgeworfen: der Perf-Spike hat bei x1 gemessen, ein Idle-Spiel mit 35-Sekunden-Wellen will fast sicher einen Speed-Multiplikator, und ein bei x1 tragbares Cap sei bei x4 keins. Das ist hier entschärft: #4 hat gemessen, dass die gesamte Gameplay-Logik bei 10 000 Gegnern 0,114 ms von 16,67 ms kostet — 0,7 % des Budgets. Rendering läuft weiter mit der Display-Rate, nur die Simulation skaliert mit der Spielgeschwindigkeit. Selbst x4 kostet damit rund 0,3 ms. Der Punkt gilt für die Spawn-Rate (77/s wird zu 308/s), und dort ist er ebenfalls gemessen: der Population-Maintainer kostet bei 50 000 Gegnern 6,1 µs. Kein Handlungsbedarf, aber bei echten Texturen neu zu prüfen.