LEVEL 1 SPIELBAR: game/level.py -- Tiles, Kamera, Tony-Physik, HUD, Musik
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>
This commit is contained in:
co-authored by
Claude Fable 5
parent
4517efbdf8
commit
973e290cf6
@@ -18,9 +18,13 @@ werden keine vorab entpackten Assets benötigt.
|
||||
- ✅ **Hauptmenü** (HIGHSCORES / ANLEITUNG / OPTIONEN / START / QUIT) mit
|
||||
blinkender Auswahl, Credits-Ticker, Optionsmenü, Anleitungs- und
|
||||
Highscore-Tafel — gegen DOSBox-Referenzaufnahmen nachgebaut.
|
||||
- ✅ **Weltkarte** (statisch; Levelauswahl folgt mit dem Gameplay).
|
||||
- ⏳ **Nächster Meilenstein:** echter Gameplay-Loop — Tony auf Level `W1L0`
|
||||
bewegen (Physik, Kollision, Level-Scrolling). Existiert noch nicht.
|
||||
- ✅ **Weltkarte** — Leertaste startet Level 1 (wie im Original; am Spielstart
|
||||
gibt es dort keinen sichtbaren Level-Cursor).
|
||||
- ✅ **Level 1 spielbar (erster Slice):** Tony läuft, springt und duckt sich
|
||||
durch `W1L1` — Tile-Rendering, Kamera-Scrolling, Kollision, HUD und
|
||||
Levelmusik. Noch ohne Gegner, Items und Fähigkeiten.
|
||||
- ⏳ **Als Nächstes:** Items/Kekse einsammeln, Gegner, Karten-Animationen,
|
||||
weitere Level.
|
||||
|
||||
Die vollständige, chronologische Reverse-Engineering-Historie mit allen
|
||||
Format-Details steht in [NOTES.md](NOTES.md).
|
||||
@@ -70,6 +74,8 @@ Steuerung:
|
||||
- **ESC** — am Titelbild: Hauptmenü öffnen (wie im Original); im Menü: zurück
|
||||
- **Pfeiltasten + Enter** — Menü-Navigation (die Auswahl blinkt, wie im
|
||||
Original)
|
||||
- **Im Level** — Pfeile links/rechts: laufen, Leertaste/Pfeil hoch: springen,
|
||||
Pfeil runter: ducken, ESC: zurück zur Karte
|
||||
- **Alt+Enter** — zwischen Fenster- und Vollbildmodus umschalten; der Zustand
|
||||
wird in `kelloggs.ini` gemerkt und beim nächsten Start wiederhergestellt
|
||||
(Standard ohne `kelloggs.ini`: Fenstermodus)
|
||||
@@ -90,6 +96,7 @@ game/ Das eigentliche Spiel (startbar per `python -m game`)
|
||||
audio.py Wrapper um den TFMX-Musik-Renderer (rendert & cached WAVs)
|
||||
intro.py Boot-/Intro-Sequenz + Ablaufsteuerung
|
||||
menu.py Hauptmenü, Optionen, Anleitung, Highscores, Weltkarte
|
||||
level.py Level-Gameplay: Tiles, Kamera, Tony, Kollision, HUD
|
||||
tfmx_player/ MIT-lizenzierter C-Renderer für TFMX-Musik
|
||||
original/ Original-DOS-Spieldateien (PCKELL.DAT etc.) — NICHT im Repo
|
||||
tools/ Reine Dev-Werkzeuge (Assets auspacken / als PNG ansehen)
|
||||
|
||||
Reference in New Issue
Block a user