# Clickerz — GDD Minimal > Sprint 1 — Step 1 output > Date : 2026-03-17 --- ## Stack technique **React + TypeScript + Vite** — vanilla, sans moteur de jeu Justification : prototype existant déjà en React/Vite (Xmass Clicker), shop.json et Achievements.json validés, backend Node.js en place. Phaser/PixiJS = overhead injustifié pour un clicker — la logique est dans les chiffres, pas dans le rendu. --- ## Mécaniques core **Ressource principale** : Cookies (ou ressource thématique à nommer) **Sources de production** : - Clic manuel : +1 ressource/clic (multiplicateur upgradable) - Générateurs idle : 5 tiers, coût `base × 1.15^n`, production `/s` cumulative **Tiers upgrades** (structure shop.json existante — x10 de coût par tier validé) : | Tier | Coût base | Production/s | |------|-----------|-------------| | 1 | 10 | 0.1 | | 2 | 100 | 0.5 | | 3 | 1 000 | 3 | | 4 | 10 000 | 20 | | 5 | 100 000 | 150 | --- ## Boucle de progression **Prestige / Reset** - Seuil déclencheur : 1 000 000 ressources (ajustable à l'équilibrage) - Récompense : +0.1× multiplicateur permanent par reset (stackable) - Reset : ressources + générateurs à 0, upgrades prestige conservés - Courbe : reset 1 = ×1.1, reset 10 = ×2.0, reset 50 = ×6.0 **Milestones visibles** : barre de progression vers prestige, compteur resets, multiplicateur actuel affiché --- ## Monétisation **Cosmétiques only** — pas de pay-to-win - Thèmes visuels (couleurs, icônes) - Titres / badges de prestige - Effets de clic (particules) - Raison : 0 compliance fiscale, 0 déséquilibre économie, communauté saine --- ## Sauvegarde - localStorage (sprint 1 — immédiat, zéro infra) - Sync API backend (backend déjà en place — câblage sprint 1 si temps le permet) - Auto-save toutes les 30 secondes --- ## Hors scope Sprint 1 - Leaderboard (exclu — infra ranking = sprint 2) - Intégration Twitch - Multijoueur --- ## Prochaines étapes → Step 2 Fondations techniques : init projet React/TS/Vite, boucle core clic → +ressource, 1er générateur idle, 1er upgrade.