# 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 (poteaux bois). - **Avatar Joueur** : Visible en coin de l'écran. - **Vue** : Isométrique (2.5D). Le zoo est présenté comme un diorama vivant. La banderole flotte au vent. - **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) ```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 ```javascript 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 ## 0. Direction Artistique & Vue * **Vue** : Isométrique (2.5D). * **Grille** : Les déplacements se font sur une grille losange. * **Sprites** : 4 directions (Nord-Est, Sud-Est, Sud-Ouest, Nord-Ouest). * **Profondeur** : Gestion du Z-index (les éléments "en bas" cachent ceux "en haut"). * **Style Visuel** : Inspiré de `IMG_20260303_170253.jpg`. * Coloré, vivant, détails foisonnants. * Aspect "dessiné à la main" ou "cartoon soigné". * Couleurs vives et contours nets. ## 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.