# Spécifications : États (Feedbacks Visuels) ## Définition Indicateurs visuels permettant au joueur de comprendre l'état de ses animaux et de son terrain sans utiliser de jauges (UI). ## États des Animaux - **Froid** : Teinte bleuâtre/pâle, givre visible sur le sprite. - **Chaud** : Teinte rougeâtre, vapeur de chaleur visible. - **Faim** : Déplacement lent, maigreur visible, cherche le sol, icône "faim" discrète. - **Maladie / Mort proche** : Animal couché, couleurs ternes, mouches autour. - **Heureux / Reproduction** : Cœurs, sautillements, couleurs vives. ## États du Terrain - **Mauvais Biome** : Herbe jaunie, sol craquelé ou boueux (changement de teinte global). - **Température Inadaptée** : Sol givré (froid) ou vapeurs (chaud). - **Saleté** : Déchets sombres, poussière grise. # Annexes Techniques ## 1. Données et États ### Modèle de Données (JSON) Liste d'enums ou flags dans l'objet `Animal` ou `Case`. `visual_states: ["frozen", "hungry"]` ### Caractéristiques Initiales **État par défaut** : Neutre. ### Scores Initiaux **Compteur États** : 0 actifs. ## 2. Cycles de Vie et Apparition ### Conditions d'Apparition Déclenchés par les seuils de stats (Santé, Faim, T°). ### Conditions de Disparition Retour à la normale des stats. ### Hérédité **Sensibilité** : Les enfants héritent de la résistance aux états (Froid/Chaud) des parents. ## 3. Impacts Environnementaux ### Impact Température Déclencheurs Froid/Chaud. ### Impact Milieu (Biome) Déclencheurs Mauvais Biome. ### Impact Saisons **Hiver** : Augmente la fréquence de l'état "Froid". ### Impact Heure / Jour-Nuit **Nuit** : Augmente la fréquence de l'état "Sommeil". ## 4. Impacts Biologiques et Sociaux ### Impact Reproduction Déclencheur Heureux. ### Impact Mort Déclencheur Maladie/Mort. ### Impact Nourriture Déclencheur Faim. ### Impact Attractivité (Visiteurs/Animaux) Les états négatifs (Sale, Malade) repoussent les visiteurs. ### Impact Valeur **Malus** : Un animal avec un état négatif vaut -20% à la vente. ## 5. Impacts Logistiques et Économiques ### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite) | Contexte | État | Effet vitesse | Condition | Notes | |---|---|---:|---|---| | Visiteurs | “Confort OK” | x1.0 | Température 5–30°C, sol non boueux | Vitesse nominale. | | Visiteurs | “Stress” | x0.85 | Animal malade visible / zone sale | Les visiteurs ralentissent pour observer/éviter. | | Animaux | “Faim” | x0.7 | `hunger > 70` | Animation lente, impact visuel. | | Animaux | “Heureux” | x1.1 | Conditions idéales + visite récente | Sautillements, micro-boost. | ### Dépenses (Boutiques/Visiteurs) | État | Coût | Unité | Déclencheur | Règle | |---|---:|---|---|---| | “Sale” | 10 | pièces / case / jour | Déchets non ramassés | Nettoyage automatique si employé dédié, sinon manuel. | | “Malade” | 50 | pièces / animal | Maladie / mort proche | Frais vétérinaires ; si non payés, risque de mort augmente. | | “T° critique” | 10 | pièces / degré / jour | Chauffage/Clim régule | Dépend de `temperature.md` (régulateurs). | ### Trajet Visiteurs **Fuite** : Les visiteurs évitent les animaux avec l'état "Malade". ## 6. Événements ### Événements du Jeu / Carte / Zoo / Ville / Visiteur | Event | Déclencheur | Effet | Durée | |---|---|---|---| | `STATE_APPLIED` | Ajout d’un flag visuel | Met à jour rendu | Instantané | | `STATE_CLEARED` | Retour à la normale | Retire overlay/particules | Instantané | | `STATE_CRITICAL` | Seuil critique franchi | Alerte + focus optionnel | Tant que critique | ## 7. Progression ### Tableau des Upgrades | Niveau | Effet | | :--- | :--- | | 1 | Détection simple | | 2 | Détection avancée (Prévision) | ## 8. Logique et Interfaces ### Pseudo-code Impacts ``` if animal.temp < animal.idealTemp - 10: addVisualState("frozen") elif animal.temp > animal.idealTemp + 10: addVisualState("overheat") ``` ### Messages d'Infos / Alerte | ID | Niveau | Message | | :--- | :--- | :--- | | `STATE_CRITICAL` | Alerte | "État critique détecté !" | # 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) ### Lecture Immédiate (Passif) **Description UX** : Le joueur comprend la situation d'un coup d'œil sans ouvrir de menu. **Description UI** : Pas d'UI. Tout passe par le rendu graphique des entités. **Emplacement** : Grille Zoo. **Intégration** : Moteur de rendu. **Navigation** : Automatique. **Événements** : `STATE_CHANGE`. #### Assets - **Musiques** : Nappe sonore (battement cœur). - **Sons** : `heartbeat.mp3`. - **Graphiques** : Shaders (Color Overlay), Systèmes de particules. - **Images** : Icône État. - **Vidéos** : Shader overlay. - **Animations** : Animations spécifiques (Trembler, Boiter). - **Couleurs** : Code universel (Bleu=Froid, Rouge=Chaud, Vert=OK, Jaune=Malade). - **Textes** : Nom de l'état. - **Formes** : Icône flottante.