No description
Find a file
2026-08-14 16:50:28 +02:00
demo funke v0.1: Iso-Welt, Einheiten, Auto-Kampf, UI, Login/Spielstände, Demo 2026-08-09 20:55:27 +02:00
src Sprites auf Zielgröße skalieren; v0.2.0 2026-08-09 21:31:03 +02:00
test funke v0.1: Iso-Welt, Einheiten, Auto-Kampf, UI, Login/Spielstände, Demo 2026-08-09 20:55:27 +02:00
vorlagen funke v0.1: Iso-Welt, Einheiten, Auto-Kampf, UI, Login/Spielstände, Demo 2026-08-09 20:55:27 +02:00
.gitignore funke v0.1: Iso-Welt, Einheiten, Auto-Kampf, UI, Login/Spielstände, Demo 2026-08-09 20:55:27 +02:00
index.js funke v0.1: Iso-Welt, Einheiten, Auto-Kampf, UI, Login/Spielstände, Demo 2026-08-09 20:55:27 +02:00
logik.js Phaser-freier Einstieg funke/logik für Spiel-Logik und Tests; v0.2.1 2026-08-09 21:35:29 +02:00
package-lock.json PWA-Support: funke/vite-pwa macht Spiele installierbar; v0.3.0 2026-08-14 16:50:28 +02:00
package.json PWA-Support: funke/vite-pwa macht Spiele installierbar; v0.3.0 2026-08-14 16:50:28 +02:00
README.md PWA-Support: funke/vite-pwa macht Spiele installierbar; v0.3.0 2026-08-14 16:50:28 +02:00
spiel.json funke v0.1: Iso-Welt, Einheiten, Auto-Kampf, UI, Login/Spielstände, Demo 2026-08-09 20:55:27 +02:00
vite-pwa.js PWA-Support: funke/vite-pwa macht Spiele installierbar; v0.3.0 2026-08-14 16:50:28 +02:00
vite.config.js funke v0.1: Iso-Welt, Einheiten, Auto-Kampf, UI, Login/Spielstände, Demo 2026-08-09 20:55:27 +02:00
vitest.config.js funke v0.1: Iso-Welt, Einheiten, Auto-Kampf, UI, Login/Spielstände, Demo 2026-08-09 20:55:27 +02:00

funke

Kleine 2.5D-Spiel-Engine für den Familien-Spielplatz. Dünne Schicht über Phaser 3: isometrische Welt, Einheiten mit Wegfindung, Auto-Kampf, Touch-Bedienung, Login + Spielstände über den Spielserver.

Gedacht für Spiele, die Kinder zusammen mit Claude entwickeln — siehe vorlagen/ für die Kind-Dokumente, die jedes Spiel-Repo bekommt.

Benutzung in einem Spiel

"dependencies": {
  "funke": "git+http://<SERVER-IP>:3000/spielplatz/funke.git#v0.1.0"
}
import { startSpiel, IsoWorld, Building, Unit } from 'funke'

Öffentliche API: siehe index.js. Ein vollständiges Beispiel ist demo/main.js.

Als App installierbar machen (PWA)

Ein Spiel wird "installierbar" (am Handy „Zum Startbildschirm", startet dann im Vollbild wie eine App und lädt dank Cache blitzschnell) mit funke/vite-pwa:

// vite.config.js des Spiels
import { funkePWA } from 'funke/vite-pwa'
export default defineConfig({
  base: './',
  plugins: [ funkePWA({ name: 'Clash of Karls', themeColor: '#1a1c2c' }) ],
})

Das Spiel legt drei Symbole in seinem publicDir (z.B. bilder/) ab: icon-192.png (192×192), icon-512.png (512×512), favicon.png. Manifest + Service-Worker erzeugt der Build dann automatisch.

Entwickeln an der Engine

npm install
npm run dev    # Demo mit Hot-Reload (localhost:5173)
npm test       # Vitest: Iso-Mathe, Wegfindung, Kampf
npm run build  # baut die Demo nach dist/ (macht der Deployer beim Push)

Regeln:

  • Reine Logik (Mathe, Wegfindung, Kampf) bleibt Phaser-frei und getestet.
  • Nichts Spiel-Spezifisches in die Engine — keine Ressourcennamen, Einheitentypen oder Siegregeln. Das gehört in die Spiel-Repos.
  • Bilder werden nur über Manifest-Schlüssel angesprochen; fehlende Bilder bekommen automatisch Platzhalter (src/textures.js).
  • Release = Git-Tag (v0.1.0, v0.2.0, …); Spiele pinnen einen Tag.