Stefans zweite Feedback-Runde:
- Nicht-Schwimmer (Tony & Co.) tauchen nicht mehr unter: die Wasser-
oberflaeche traegt (14px Eintauchtiefe, springen von dort moeglich,
Herzverlust laeuft) -- wie im Original-Screenshot. Schwimmer (Smacks)
loesen nahe der Oberflaeche mit der Sprungtaste einen echten Sprung aus
und kommen wieder aus dem Wasser raus (vorher unmoeglich).
- Slope-Schweben gefixt: Luft-Snap nur bei echter Durchdringung; Bergauf-
Toleranz nur fuer bereits Gelandete.
- Start-Sprite-Sequenz beim Levelstart/Charakterwechsel (Tony Arm hoch,
Smacks Daumen hoch, Frame 22, ~1.1s, durch Eingabe abbrechbar).
- Rennsprungweite: RUN_SPEED 185 -> 200 ("bis hinter die Blume").
- HUD v3 nach Original-Referenz: helle Creme-Rahmen, hoehere Boxen,
Cerealien-Icon in voller Groesse, leere Herz-Plaetze dunkel.
Verifiziert: Physik-Sims (Wade+Absprung, Smacks-Ausstiegssprung, Decken-
Kollision unter der Bruecke korrekt) + E2E rc=0 + --once exit 0.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Stefans Feedback-Paket (7 annotierte Screenshots):
- Player-Klasse mit CHAR_DEFS: Tony (RENNEN mit ALT -- echte Rad-Animation,
Frames 26-33) und Smacks (SCHWIMMEN, Frames 37-44; kein Rennen) spielbar;
Coco/Toucan vorbereitet. Idle-Packungs-Animation nach 5s Stillstand
(Tony 44-49, Smacks 31-36). Sprung-Frames 18/19 (gestreckt).
- Sprunghoehe kalibriert (-360, ~72px: "Tony kommt mit dem Kopf an den Ast").
- WASSER (Stefans Fund: nur bei DOSBox machine=vgaonly sichtbar): water_y
pro Level + dunkelblaues Overlay; Nicht-Schwimmer verlieren alle 5s ein
Herz, 0 Herzen -> Respawn/Leben-1, 0 Leben -> Karte. Smacks schwimmt
schadlos (traege Wasserphysik, Space = Schwimmstoss).
- TUER mit Kopf-Symbol (Level-1-Haus): ALT im STEHEN oeffnet das
Charakter-Auswahlmenue "MIT WEM MOECHTEST DU SPIELEN?" -- WECH_1-4 =
farbige Koepfe, WECH_5-8 = grau (nicht verfuegbar; Level 1: nur
Tony+Smacks). Auswahl blinkt, Wechsel uebernimmt die Position.
- HUD nach Referenz-Screenshot: Keks-Box mit Cerealien-Icon (ITE0-3) des
aktiven Charakters, Herz-Box als 2x2-Grid, Charakter-Kopf-Box (zeigt die
gewaehlte Figur) + Leben, Uhr.
- Level-Metadaten (Charaktere/Wasserlinie/Tuer/Spawn) v1 als LEVEL_INFO-
Konstanten -- Original-Quelle ist vermutlich das .ARE-Format (Header
enthaelt BE-Pixelkoordinaten, Analyse in NOTES.md, noch offen).
Verifiziert: E2E (Xvfb+XTEST) -- Tuer->Menue->Smacks, HUD wechselt auf
Smacks-Kopf+Puff-Icon, Wasser-Overlay sichtbar, ESC/QUIT rc=0; --once ok.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Stefans annotierter Live-Test-Screenshot, alle 4 Punkte:
- Laufrichtung gefixt: TONY.BOB gerade Frames = rechts (war vertauscht,
Figur lief rueckwaerts).
- Schraegen-Kollision: ctype 16 = Slope-Tile (per ctype-Farbvisualisierung
exakt auf dem Grashang der Referenz identifiziert -- keine Tuer). 45-Grad-
Diagonale, Richtung per Nachbar-Heuristik, am Fussmittelpunkt geprueft,
Snap nur bei fallender Bewegung (kein Herunterziehen im Sprung).
Simulation verifiziert: Hang hoch bis Plateau, kein Durchfallen mehr.
- HUD: weisse Kellogg's-Leiste (Schriftzug aus KELLOGGS.PCC gecroppt),
Herzen als echte GAMEBAR-Sprites (10=voll/11=leer), Uhr-Box/Layout neu
verteilt und Startzeit 9:59 (4-stellige Anzeige passt immer in die Zeile).
- RENNEN: ALT halten (Original-Anleitung: Tonys Faehigkeit) bzw. LSHIFT,
185 px/s + schnellere Laufanimation.
Verifiziert: Slope-Simulation (min_y=559=Plateau, kein Durchfallen),
HUD-Standbild (Leiste/Herzen/Uhr komplett), E2E-Lauf rc=0, --once exit 0.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Weltkarte: SPACE startet Level 1 (Original-Verhalten per DOSBox-Referenz:
Return tut dort nichts, kein sichtbarer Level-Cursor am Spielstart).
Level 1 = W1L1.MAP -- per Template-Matching des DOSBox-Gameplay-Screenshots
gegen die gerenderten Maps identifiziert (W1L0 ist NICHT Level 1).
game/level.py:
- Level: MAP+ICO+Weltpalette laden, komplette Map einmalig vorrendern,
Kamera blittet 320x176-Ausschnitt (HUD 320x24 darunter, wie Original).
- Kollision: MAP-ctype Bit 32 = solide (40=Boden, 32=Fuellung; empirisch
an der Spawn-Plattform verifiziert).
- Tony: TONY.BOB (53 Frames; 8-Phasen-Gehzyklus, gerade=links/ungerade=
rechts), AABB-Physik gegen das Tile-Grid, laufen/springen/ducken,
Fusspunkt-basiert. Physikwerte v1 nach Gefuehl (Feinschliff nach Test).
- HUD-Nachbildung (Keks/Item/Score/Herzen/Leben/Uhr 10:00-Countdown) mit
FON_1B-Ziffern; GAMEBAR-Icons geladen (Original-Ziffern-Palette unklar).
- Levelmusik: ONGAME2 Song 0 als v1-ANNAHME (nach Gehoer korrigieren, wie
beim Factor5-Sound); wird im Audio-Preload mitgerendert.
- ESC -> zurueck zur Karte (Titelmusik loopt wieder), Fenster-X -> Ende.
Verifiziert: E2E unter Xvfb mit gehaltenen XTEST-Tasten -- laufen (Kamera
scrollt), springen, Plattformkante runterfallen, unterm Brueckenbogen
zurueck, ESC->Karte->Menue->QUIT rc=0. Level-Standbild deckungsgleich zur
DOSBox-Referenz. --once-Regression exit 0.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>