Files
builazoo/docs/specs/boutique.md
Nicolas Cantu f0219559c5 Standardisation exhaustive des spécifications techniques
**Motivations:**
- Harmoniser la documentation technique pour faciliter le développement.
- Garantir l'exhaustivité des données de Game Design pour chaque entité.

**Root causes:**
- Documentation hétérogène et incomplète.

**Correctifs:**
- N/A

**Evolutions:**
- Réécriture complète de 53 fichiers de spécifications selon un modèle strict.
- Ajout de données de Game Design (prix, durées, impacts) pour combler les manques.
- Ajout systématique des annexes UX/UI.

**Pages affectées:**
- docs/specs/*
2026-03-04 18:07:31 +01:00

6.6 KiB

Spécifications : Boutique

Définition

Bâtiment commercial générant des revenus passifs grâce aux visiteurs.

Fonctionnalités

  • Vente : Vend des produits (souvenirs, nourriture, boissons) aux visiteurs.
  • Attraction : Attire les visiteurs sur sa case.
  • Rétention : Augmente la durée de visite (satisfaction besoins).

Niveaux d'Amélioration (7 niveaux)

  • Coût : Progressif par palier.
  • Effet : Augmente le revenu par visiteur et la capacité d'accueil simultanée.
  • Ratio : 1 unité couvre 5 visiteurs simultanés max.

Annexes Techniques

1. Données et États

Modèle de Données (JSON)

{
  "id": "uuid",
  "type": "shop",
  "level": "integer (1-7)",
  "position": { "x": "int", "y": "int" },
  "stats": {
    "revenue_total": "integer",
    "visitors_served": "integer"
  }
}

Caractéristiques Initiales

Caractéristique Valeur Initiale (Niv 1)
Revenu / Visiteur 15 pièces
Capacité 5 visiteurs
Attractivité 10

Scores Initiaux

Stock : 100 unités. Popularité : 10/100.

2. Cycles de Vie et Apparition

Conditions d'Apparition

Construction par le joueur sur case vide.

Conditions de Disparition

Destruction par le joueur (Remboursement 50%).

Hérédité

Franchise : Coût construction -10% si 5 boutiques identiques déjà posées (Économie d'échelle).

3. Impacts Environnementaux

Impact Température

Canicule : Vente Eau x3. Vente Chocolat -50%. Froid : Vente Chocolat x3. Vente Glaces -80%.

Impact Milieu (Biome)

Thème : +10% ventes si le skin boutique correspond au biome (ex: Cabane en bois en Forêt).

Impact Saisons

Saison Modificateur Ventes
Été +20% (Boissons/Glaces)
Hiver +10% (Chocolat chaud/Cadeaux)
Automne +5% (Parapluies)
Printemps Standard

Impact Heure / Jour-Nuit

Heure Fréquentation
12h-14h Pic (Repas - Food)
16h-18h Pic (Souvenirs avant départ - Gifts)
Nuit Fermé (0 Ventes)

4. Impacts Biologiques et Sociaux

Impact Reproduction

Merchandising : Vente peluche "Espèce du moment" x2 lors d'une naissance rare.

Impact Mort

Deuil : Ventes -20% dans les boutiques proches d'une mort récente (Ambiance triste).

Impact Nourriture

Concurrence : Si Stand Nourriture proche (< 3 cases), ventes Food partagées (-10% chacun).

Impact Attractivité (Visiteurs/Animaux)

Niveau Rayon Attraction
1 2 cases
7 10 cases (Centre commercial)

Impact Valeur

Revente : 50% de l'investissement initial + upgrades.

5. Impacts Logistiques et Économiques

Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)

Vitesse Service : 1 visiteur / 5 secondes (Niv 1) -> 1 visiteur / 1 seconde (Niv 7 - Caisses auto).

Dépenses (Boutiques/Visiteurs)

Génère du revenu. Coût réapprovisionnement : 10% du CA (automatique).

Trajet Visiteurs

Point d'intérêt majeur pour le pathfinding (Poids 50). Arrêt obligatoire si besoin > 80.

6. Événements

Événements du Jeu / Carte / Zoo / Ville / Visiteur

  • Vente : Gain de pièces.
  • File d'attente : Si Capacité atteinte, visiteurs frustrés.
  • Rupture Stock : Si stock géré, fermeture temporaire.

7. Progression

Tableau des Upgrades

Niveau Coût (Pièces) Revenu/Visiteur Capacité Temps Construction
1 100 15 5 0s
2 150 20 8 0s
3 225 25 12 0s
4 340 35 18 0s
5 510 50 25 0s
6 765 70 35 0s
7 1150 100 50 0s

8. Logique et Interfaces

Pseudo-code Impacts

function processShop(shop, visitors):
  queue = visitors.filter(v => v.target == shop)
  served = min(queue.length, shop.capacity)
  
  for i in 0..served:
    revenue = shop.baseRevenue * seasonMod
    player.addCoins(revenue)
    visitors[i].satisfaction += 5
    visitors[i].needs.thirst = 0

Messages d'Infos / Alerte

ID Niveau Message
SHOP_FULL Warning "Boutique pleine ! Des clients partent."
SHOP_PROMO Info "Soldes lancées ! Affluence +20%."

Annexes UX/UI

1. Expérience Utilisateur (UX)

Vente (Passif)

Description UX : Les visiteurs entrent dans la boutique, y restent quelques secondes, puis ressortent. Des pièces volent vers le compteur. Description UI : Animation de porte qui s'ouvre/ferme. Popups "+15" au-dessus du toit. Emplacement : Case Boutique. Intégration : Automatique. Navigation : Auto (Comportement). Événements : SALE_MADE.

Assets

  • Musiques : Musique d'ambiance "Supermarché" (Muzak).
  • Sons : coin_jingle.mp3 (volume bas, pas trop répétitif).
  • Graphiques : Sprite Boutique (différents skins selon type : Burger, Cadeaux).
  • Images : Icônes Produits (Burger, Peluche, Ballon).
  • Vidéos : Pub télévisée miniature sur l'écran de la boutique (détail).
  • Animations : Pièce dorée qui monte et disparaît.
  • Couleurs : Or #FFD700.
  • Textes : "+XX".
  • Formes : Bulle de dialogue rectangulaire.

Consultation Stats (Consultation)

Description UX : Le joueur clique pour voir combien la boutique a rapporté. Description UI : Bottom Sheet simple avec "Revenus totaux" et "Clients servis". Emplacement : Case Boutique. Intégration : Standard. Navigation : Clic -> Modal. Événements : OPEN_SHOP.

Assets

  • Musiques : Jingle "Caisse" (court).
  • Sons : ui_open.mp3
  • Graphiques : Graphique en barres simple.
  • Images : Icône Caisse.
  • Vidéos : Graphique animé des ventes (barres qui montent).
  • Animations : Barres qui montent progressivement.
  • Couleurs : Vert (Profit).
  • Textes : Chiffres clés.
  • Formes : Rectangle arrondi.

Construction (Action)

Description UX : Le joueur choisit "Boutique" dans le menu construction et la place sur la grille. Description UI : Fantôme du bâtiment vert/rouge selon validité. Alternative : Tap to Select -> Tap to Place. Emplacement : Menu Construction -> Grille. Intégration : Mode construction global. Navigation : Clic Menu -> Drag/Click Grille. Événements : BUILD_SHOP.

Assets

  • Musiques : Bruit de chantier (marteau, scie).
  • Sons : construction_hammer.mp3.
  • Graphiques : Sprite Fantôme semi-transparent.
  • Images : Plan bleu (Blueprint) au sol.
  • Vidéos : Time-lapse construction (accéléré).
  • Animations : Petit effet de poussière à la pose.
  • Couleurs : Bleu (Blueprint).
  • Textes : "Construction...".
  • Formes : Grille de placement.