mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-22 01:22:12 +02:00
Split monolithic RPGScene.js (1210 lines) into modular manager classes: - WorldManager, PlayerManager, NPCManager, ChatUI, StorageManager, SoundManager, TouchControls Key improvements: - Constants config (GAME_CONFIG) replacing all magic numbers - JSDoc types + jsconfig.json for IDE type-safety - LocalStorage persistence for progress, stats, and custom avatars - Synthesized sound effects via Web Audio API - 26 NPCs (up from 10) in 3 categories - Stats/leaderboard in main menu - Pixel editor avatar integration with RPG game - Mobile touch controls (virtual joystick + interact button) - Chat UI with typing indicator and conversation history - Interactive tutorial overlay for first-time players - Floating question mark over NPCs in range - Server hardened: rate limiting, input sanitization, CORS restrictions, API timeouts, conversation history cap - Particle effect object pooling - i18n framework with DE/EN and language switcher Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2.5 KiB
2.5 KiB
WhoPixels - Verbesserungen
Übersicht aller Verbesserungen für das WhoPixels-Spiel.
Architektur & Code-Qualität
- 1. RPGScene.js aufteilen — 1210 Zeilen → 5 Module: WorldManager, PlayerManager, NPCManager, ChatUI, RPGScene (Orchestrator)
- 2. Doppelter Code entfernen —
createTestNPC()entfernt, war Duplikat vonspawnNewNPC() - 3. Magic Numbers eliminieren —
js/config/constants.jsmitGAME_CONFIG-Objekt erstellt - 4. TypeScript-Migration — JSDoc-Typen +
jsconfig.jsonfür IDE-Type-Safety (kein Build-System nötig)
Gameplay & Features
- 5. Persistenz/Speichersystem —
StorageManagermit LocalStorage: entdeckte NPCs, Statistiken, Fortschritt - 6. Sound & Musik —
SoundManagermit Web Audio API: programmatische Sounds für Chat, Reveal, NPC-Spawn - 7. Mehr NPCs — Von 10 auf 26 NPCs erweitert in 3 Kategorien: Erfinder, Wissenschaftler, Künstler & Denker
- 8. Leaderboard/Punktesystem — Statistiken im Hauptmenü (Entlarvt, Durchschn. Fragen, Beste Serie), Reset-Option
- 9. Pixel-Editor Integration — Avatar im Editor malen, speichern und als Spieler-Sprite im RPG verwenden
UX & Visuelles
- 10. Mobile-Unterstützung —
TouchControlsmit virtuellem Joystick (links) und Interaktions-Button (rechts) - 11. Chat-UI verbessern — Typing-Indicator, Chat-Historie (letzte 4 Nachrichten), bessere Anzeige
- 12. Animations-Feedback — Schwebendes Fragezeichen-Icon über NPCs in Interaktions-Reichweite
- 13. Tutorial/Onboarding — Overlay beim ersten Start mit Steuerungshinweisen (Desktop/Mobile)
Sicherheit & Backend
- 14. Rate Limiting — 30 Requests/Minute pro IP, 429-Status bei Überschreitung
- 15. Input-Sanitization — Längenbegrenzung (2000 Zeichen), Control-Character-Entfernung, Typ-Validierung
- 16. CORS einschränken — Nur erlaubte Origins, konfigurierbar via
ALLOWED_ORIGINSEnv-Variable - 17. Retry-Logik & Timeouts — 15s Timeout mit AbortController, saubere Fehlerbehandlung
- 18. Conversation History begrenzen — Max 20 Einträge, ältere werden abgeschnitten
Performance
- 19. Object Pooling — Partikel-Pool einmalig erstellt, Emitter wird wiederverwendet statt neu erstellt
- 20. Phaser-Version updaten — Von 3.55.2 auf 3.80+ (Breaking Changes bei Particle-API, benötigt umfassende Tests)
Lokalisierung
- 21. i18n-Framework —
I18N-System mit Deutsch/Englisch, Sprach-Umschalter im Hauptmenü, alle Texte lokalisiert