managarten/games/whopixels/IMPROVEMENTS.md
Till JS c0c11c325a feat(whopixels): major refactor with 20 improvements across architecture, gameplay, UX, security, and i18n
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>
2026-03-21 15:26:40 +01:00

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 entfernencreateTestNPC() entfernt, war Duplikat von spawnNewNPC()
  • 3. Magic Numbers eliminierenjs/config/constants.js mit GAME_CONFIG-Objekt erstellt
  • 4. TypeScript-Migration — JSDoc-Typen + jsconfig.json für IDE-Type-Safety (kein Build-System nötig)

Gameplay & Features

  • 5. Persistenz/SpeichersystemStorageManager mit LocalStorage: entdeckte NPCs, Statistiken, Fortschritt
  • 6. Sound & MusikSoundManager mit 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ützungTouchControls mit 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_ORIGINS Env-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-FrameworkI18N-System mit Deutsch/Englisch, Sprach-Umschalter im Hauptmenü, alle Texte lokalisiert