feat(sprint1-step2): core economy TS + useEconomy hook (lazy calc) + 13 tests vitest
This commit is contained in:
76
docs/GDD.md
Normal file
76
docs/GDD.md
Normal file
@@ -0,0 +1,76 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user