**Motivations:** - Make docs/specs implementation-ready without empty sections or placeholders. **Root causes:** - Multiple specs still contained non-actionable placeholders (N/A, “see above”, "..."), and inconsistent “no cache” wording. **Correctifs:** - Replace placeholders with explicit tables, structures, and typed examples. - Align “no cache / no memorization” statements where relevant. **Evolutions:** - Add a features doc entry to track the documentation enrichment effort. **Pages affectées:** - docs/specs/* - docs/features/docs-specs-enrichment.md - docs/leo.md - docs/plan-enrich-docs-specs.md
148 lines
5.2 KiB
Markdown
148 lines
5.2 KiB
Markdown
# 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.
|