DEADLINE ist ein Retro-Pixel-Büro-Platformer im C64-/16-Bit-Look: Pia Pixel muss vor Ablauf des Meeting-Timers durch vier Büro-Etagen nach oben. Das Plugin bindet das HTML5-Canvas-Spiel per Shortcode in WordPress ein und verwaltet eine serverseitige Online-Bestenliste (Top 100) über die REST-API idf-deadline/v1.
Changelog
[Unreleased]
v0.7.1
Behoben
- Space scrollte die Website, wenn das Spiel-Iframe den Fokus verloren hatte. Ein Host-Skript fängt die Spieltasten jetzt seitenweit ab, solange das Spiel überwiegend sichtbar ist, und leitet sie ans Spiel weiter - der Fokus ist damit egal. Eingabefelder (Formulare, Suche) bleiben unberührt.
- Externe Steuerung (Touch-Buttons, Tasten-Weiterleitung) greift erst nach dem Coin-Klick, damit das Spiel nicht unbemerkt hinter dem Start-Overlay startet.
v0.7.0
Hinzugefügt
- Ducken: Pfeil runter (bzw. DUCK-Button in der Touch-Steuerung) lässt Pia in die Hocke gehen - mit eigenen Animations-Frames aus dem Spritesheet.
- Neuer Hindernis-Typ "fliegender Zettel" auf Kopfhöhe: Dagegen hilft nur Ducken, Springen geht schief.
Behoben
- Springen über Hindernisse war praktisch unmöglich: Die Decken-Kollision hat den Sprung auf 8 Pixel gestutzt. Die Klemme ist entfernt (mit der aktuellen Sprungkraft ist Durchspringen einer Etage physikalisch ausgeschlossen), und im Sprung zieht Pia die Beine an (kleinere Trefferzone, passend zur Sprung-Pose).
- Fahrstuhl-Falle entschärft: Nach dem Ausstieg ist Pia kurz unverwundbar, statt sofort von ankommenden Hindernissen getroffen zu werden.
v0.6.3
Behoben
- Verschwommene Grafik: Das Spiel rendert intern jetzt mit doppelter Auflösung (640x400 Supersampling), Hintergrund und Pia-Spritesheet wurden in 2x neu produziert. Die Spiellogik bleibt unverändert auf dem 320x200-Raster.
- Schwarze Balken über und unter dem Spiel: Der Embed-Rahmen hat jetzt das echte Spielformat 8:5 statt 4:3.
- HUD aufgeräumt: LV und MTG überlappten sich, die Etagen-Item-Anzeige (z. B. BADGE) lief rechts aus dem Bild. Alle Elemente haben jetzt feste, kollisionsfreie Positionen.
v0.6.2
Behoben
- Browser konnten die Spiel-HTML heuristisch cachen und zeigten nach Plugin-Updates eine veraltete Spielversion. Die Spiel-Auslieferung sendet jetzt Cache-Control no-store.
v0.6.1
Behoben
- Spiel startete auf Servern mit mod_pagespeed nicht mehr (Klick auf die Start-Münze ohne Wirkung): PageSpeed kombinierte die seit v0.5.0 modularen JS-Dateien und führte sie per eval aus, wodurch die Module einander nicht mehr sehen. Die Spiel-Auslieferung schaltet PageSpeed jetzt per Header ab, zusätzlich tragen die Script-Tags data-pagespeed-no-transform.
v0.6.0
Geändert
- Komplettes visuelles Redesign (Design-Lift, Phase 1): Die Code-gemalte Kulisse ist durch einen vorproduzierten Pixel-Art-Hintergrund ersetzt (4 Etagen: Lobby, Großraumbüro, Flur, Meetingraum - generiert im Stil des Key-Arts, 320x200).
- Pia ist jetzt ein echter Spritesheet-Charakter: 36 Pixel groß, 10-Frame-Laufzyklus, eigene Sprung-Pose (vorher 24 Pixel aus Pixel-Arrays mit 2 Lauf-Frames).
- Etagen-Geometrie, Physik, Hitboxen und Fahrstuhl-Logik an die neue Spielwelt angepasst. Fahrstuhltüren sind im Hintergrund gemalt; die Logik zeichnet Status (Lampe, Schloss, fahrende Kabine) darüber. Im Meetingraum erscheinen nur noch die Teilnehmer dynamisch.
- Retro-Look kommt aus der 320x200-Auflösung, pixel-perfektem Rendering und Scanlines - die Grafik behält die vollen Farben der generierten Pixel-Art (bewusste Entscheidung gegen ein hartes C64-Farblimit).
v0.5.0
Geändert
- Spiel-Code vom Monolithen in Module aufgeteilt: deadline.html ist nur noch das DOM-Gerüst, der Code liegt jetzt in js/core.js (Fundament), js/audio.js (Musik + Soundeffekte), js/highscore.js (Online-Bestenliste), js/levels.js (Level-Definition und Spawns), js/intro.js (Insert-Coin-Start und Titelbild) und js/game.js (Gameplay und Loop). Styles in css/deadline.css. Keine Verhaltensänderung, kein Build-Tool nötig.
v0.4.4
Entfernt
- Altes Canvas-Intro entfernt: der „IDEENFABRIK PRESENTS"-Logo-Screen und der gezeichnete Canvas-Titelscreen. Das Spiel startet direkt mit dem Key-Art-Titelbild.
- Chiptune-Fallback für Titel- und Gameplay-Musik entfernt. Es laufen ausschließlich die echten MP3-Tracks; die Gameplay-Soundeffekte (Sprung, Treffer, Coin, Fahrstuhl) bleiben erhalten.
v0.4.3
Hinzugefügt
- Blinkender Schriftzug „INSERT COIN" unter der Start-Münze für Spielautomaten-Feeling.
v0.4.2
Geändert
- Start-Screen zeigt jetzt nur die drehende Münze (im Retro-Stil der Bestenliste) auf schwarzem Grund. Erst der Klick auf die Münze blendet Titelbild und Ton gemeinsam ein. Das Key-Art erscheint nicht mehr vorab hinter dem Start-Button.
v0.4.1
Geändert
- Spiel-Rahmen auf 4:3 (passend zum Key-Art im Alter-Fernseher-Format). Titel- und Start-Screen füllen den Rahmen passgenau; das Gameplay läuft mit dezenter Letterbox.
v0.4.0
Hinzugefügt
- Eigener Shortcode für die Touch-Steuerung (Links/Rechts/Hoch/Springen) — frei platzierbar, sendet die Eingaben per postMessage ans Spiel.
- Titelbild (Key-Art) auf dem Start-Screen und als Titelscreen.
Entfernt
- Touch-Buttons und Querformat-Hinweis aus dem Spiel-Iframe; die Steuerung läuft jetzt über den separaten Shortcode.
v0.3.8
Hinzugefügt
- Start-Overlay: schwarzer Bildschirm mit rotem „STARTEN"-Button. Der Klick ist die von Browsern verlangte Geste, schaltet den Ton frei und führt mit Titelmusik in den Titelscreen — löst das Autoplay-Thema sauber.
v0.3.7
Geändert
- Der erste Klick auf den Ton-Button schaltet den Ton eindeutig ein (statt zu toggeln) und holt einen versehentlich gemerkten Stumm-Zustand zurück.
v0.3.6
Geändert
- Titelmusik puffert beim Laden stumm vor und ist dadurch bei der ersten Eingabe sofort hörbar (Browser erlauben Ton generell erst nach einer Interaktion).
v0.3.5
Geändert
- Mute-Button mit eindeutigen Lautsprecher-Symbolen (an/aus) und Tooltip, damit der Ton nicht versehentlich stumm bleibt.
- Gameplay-Musik verkleinert (128 statt 160 kbps).
v0.3.4
Behoben
- Titelmusik kam oft nicht, weil sie erst nach vollständigem Laden abgespielt wurde. Sie startet jetzt progressiv beim Laden; die Datei wurde zusätzlich von 320 auf 128 kbps verkleinert (3,6 MB → 1,4 MB).
v0.3.3
Hinzugefügt
- Die Bestenliste aktualisiert sich automatisch: per Polling (Attribut
refreshin Sekunden, Default 20, 0 = aus) und sofort, sobald im eingebetteten Spiel ein Score gespeichert wird.
v0.3.2
Behoben
- Steuerung blieb hängen, wenn ein Element der Host-Seite (z. B. ein auf Pfeiltasten reagierender Slider) den Fokus stahl. Tasten werden jetzt bei Fokusverlust gelöst, alle Pfeiltasten abgefangen und der Fokus beim Spielen zurückgeholt.
Geändert
- Titelmusik startet, sobald der Ton freigeschaltet ist. Die erste Eingabe schaltet nur den Ton frei und startet das Spiel noch nicht.
v0.3.1
Hinzugefügt
- Hintergrundmusik (8-Bit) für Titelscreen und Gameplay.
Behoben
- Musik-Loader nutzt jetzt MP3. Zuvor wurde auf OGG-fähigen Browsern fälschlich OGG angefragt und keine Musik geladen.
v0.3.0
Hinzugefügt
- Online-Highscore im Spiel: Das Spiel lädt die Bestenliste aus der REST-API und sendet neue Scores serverseitig (signiertes Token). Gespielte Scores landen damit in der Datenbank und die Bestenliste aktualisiert sich.
v0.2.2
Behoben
- Spiel-Embed wird über die REST-Route
idf-deadline/v1/gameausgeliefert. Server-Hardening blockt direkten Zugriff auf Plugin-.php(403) und rohe.html(leerer Body); die REST-Schicht ist erlaubt. PHP-Loadergame.phpentfernt.
v0.2.1
Behoben
- Spiel-Embed wird über einen PHP-Loader ausgeliefert. Auf Servern, die direkten Zugriff auf
.html-Dateien im Plugin-Ordner blockieren, blieb das Spiel sonst schwarz.
v0.2.0
Hinzugefügt
- Backend-Menü „DEADLINE" mit Dashboard, Einstellungen, Hilfe und Uninstall (IDF-Admin-Standard-Navigation).
- Einstellungen für die Default-Anzahl der Bestenlisten-Plätze und das Highscore-Rate-Limit pro IP und Stunde.
v0.1.0
Hinzugefügt
- Spiel DEADLINE aus dem apps-v2-Monorepo in ein eigenständiges Plugin überführt.
- Shortcode zum Einbinden des Spiels als responsiver Iframe.
- Shortcode für eine eigenständige Online-Bestenliste (Top 100).
- Highscore-Speicherung in eigener Tabelle mit REST-API (signiertes Token, Plausibilitätsprüfung, IP-Rate-Limit).
- Titelscreen-Key-Art als Overlay mit Fallback auf den Canvas-Titel.
- Musik-Manager mit echten Tracks und Mute-Button, Fallback auf Chiptune-Sound.
- Integration in IDF Home für Update-Prüfung und Dashboard-Listing.