**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/*
7.1 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"
},
"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%." |
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.