Files
builazoo/docs/specs/zoo.md
Nicolas Cantu 1d3352455e Intégration des spécifications Leo : Isométrique, Staff, Cosmétiques
**Motivations:**
- Intégrer les nouvelles fonctionnalités demandées par Leo (vue isométrique, gestion du personnel, personnalisation avatar/zoo).
- Enrichir le gameplay avec des mécaniques de fusion d'enclos et de passes saisonniers.

**Root causes:**
- Demande d'évolution majeure du Game Design (fichier `docs/leo.md`).

**Correctifs:**
- N/A

**Evolutions:**
- Ajout de 19 nouveaux fichiers de spécifications (Staff, Skins, Enclos, Avatar, etc.).
- Mise à jour de 5 fichiers existants pour supporter la vue isométrique et les nouvelles interactions.
- Définition du système de passes temporaires et statut VIP.
- Spécification des employés achetables avec pièces.

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

7.2 KiB

Spécifications : Zoo (Site)

Définition

Représentation d'un zoo (joueur ou bot) sur la Carte du Monde.

Affichage

  • Nom du zoo : Sur une banderole d'accueil personnalisable.
  • Avatar Joueur : Visible à côté du nom ou sur la carte du monde.
  • Vue : Isométrique (2.5D).
  • Skins : Le zoo peut avoir des thèmes visuels (Skins de Zoo).
  • Icône : 🏠
  • Slot d'offre :
    • Pour les autres zoos : Affiche l'œuf/bébé/animal en vente (Type + Prix).
    • Pour le zoo du joueur : Masqué (pas d'offre visible pour soi-même).
  • Indicateurs (Bots) : Pièces disponibles, Niveau de parcelle.

Indicateurs de Performance (Cases dédiées sous le zoo)

  1. Score d'Attractivité : Influence la venue des visiteurs.
  2. Score de Reproduction : Influence la qualité des naissances.
  3. Case de Vente : Offre active visible par les autres joueurs.

Interaction

  • Achat : Glisser l'offre du zoo vers le camion du joueur.

Annexes Techniques

1. Données et États

Modèle de Données (JSON)

{
  "id": "uuid",
  "type": "zoo",
  "owner_id": "uuid",
  "scores": {
    "attractiveness": "int",
    "reproduction": "int"
  },
  "current_offer": { "animal_id": "uuid", "price": "int" },
  "customization": {
    "banner_text": "Mon Zoo",
    "active_skin_id": "skin_default",
    "avatar_visible": true
  }
}

Caractéristiques Initiales

Caractéristique Valeur Initiale
Attractivité 0
Reproduction 0

Scores Initiaux

Voir ci-dessus.

2. Cycles de Vie et Apparition

Conditions d'Apparition

Création compte.

Conditions de Disparition

Suppression compte.

Hérédité

Bonus Héritage : +5% Attractivité initiale si l'ancien zoo du joueur avait atteint > 1000 visiteurs (Réputation persistante).

3. Impacts Environnementaux

Impact Température

Condition Effet
Canicule (>30°C) -10% Visiteurs (sauf si Glaces en vente).
Grand Froid (<0°C) -20% Visiteurs (sauf si Chocolat Chaud/Café en vente).
Tempéré (15-25°C) Bonus +5% Satisfaction Visiteurs.

Impact Milieu (Biome)

Biome Effet Construction
Plaine Coût standard.
Désert Coût Eau x2 (Arrosage/Entretien).
Montagne Coût Construction Bâtiments +50% (Fondations).
Marais Risque Maladie +10%.

Impact Saisons

Saison Effet Global
Printemps Naissances +10% (Saison des amours).
Été Pic Visiteurs (+30%), Coût Eau +20%.
Automne Déchets (Feuilles) +50% (Besoin nettoyage).
Hiver Visiteurs -30%, Ventes Boutique Cadeaux +10% (Noël).

Impact Heure / Jour-Nuit

Période État
Jour (08h-20h) Ouvert. Revenus actifs.
Nuit (20h-08h) Fermé. Maintenance (Coûts réduits, pas de revenus). Animaux dorment (Santé récupère).

4. Impacts Biologiques et Sociaux

Impact Reproduction

Score visible publiquement.

Impact Mort

Négligence : Un animal mort non ramassé dans un enclos visible cause -50 Attractivité/heure et fait fuir les visiteurs à proximité.

Impact Nourriture

Pénurie : Si Stock Nourriture = 0 pendant > 24h, Santé Animaux baisse -> Mort -> Baisse Attractivité massive (-100/mort).

Impact Attractivité (Visiteurs/Animaux)

Score visible publiquement. Détermine le flux d'entrée (voir Billeterie) et le classement mondial.

Impact Valeur

Valorisation : La valeur de revente du zoo (si faillite/reset) est estimée à 50% des investissements totaux (Bâtiments + Animaux).

5. Impacts Logistiques et Économiques

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

  • Vitesse Visiteurs : 1 case / 2 sec (Chemin), 1 case / 4 sec (Herbe).
  • Vitesse Staff : 1 case / 1 sec (Optimisé).

Dépenses (Boutiques/Visiteurs)

Maintenance : 10 pièces / jour par bâtiment construit (Coûts fixes).

Trajet Visiteurs

Destination possible. Algorithme de Pathfinding (A*) depuis l'entrée vers les Enclos et Boutiques.

6. Événements

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

  • Nouvelle Offre : Mise en vente.
  • Vente : Offre achetée.
  • Inspection : Contrôle sanitaire aléatoire (Bonus/Malus selon propreté).
  • Fête du Zoo : Event annuel (Revenus x2 pendant 24h).

7. Progression

Tableau des Upgrades

Niveau Nom Effet Coût
1 Petit Parc Capacité 50 visiteurs. 0
2 Zoo Local Capacité 100, Débloque Marketing Local. 1000
3 Zoo Régional Capacité 250, Débloque Bus Touristique. 5000
4 Zoo National Capacité 500, Débloque Hôtel (Séjour long). 15000
5 Réserve Capacité 1000, Débloque Safari. 50000
6 Monde Animal Capacité 2500, Débloque Aéroport. 150000
7 Sanctuaire Capacité Illimitée, Prestige Max. 500000

8. Logique et Interfaces

Pseudo-code Impacts

function updateZooState(zoo) {
  // Cycle Jour/Nuit
  if (isNight(zoo.time)) {
    closeGates(zoo);
    zoo.maintenanceCost += calculateUpkeep(zoo.buildings);
  } else {
    openGates(zoo);
    zoo.revenue += processTicketSales(zoo);
  }

  // Impact Météo
  if (zoo.weather == "HEATWAVE") {
    zoo.visitorFlow *= 0.9;
    zoo.shopSales["ice_cream"] *= 2.0;
  }
}

Messages d'Infos / Alerte

ID Niveau Message
ZOO_OPEN Info "Le zoo ouvre ses portes ! Bonne journée."
ZOO_CLOSE Info "Fermeture du zoo. Les visiteurs sortent."
MAINTENANCE_PAID Info "Frais de maintenance journaliers payés : -{amount}."
NO_FUNDS Alerte "Fonds insuffisants pour la maintenance ! Risque de grève."

Annexes UX/UI

1. Expérience Utilisateur (UX)

Visualisation Offre (Passif)

Description UX : Voir ce que vend un autre joueur. Description UI : Une "bulle" ou un "panneau" accroché sous l'icône du zoo. Affiche l'animal (sprite) et le prix. Emplacement : Carte Monde. Intégration : World Space UI. Navigation : Clic sur Bulle -> Détails Offre. Événements : OFFER_UPDATE.

Assets

  • Musiques : ambience_zoo_busy.mp3 (bruit de fond léger).
  • Sons : ui_hover.mp3.
  • Graphiques : Cadre Offre (Bois/Or).
  • Images : Sprite Animal.
  • Vidéos : Animal qui bouge (GIF/WebM).
  • Animations : Prix qui clignote si bas.
  • Couleurs : Or (Prix), Vert (Rareté).
  • Textes : "500".
  • Formes : Bulle BD.

Interaction Achat (Action)

Description UX : Acheter l'animal. Description UI : Drag de l'offre vers le camion (en bas de l'écran ou sur la carte). Alternative : Tap Offre -> Tap Camion. Emplacement : Carte Monde. Intégration : Drag & Drop. Navigation : Drag -> Drop. Événements : DRAG_OFFER.

Assets

  • Musiques : Jingle purchase_success.mp3.
  • Sons : pickup.mp3, coin_register.mp3.
  • Graphiques : Fantôme offre sous curseur.
  • Images : Icône Pièce animée.
  • Vidéos : Effet de transaction (flux de données).
  • Animations : Traînée d'étincelles lors du drag.
  • Couleurs : Jaune brillant.
  • Textes : "-500".
  • Formes : Curseur Main fermée.