Files
builazoo/docs/specs/achat_upgrade_generique.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

5.5 KiB

Spécifications : Achat et Upgrade (Générique)

Mécanique

  • Coût : Payé en Pièces (ou Unités de Recherche pour la Carte du Monde).
  • Progression : 7 Niveaux pour la plupart des éléments.
  • Formule de Coût : Coût_Niveau_N = Coût_Base * Multiplicateur^(N-1).

Validation

  • L'achat est instantané si les fonds sont disponibles.
  • L'effet est immédiat (pas de temps de construction, sauf si spécifié autrement).

Annexes Techniques

1. Données et États

Modèle de Données (JSON)

Transaction : { "id": "uuid", "type": "BUY/UPGRADE", "item": "string", "cost": "int", "timestamp": "date" }.

Caractéristiques Initiales

Solde Joueur : Voir joueur.md.

Scores Initiaux

Dépenses Totales : 0.

2. Cycles de Vie et Apparition

Conditions d'Apparition

Menu Achat : Accessible via le HUD.

Conditions de Disparition

Fermeture Menu.

Hérédité

Historique : Les transactions sont loggées pour les stats.

3. Impacts Environnementaux

Impact Température

Isolation : Les bâtiments de haut niveau résistent mieux aux coûts énergétiques (Chauffage/Clim -10% par niveau).

Impact Milieu (Biome)

Adaptation : Construire sur un biome "difficile" (Toundra, Désert) coûte +20% à l'achat initial.

Impact Saisons

Soldes : Certains items moins chers en Hiver (-15% sur les chauffages). Surcharge : En Été, les stands de glaces coûtent +10% à l'achat (demande forte).

Impact Heure / Jour-Nuit

Tarif de Nuit : Les travaux (Upgrades) lancés la nuit (22h-06h) sont 5% moins chers (main d'œuvre nocturne).

4. Impacts Biologiques et Sociaux

Impact Reproduction

Couveuses : L'achat d'upgrades "Confort" pour les enclos augmente la fertilité de +2%.

Impact Mort

Sécurité : Les clôtures de haut niveau réduisent le risque de fuite et d'accident mortel de 99%.

Impact Nourriture

Stockage : Les upgrades de "Réserve" permettent d'acheter la nourriture en gros (-5% prix unitaire).

Impact Attractivité (Visiteurs/Animaux)

Nouveauté : Chaque nouvel achat génère un boost temporaire d'attractivité ("C'est tout neuf !" +10% pendant 2 jours).

Impact Valeur

Inflation : Les prix augmentent légèrement si le joueur est très riche (équilibrage dynamique). Revente : Un bâtiment peut être revendu pour 50% de son coût total (base + upgrades).

5. Impacts Logistiques et Économiques

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

Livraison : Instantanée pour les bâtiments, temps de trajet pour les animaux. Construction : Les gros bâtiments (Laboratoire, Centre Recherche) prennent 24h in-game à être opérationnels.

Dépenses (Boutiques/Visiteurs)

Investissement : Dépense principale du joueur. Maintenance : Chaque niveau d'upgrade augmente les frais d'entretien quotidiens de +5%.

Trajet Visiteurs

Obstacle : Un bâtiment en construction bloque le passage, forçant les visiteurs à faire un détour.

6. Événements

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

  • Promo : Offre limitée dans le temps (-20%).

7. Progression

Tableau des Upgrades

Niveau Multiplicateur Coût Effet Général Apparence
1 x1.0 Fonctionnalité de base Standard
2 x1.5 +10% Efficacité +Détails
3 x2.2 +25% Efficacité +Couleurs
4 x3.3 +45% Efficacité +Éclairage
5 x5.0 +70% Efficacité +Enseigne
6 x7.5 +100% Efficacité +Moderne
7 x11.0 +150% Efficacité Futuriste (Or/Platine)

8. Logique et Interfaces

Pseudo-code Impacts

function processPurchase(player, item):
  if player.coins >= item.cost:
    player.coins -= item.cost
    player.inventory.add(item)
    emitEvent("BUY_SUCCESS")
  else:
    emitEvent("BUY_FAIL", "Fonds insuffisants")

Messages d'Infos / Alerte

ID Niveau Message
FUNDS_LOW Alerte "Pas assez de pièces !"

Annexes UX/UI

1. Expérience Utilisateur (UX)

Interface d'Achat (Consultation)

Description UX : Le joueur ouvre le menu de construction ou d'upgrade. Description UI : Grille d'éléments achetables. Prix affiché clairement. Grisé si trop cher. Emplacement : HUD Bas. Intégration : Menu déroulant ou fixe. Navigation : Clic Catégorie -> Liste Objets. Événements : OPEN_SHOP_MENU.

Assets

  • Musiques : Jingle "Caisse Enregistreuse" (court).
  • Sons : ui_hover.mp3.
  • Graphiques : Icônes Bâtiments.
  • Images : Sprites des bâtiments dans le menu (2D isométrique).
  • Vidéos : Mini-clip "Construction en cours" (optionnel).
  • Animations : Bouton rebondit au survol.
  • Couleurs : Fond sombre, Texte clair.
  • Textes : Prix, Nom.
  • Formes : Cartes carrées avec coins arrondis.

Confirmation Achat (Action)

Description UX : Le joueur clique pour acheter. Description UI : Feedback immédiat (son + animation pièces déduites). Emplacement : HUD. Intégration : Immédiat. Navigation : Clic Achat. Événements : BUY_ITEM.

Assets

  • Musiques : Jingle "Succès" (trompettes légères).
  • Sons : buy_success.mp3.
  • Graphiques : Particules de pièces d'or.
  • Images : Icône "Vendu" tamponnée.
  • Vidéos : Transition de fermeture de menu (wipe).
  • Animations : Compteur pièces descend.
  • Couleurs : Rouge (déduction).
  • Textes : "-500".
  • Formes : Effet d'onde de choc circulaire au clic.