Fan project privé · Idle RPG
PokeRush
Idle RPG pixel art React/TypeScript conçu à Rouen : choisis ton starter, construis ton équipe et progresse dans Kanto, même hors ligne, avec une sauvegarde V2 et une synchronisation cloud facultative.
Annotations de la démo
Objectif
Livrer une boucle idle complète et autonome : starter, équipe, vagues, boss, compétences, arbre d'améliorations et prestige.
Rôle
Conception de la boucle idle, interface pixel art responsive, architecture de sauvegarde V2 (local d'abord, cloud en option) et tests E2E.
Résultat
Idle RPG jouable hors ligne : choix du starter, tutoriel, combat automatique, vagues, boss, progression à Kanto et sauvegarde qui reprend après rechargement.
Stack
- React 19, TypeScript, Vite 8
- Supabase Auth/Database + Google
- Playwright, GitHub Actions
Synthèse
Je construis des boucles produit complètes (gameplay idle, save V2, sync cloud) en React/TypeScript avec des tests E2E.
Livraison vérifiée
- Build, lint et typecheck validés
- Tests E2E Playwright
- SEO crawlable
- Headers sécurité contrôlés
Livrables
- StarterScreen
- BattleScene + BattleHud
- Save V2 + sync cloud
Éléments visibles
- Boucle idle
- Sauvegarde V2
- Sync cloud
Éléments partageables
- Démo GIF publique (docs/pokerush-demo.gif) montrant le parcours starter, tutoriel et combat.
- Architecture useGameSave : restauration locale, sync cloud et export/import de sauvegarde.
- Schéma pr-save-v2 versionné, validation et migration documentés dans src/demo/lib/save.ts.
En entretien technique
- Modélisation de la boucle idle : combat auto, vagues, boss, loot, compétences, arbre d'améliorations et prestige.
- Architecture de sauvegarde : validation/migration du schéma pr-save-v2 et résolution des conflits local/cloud en gardant la plus récente.
- Synchronisation facultative Google + Supabase avec RLS : chaque utilisateur ne lit/écrit que sa propre ligne, aucune clé service_role dans le frontend.
À vérifier en 30 secondes
- Choisir un starter dans StarterScreen et suivre le tutoriel.
- Observer le combat idle, les vagues et le HUD.
- Recharger la page pour vérifier la reprise de la sauvegarde et tester l'export/import.
Ce que je peux montrer en entretien : StarterScreen, save V2 versionnée et validée, sync Supabase/Google, E2E Playwright.
Ce que ça montre
- Boucle idle complète et autonome : combat auto, vagues, boss, loot, compétences, prestige.
- Architecture de sauvegarde durable : local d'abord, sync cloud en option, sauvegarde V2 versionnée.
- Interface responsive pixel art pensée desktop et mobile.
- Testabilité : coverage E2E du starter, tutoriel, save après refresh et largeurs mobiles.
- Prise en compte des contraintes de licence avant toute exposition publique.
Modules visibles
- StarterScreen
- BattleScene
- BattleHud
- GamePanel
- MobileNavigation
- useGameSave