-
Notifications
You must be signed in to change notification settings - Fork 0
Technik
github-actions[bot] edited this page Oct 3, 2026
·
4 revisions
- Phaser 3 (2D-Spiel-Bibliothek) + Vite (Entwicklungsserver und Build), alles in JavaScript.
- Keine Bilddateien: Alle Figuren, Gebäude, Böden, Gegenstände, Töne und die Musik werden im Code erzeugt.
- Gestaltet für 960 × 540, die Spielwelt wird 3-fach vergrössert gezeigt (16-Pixel-Kacheln).
- Schriften: «Pixelify Sans» für Texte, «Press Start 2P» für Zahlen, beide über
@fontsourceim Spiel eingebaut (kein Google Fonts, funktioniert offline).
| Pfad | Inhalt |
|---|---|
src/main.js |
Start, Szenen, Taste F (Vollbild) |
src/scenes/ |
Titel, Spielstaende, Geschichte, Welt (das eigentliche Spiel), Oberflaeche (Herzen, Sprechfeld, Touch), Pause (Menü), Splash, Entscheidung, Flug, KapitelEnde, Abspann |
src/levels/ |
Karten als Textraster, legende.js (Zeichen → Boden/Objekt), index.js (Karten + Kapitel) |
src/grafik/figuren-baukasten.js |
Figuren aus Teilen (farbiger Umriss, 5-Ton-Schattierung, Haarsträhnen, alle Laufphasen) |
src/grafik/figuren-liste.js |
Aussehen aller Figuren |
src/grafik/drache.js |
Füürio (sitzend, fliegend, Augen) und das Pony |
src/grafik/welt-grafik.js |
Boden mit Übergängen, Bäume aus Blätter-Büscheln, Gebäude (Ziegel, Holz, Mauerwerk), Deko, Tiere, Licht |
src/grafik/knoepfe.js |
Touch-Steuerkreuz im Zwergen-Stil (Pixel für Pixel gemalt) |
src/systeme/ |
Speichern (3 Plätze), Musik, Töne, Plappern/Text, Kapitelwechsel, Vollbild, Bildschirm-Anpassung (bildschirm.js) |
src/texte/de.js |
Allgemeine Texte, Bildergeschichten |
tests/durchlauf.mjs |
Automatischer Durchlauf (folgt dem Pfeil) |
scripts/pruefe-karten.mjs |
Prüft alle Karten auf Sackgassen |
-
Welt.baueKarte()liest das Textraster, bestimmt für jede Kachel den Boden und malt die ganze Karte in ein Bild (maleBoden, mit weichen Übergängen zwischen Gras, Weg, Wasser, Fels). - Objekte aus der Legende werden als Bilder gesetzt (Tiefe nach y-Position), feste Kacheln kommen in eine unsichtbare Kollisions-Ebene.
- Figuren bekommen ihre Texturen aus dem Baukasten, Wünsche eine Sprechblase.
- Dunkle Karten legen eine Dunkel-Ebene darüber, in die Lichtkreise gestanzt werden.
Zwischenszenen stehen als Liste von Schritten in den Level-Daten (ereignisse) oder beim Kapitel (wennFertig):
sage, splash, warte, zeige, figurKommt, licht, heldLicht, fackel, augen, entscheidung, jubel,
musik, ton, wackeln, zustand, gib, kapitelEnde, kapitelWechsel, szene. Siehe Neues Level bauen.
localStorage, Schlüssel grosser-zwerg-plaetze-v2: 3 Plätze mit Kapitel, erfüllten Wünschen, Herzen, Fortschritt von
Bauaufgaben, erlebten Ereignissen, Ort/Position, getragenem Gegenstand, Spielzeit.
- Phaser-Skalierung
EXPAND: 960 × 540 ist immer sichtbar, auf breiteren oder höheren Bildschirmen wird das Spielfeld grösser statt mit schwarzen Rändern. -
mittig(scene, breite)hält Menüs, Bildergeschichten, Flug und Abspann in der Mitte und verkleinert sie, wenn der Bildschirm zu schmal ist. -
beiGroesse(scene, fn)ruftfnbei jeder Grössenänderung auf (Welt-Kamera, Knöpfe der Oberfläche). -
sichererRand(scene)liestenv(safe-area-inset-*)(iPhone-Notch, Statusleiste) in Spiel-Punkten. -
Hochkant (Handy schmaler als 600 Punkte, Einstellung «Hochkant spielen»):
passeFormAn()stellt die Grundgrösse auf 540 × 960 um.
- Web-App-Manifest und Symbole in
public/: «Zum Home-Bildschirm» startet im Vollbild. -
main.jsvergleicht beim Start und beim Zurückkehren in die App das Skript der aktuellen Seite mit dem online und lädt bei einer neuen Version einmal neu. -
vite.config.jssetzt__VERSION__(Build-Zeit), das Menü zeigt sie an. - Beim ersten Speichern:
navigator.storage.persist(), damit der Browser die Spielstände nicht von selbst löscht.
Der Grosse Zwerg · Spielen · Repository · Issues · Discussions