Files
builazoo/docs/specs/achat_upgrade_generique.md
Nicolas Cantu e92c1355d0 Enrichissement exhaustif des specs : Vue Isométrique et Design
**Motivations:**
- Aligner toute la documentation technique avec la nouvelle direction artistique isométrique (Réf IMG_20260303_170253).
- Faciliter l'implémentation en ajoutant les contraintes techniques liées à la 2.5D (Z-index, Sprites 4 directions).

**Root causes:**
- Besoin de cohérence visuelle et technique sur l'ensemble du projet.

**Correctifs:**
- N/A

**Evolutions:**
- Ajout systématique de la section "Direction Artistique & Vue" dans `Annexes UX/UI` de tous les fichiers.
- Enrichissement des modèles JSON avec coordonnées isométriques (`iso_x`, `iso_y`, `z_index`).
- Précision des interactions (clic, survol) adaptées à la grille losange.
- Conservation stricte de la structure existante (aucun titre supprimé).

**Pages affectées:**
- docs/specs/*
2026-03-05 02:10:32 +01:00

6.6 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_type": "string",
  "item_id": "uuid",
  "cost": "int",
  "currency": "coins",
  "status": "enum (SUCCESS, FAILED)",
  "failure_reason": "string (optional)",
  "timestamp": "date",
  "iso_x": "integer",
  "iso_y": "integer",
  "z_index": "integer"
}

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 (frais de fondations).

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):
  # Vérification pré-requis (ex: niveau joueur)
  if player.level < item.required_level:
     emitEvent("BUY_FAIL", "Niveau joueur insuffisant")
     return

  # Vérification espace (si applicable)
  if item.is_physical and not map.hasSpace(item.size):
     emitEvent("BUY_FAIL", "Pas de place")
     return

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

Messages d'Infos / Alerte

ID Niveau Message
FUNDS_LOW Alerte "Pas assez de pièces !"
LEVEL_LOW Alerte "Niveau X requis pour acheter ceci."
NO_SPACE Alerte "Impossible de construire ici."

Annexes UX/UI

0. Direction Artistique & Vue

  • Vue : Isométrique (2.5D).
  • Style : Coloré, vivant, détails foisonnants (Réf: IMG_20260303_170253.jpg).
  • Sprites : 4 directions.
  • Interactions :
    • Sélection : Cliquer sur la base de l'élément (ou son sprite principal) pour le sélectionner.
    • Feedback : Surbrillance (outline blanc/jaune) au survol de la souris.

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.