Files
builazoo/docs/specs/boutique.md
2026-03-05 04:01:29 +01:00

22 KiB
Raw Blame History

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"
  },
  "iso_x": "integer",
  "iso_y": "integer",
  "z_index": "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%."

Personnage contextuel (événements & interaction)

Voir vendeur.md.

Affichage

Le vendeur saffiche lorsque :

  • la boutique est actionnée (clic panneau stats, upgrade, skin de boutique) ;
  • un événement de boutique survient (vente, surcharge, promo).

Déclencheurs (exemples)

Event Condition Effet UI personnage
OPEN_SHOP clic boutique portrait + stats + CTA
SALE_MADE vente feedback “caisse” + pièce/FX
SHOP_FULL capacité atteinte bulle “Surcharge” + CTA “Améliorer / Ajouter boutique”
SHOP_PROMO promo active bulle “Promo” + détails (si module)

Skins & thèmes

Uniforme et comptoir suivent theme.md, avec skins de boutique via inventaire_skins.md.

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)

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.

Définition

Champ Valeur
Concept Bâtiment “boutique” : point de vente in-zoo (souvenirs/food/boissons) qui convertit les besoins des visiteurs en revenus.
Rôle Augmenter la rétention et la satisfaction via la résolution des besoins (faim/soif/cadeau), et créer des micro-flux (file, service, rupture).
Portée Une instance de bâtiment sur carte zoo, avec paramètres (capacité, vitesse service, catalogue, skin).
Contrainte Pas danalytics ; revenus calculés à la volée à partir des interactions visiteurs ; pas de fallback silencieux (rupture/plein => message + event).

Fonctions (tableau détaillé)

Fonction Déclencheur Entrées Sorties Règles Observabilité
Construire boutique mode build coord, type boutique bâtiment créé case vide requise Event BUILD_SHOP
Ouvrir stats clic bâtiment shop_id UI stats revenus totaux + clients Event OPEN_SHOP
Attirer visiteurs besoin/curiosité visitor, rayon target set poids pathfinding élevé si besoin > seuil Event VISITOR_TARGETS_SHOP
Servir visiteur arrivée en file visitor, stock revenue + satisfaction service limité par capacité + vitesse Event SALE_MADE
Gérer file dépassement capacité queue length impatience si queue > seuil -> départ + malus Event SHOP_FULL
Adapter produits au climat temp/saison météo, saison mod ventes canicule: eau + ; froid: chocolat + Event SHOP_DEMAND_MOD_CHANGED
Appliquer skin biome skin, biome ids bonus +10% ventes si match Event SHOP_THEME_MATCH_BONUS
Réapprovisionner tick économique CA, ratio stock + coût coût = 10% du CA Event SHOP_RESTOCKED
Rupture stock=0 - fermeture temporaire déclenche panneau “Rupture” Event SHOP_OUT_OF_STOCK

Icone de base

Élément Spécification
Représentation Boutique avec enseigne (cadeau/food)
Couleur dominante Or (revenu) + couleur du type (rouge food, bleu boisson)
Variantes shop_gift_dir_{N,E,S,W}.png, shop_food_dir_{N,E,S,W}.png, shop_drink_dir_{N,E,S,W}.png
États open, busy, full, out_of_stock, promo

Interactions (tableau détaillé)

Interaction Type Préconditions Étapes UI Résultat Erreurs / Messages
Placer boutique Action case libre sélectionner → placer construction CELL_OCCUPIED
Voir revenus Consultation boutique posée clic panneau stats -
Upgrader Action coins ok panneau → améliorer level ↑ NOT_ENOUGH_COINS
Voir file Consultation visiteurs proches survol tooltip file -
Activer promo Action (event) condition event clic toggle affluence + PROMO_NOT_AVAILABLE

Annexes Techniques

1. Données et États (tableau détaillé)

Donnée / État Type Exemple Source Contraintes
id uuid_v4 uuid_v4 DB -
type string shop DB constant
subtype string gift DB/config gift/food/drink
level int 2 DB 1..7
position.x int 10 DB grid
position.y int 12 DB grid
stats.revenue_total int 12500 DB cumul
stats.visitors_served int 840 DB cumul
stock.units int 100 DB >=0
popularity int 10 calcul/DB 0..100
capacity int 5 config visitors simultanés
service_seconds_per_visitor float 5.0 config 1..10
attractiveness int 10 config poids target
skin_id string shop_wood_forest DB cosmétique
iso_x int 120 DB/calcul rendu
iso_y int 88 DB/calcul rendu
z_index int 12088 calcul profondeur

Caractéristiques Initiales (tableau détaillé)

Caractéristique Valeur initiale Unité Notes
Revenu / visiteur 15 coins level 1
Capacité 5 visiteurs level 1
Vitesse service 5 s/visiteur level 1
Rayon attraction 2 cases level 1

Scores Initiaux (tableau détaillé)

Score Valeur initiale Plage Impact
Stock 100 0..∞ rupture possible
Popularité 10 0..100 mod conversion

2. Cycles de Vie et Apparition (tableau détaillé)

Phase Déclencheur Entrées Sorties Invariants
Construction joueur coins + coord bâtiment case occupée
Service visiteurs besoins revenus capacité respectée
Réappro tick CA stock + coût 10% CA
Rupture stock=0 - fermeture observable
Upgrade action coins level ↑ monotone

Conditions d'Apparition (tableau détaillé)

Condition Seuil Opérateur Résultat
Construction true est boutique posée

Conditions de Disparition (tableau détaillé)

Condition Seuil Opérateur Résultat
Destruction true est remboursement 50%

Hérédité (tableau détaillé)

Élément Hérité Règle
Franchise Oui coût -10% si 5 identiques
Stats Oui cumul

3. Impacts Environnementaux

Impact Température (tableau détaillé)

Condition Effet boutique Notes
> 30°C eau +200% canicule
< 5°C chocolat +200% froid

Impact Milieu (Biome) (tableau détaillé)

Biome Effet Notes
forêt + skin bois ventes +10% thème match
désert + skin oasis ventes +10% thème match

Impact Saisons (tableau détaillé)

Saison Effet Notes
Été ventes boisson +20% règle
Hiver ventes cadeaux +10% règle

Impact Heure / Jour-Nuit (tableau détaillé)

Période Effet Notes
12h-14h demande food ++ pic
Nuit fermé 0 ventes

4. Impacts Biologiques et Sociaux

Impact Reproduction (tableau détaillé)

Facteur Effet sur taux Condition
Naissance rare ventes peluche x2 “espèce du moment”

Impact Mort (tableau détaillé)

Cas Effet Condition
Mort récente proche ventes -20% ambiance

Impact Nourriture (tableau détaillé)

Ressource Effet Condition
Concurrence < 3 cases ventes food -10% partage

Impact Attractivité(Visiteurs (tableau détaillé)

Action/État Gain Rayon Notes
Boutique level 7 + 10 cases centre commercial
Rupture stock - 6 cases frustration

Impact Attractivité Animaux) (tableau détaillé)

Action/État Effet animaux Condition
Odeurs food stress + espèces sensibles

Impact Valeur (tableau détaillé)

Facteur Variation Condition
Revente 50% + upgrades destruction

5. Impacts Logistiques et Économiques

Vitesse (Camion) (tableau détaillé)

Paramètre Effet Condition
Livraison stock stock + si feature livraison

Vitesse (Nurserie) (tableau détaillé)

Paramètre Effet Condition
Peluches bébé ventes + bébés visibles

Vitesse (Accueil) (tableau détaillé)

Paramètre Effet Condition
Nouvel animal rare promo event

Vitesse (Recherche) (tableau détaillé)

Paramètre Effet Condition
Tech caisse auto service 1s level 7

Vitesse (Labo) (tableau détaillé)

Paramètre Effet Condition
Produit “science” panier moyen + zone labo

Vitesse (Visite) (tableau détaillé)

Paramètre Effet Condition
File dattente temps boutique + capacité limitée

Dépenses (Billeterie) (tableau détaillé)

Poste Coût Unité Condition
- 1 coins signalétique (conservée)

Dépenses (Boutiques) (tableau détaillé)

Poste Coût Unité Condition
Réappro 10% CA coins automatique

Dépenses (Visiteurs) (tableau détaillé)

Poste Coût Unité Condition
Temps perdu file satisfaction - points queue

Dépenses (Employés) (tableau détaillé)

Poste Coût Unité Condition
Caissier (lore) 1800 $/mois level < 7

Dépenses (Boutiques) (tableau détaillé)

Poste Coût Unité Condition
Section dupliquée 1 coins conservée

Dépenses (Nurseries) (tableau détaillé)

Poste Coût Unité Condition
Peluche naissance 2 coins production

Dépenses (Nourriture) (tableau détaillé)

Poste Coût Unité Condition
Matières food 2 coins/vente marge

Dépenses (Acceuil des animaux) (tableau détaillé)

Poste Coût Unité Condition
Cadeau “nouvel arrivant” 1 coins souvenir

Dépenses (Camion) (tableau détaillé)

Poste Coût Unité Condition
Livraison premium 5 coins option

Trajet Visiteurs

Trajet Visiteurs vers/depuis la ville (tableau détaillé)
Source Destination Déclencheur Effet
Ville Zoo entrée besoins init 0
Trajet Visiteurs vers/depuis les animaux (tableau détaillé)
Source Destination Déclencheur Effet
Enclos Boutique faim/soif > 80 target
Trajet Visiteurs vers/depuis les boutiques (tableau détaillé)
Source Destination Déclencheur Effet
Boutique Enclos besoins résolus continue visite
Trajet Visiteurs vers/depuis la billeterie (entrées/sorties du zoo) (tableau détaillé)
Source Destination Déclencheur Effet
Boutique Sortie budget 0 départ

6. Événements

Événements du Jeu (tableau détaillé)

Event Déclencheur Payload Effet
SALE_MADE service revenue coins +
SHOP_FULL queue length départs
SHOP_OUT_OF_STOCK stock units fermeture
SHOP_RESTOCKED tick cost stock +

Événements du Carte (tableau détaillé)

Event Déclencheur Effet
FOCUS_SHOP clic caméra

Événements du Zoo (tableau détaillé)

Event Déclencheur Effet
VISITOR_BUYS_ITEM transaction satisfaction +

Événements du Ville / Visiteur (tableau détaillé)

Event Déclencheur Effet
WEATHER_HEATWAVE météo eau ++

Événements du Visiteur (tableau détaillé)

Event Déclencheur Effet
VISITOR_LEAVES_SHOP_QUEUE impatience satisfaction -

Événements du Joueur (tableau détaillé)

Event Déclencheur Effet
PLAYER_UPGRADES_SHOP UI params +

7. Progression

Tableau des Upgrades (tableau détaillé)

Niveau Coût Effet Débloque
4 340 capacité 18 + service plus rapide file réduite
7 1150 50 capacité + caisses auto 1s/visiteur

8. Logique et Interfaces

Pseudo-code Impacts (tableau détaillé)

Fonction Entrées Sorties Notes
computeSeasonDemandMod season, temp float eau/glaces/chocolat
serveVisitor shop, visitor revenue résout besoins
restockIfNeeded shop, CA shop coût 10% CA

Messages d'Infos / Alerte (tableau détaillé)

ID Niveau Message Condition
SHOP_FULL Warning "Boutique pleine." queue > cap
SHOP_OUT_OF_STOCK Warning "Rupture de stock." stock=0
SALE_MADE Info "Vente effectuée." service

Annexes UX/UI

1. Expérience Utilisateur (UX)

Description UX (tableau détaillé)

Parcours But Friction Réduction clics
Construire générer revenus placement mode construction direct
Lire stats décider upgrade menus clic bâtiment

Description UI (tableau détaillé)

Composant Contenu États
Popup coins +XX burst
Panneau stats total + served open/closed
Badge rupture icône visible

Emplacement (tableau détaillé)

Zone UI Position Notes
Carte zoo sur case sélection base sprite
HUD compteur pièces volantes

Intégration (tableau détaillé)

Intégration Contrat Notes
visiteur.md besoins faim/soif
chemin.md pathfinding poids boutique

Navigation (tableau détaillé)

Action Chemin Résultat
Ouvrir stats clic panneau
Upgrader panneau → CTA level ↑

Événements (tableau détaillé)

Event UI Déclencheur Effet
OPEN_SHOP clic panneau
BUILD_SHOP build placement

Assets Skinables

Musiques (tableau détaillé)
Asset Usage Durée Notes
shop_muzak_loop.mp3 proximité boutique loop discret
Sons (tableau détaillé)
Asset Usage Volume
cash_register.mp3 vente bas
coin_jingle.mp3 revenue bas
ui_open.mp3 panneau bas
Graphiques (tableau détaillé)
Asset Usage Contraintes
shop_coin_popup.png popup lisible
shop_queue_badge.png queue contraste
shop_out_of_stock_badge.png rupture rouge
Images (tableau détaillé)
Asset Usage
shop_blueprint.png construction
shop_product_icons.png UI
Vidéos (tableau détaillé)
Asset Usage Durée
shop_sales_bars.webm stats 1.0s
Animations (tableau détaillé)
Animation Déclencheur Notes
pièce monte vente 0.6s
porte ouvre/ferme visiteur 0.4s
Couleurs (tableau détaillé)
Token Valeur Usage
shop_gold #FFD700 revenus
shop_profit_green #2E7D32 stats
shop_alert_red #D32F2F rupture
Textes (tableau détaillé)
Clé FR EN
shop.title Boutique Shop
shop.revenue Revenus Revenue
shop.out_of_stock Rupture de stock Out of stock
Formes (tableau détaillé)
Élément Forme Notes
Popup rectangle arrondi lisible
Badge rond constant