← Zurück zu den Projekten

Kreacorp

Browserbasiertes Sci-Fi-Wirtschaftsstrategiespiel mit Handel, Forschung, Sabotage und Clans, installierbar als plattformübergreifende App.

Kreacorp

Kreacorp ist ein browserbasiertes Sci-Fi-Wirtschaftsimperium: Handel, Forschung, Sabotage, Flottenkampf, Spionage, Clans und Weltereignisse in rund 44 eigenen Domain-Services. Als installierbare PWA und über Capacitor auch als native Android-/iOS-App verfügbar.

Galerie

Case Study

Ausgangslage

Kreacorp entstand als Solo-Projekt: ein browserbasiertes Strategiespiel, das ein vollständiges Wirtschaftsimperium simuliert, statt eine schmale Mechanik zu wiederholen.

Herausforderung

Ein konkreter Produktionsvorfall zeigt die Herausforderung des Echtzeit-Anspruchs bei einem Polling-Design: Laravels Standard-Throttle-Schlüssel für authentifizierte Anfragen unterscheidet nicht zwischen Routen, sondern zählt pro Nutzer über alle rund 24 gedrosselten Routen einer Gruppe hinweg. Der 5-Sekunden-Poll auf den zentralen Statusendpunkt erschöpfte dadurch das Limit des Checkout-Endpunkts — jeder Zahlungsversuch scheiterte mit einem Rate-Limit-Fehler. Der Fix: ein eigener Rate-Limit-Bucket pro Route statt eines geteilten Zählers.

Vorgehen

Laravel 13 mit PHP 8.5 unter Laravel Octane und RoadRunner statt klassischem PHP-FPM-Requestmodell. Frontend als Vue-3.5-SPA mit TypeScript, Vite, Pinia und vue-i18n; PixiJS für die interaktive Karte, Three.js für 3D-Elemente. Auth über Sanctum, Fortify und WebAuthn-Passkeys, Zahlungen über Cashier/Stripe, Admin über Filament 5. Bewusst kein WebSocket-Layer — ein zentraler Tick-Endpunkt bündelt Status, Benachrichtigungen und Nachrichten.

Entscheidungen

Polling statt WebSockets

Ein zentraler Tick-Endpunkt bündelt Status, Benachrichtigungen und Nachrichten statt einer eigenen Echtzeitverbindung.

Domain-Logik strikt in Services

44 Serviceklassen statt fetter Controller; jede Ökonomie-Mutation läuft zwingend in einer Datenbank-Transaktion.

Eigener Rate-Limit-Bucket pro Route

Nach dem oben beschriebenen Vorfall eingeführt, um Status-Polling und Checkout nicht mehr denselben Zähler teilen zu lassen.

Self-Hosting mit Deployer statt PaaS

Deterministische, lokale Deploy-Gates auf eigener Infrastruktur statt gehosteter CI.

i18n-Pflicht als Deploy-Gate

Ein eigenes Audit-Script prüft Übersetzungsvollständigkeit für Deutsch, Englisch und Russisch vor jedem Deploy.

Eigenanteil

Vollständige Spiellogik in 44 Services, das Datenmodell mit 116 Migrationen, das Filament-Admin, die Stripe-Zahlungsanbindung, das Deploy-Tooling, die i18n-Infrastruktur für drei Sprachen sowie die produktionsnahe Härtung (Rate-Limiting, Worker-Speicherbudget).

Ergebnisse

Umfang
44 Domain-Services, 116 Migrationen
Commits
373
Plattformen
Web-PWA sowie native Android-/iOS-App über Capacitor

Suche & Navigation

Navigieren Öffnen Esc Schließen