Files
builazoo/docs/specs/score_survie.md
Nicolas Cantu 5143a79890 docs: enrich docs/specs and remove placeholders
**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
2026-03-05 03:08:15 +01:00

162 lines
5.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Spécifications : Score de Survie
## Définition
Indicateur de la santé et de l'adaptation des animaux dans le zoo.
## Calcul
Moyenne des états de santé individuels de tous les animaux.
`Santé_Animal = f(Faim, Adéquation_Température, Adéquation_Biome, Stress)`
## Impact
- **Reproduction** : Un score de survie élevé est pré-requis pour la reproduction.
- **Maladie** : Un score faible déclenche l'apparition de maladies et augmente la mortalité.
- **Vente** : Influe sur la valeur perçue des animaux (un animal en bonne santé vaut plus cher).
# Annexes Techniques
## 1. Données et États
### Modèle de Données (JSON)
Propriété de `Zoo`.
`survival_score: float (0-100)`
### Caractéristiques Initiales
| Caractéristique | Valeur Initiale |
| :--- | :--- |
| Survie | 100% |
### Scores Initiaux
| Score | Valeur Initiale | Plage (Min-Max) | Impact |
|---|---:|---|---|
| Survie globale | 100 | 0-100 | Conditionne reproduction, maladies, perception valeur animaux. |
| Risque maladie | 0% | 0-100% | Monte si survie < 60. |
| Malus mortalité | 0 | 0-100 | Monte si survie < 30, augmente probas décès. |
## 2. Cycles de Vie et Apparition
### Conditions d'Apparition
| Condition | Seuil | Opérateur | Résultat |
|---|---:|---|---|
| Premier animal vivant | 1 | >= | Score calculable (sinon 100 par convention de vide). |
### Conditions de Disparition
| Condition | Seuil | Opérateur | Résultat |
|---|---:|---|---|
| Zoo supprimé | true | Est | Score supprimé avec le zoo. |
### Hérédité
| Parent | Trait Transmis | Probabilité | Mutation Possible |
|---|---|---:|---|
| Soft reset | Bonus de départ (+10) | 100% | Non |
## 3. Impacts Environnementaux
### Impact Température
Moyenne des adéquations T°.
### Impact Milieu (Biome)
Moyenne des adéquations Biome.
### Impact Saisons
| Saison | Effet | Modificateur |
|---|---|---|
| Hiver | Températures plus dures | survie -5 si pas de régulation |
| Été | Canicule | survie -5 si pas dombre/eau |
### Impact Heure / Jour-Nuit
| Période | Effet | Modificateur |
|---|---|---|
| Nuit | Récupération | +1 survie/h si conditions OK |
## 4. Impacts Biologiques et Sociaux
### Impact Reproduction
Seuil mini : 80% pour reproduire.
### Impact Mort
Seuil critique : < 20% (Risque épidémie).
### Impact Nourriture
Moyenne des Faims.
### Impact Attractivité (Visiteurs/Animaux)
| État | Effet | Condition |
|---|---|---|
| Survie > 90 | Visiteurs satisfaits | bonus attractivité local |
| Survie < 50 | Visiteurs inquiets | malus attractivité |
### Impact Valeur
| Facteur | Variation Prix | Condition |
|---|---:|---|
| Survie > 90 | +10% | animal en vente |
| Survie < 50 | -20% | animal en vente |
## 5. Impacts Logistiques et Économiques
### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)
| Domaine | Paramètre | Valeur | Unité | Effet |
|---|---|---:|---|---|
| Recalcul score | Période | 60 | s | Recalcul périodique ou lazy update. |
### Dépenses (Boutiques/Visiteurs)
| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| Soins vétérinaires | 50 | coins / animal | si état critique |
| Régulation T° | variable | coins / jour | selon `temperature.md` |
### Trajet Visiteurs
| Mécanisme | Effet | Détail |
|---|---|---|
| Évitement zones malades | détour | réduit densité autour animaux malades |
## 6. Événements
### Événements du Jeu / Carte / Zoo / Ville / Visiteur
| Event | Déclencheur | Effet | Durée |
|---|---|---|---|
| `SURVIVAL_DROP` | passage sous seuil | alerte | tant que < seuil |
| `DISEASE_OUTBREAK` | survie < 20 + RNG | maladie | 24h in-game |
## 7. Progression
### Tableau des Upgrades
| Niveau | Coût | Prérequis | Bonus Débloqué |
|---|---:|---|---|
| 1 | 0 | - | Monitoring basique |
| 2 | 2000 | centre recherche niv 2 | Détection précoce maladies |
## 8. Logique et Interfaces
### Pseudo-code Impacts
```
survivalScore = average(allAnimals.health)
```
### Messages d'Infos / Alerte
| ID | Niveau | Message |
| :--- | :--- | :--- |
| `SURVIVAL_LOW` | Alerte | "Attention ! Le score de survie est dangereusement bas." |
# 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)
### Monitoring Santé (Permanent)
**Description UX** : Le joueur surveille la santé globale de son zoo.
**Description UI** : Jauge Cœur ou Croix Verte. Rouge si critique.
**Emplacement** : HUD Haut.
**Intégration** : Fixe.
**Navigation** : Survol -> Liste animaux en danger.
**Événements** : `HEALTH_UPDATE`.
#### Assets
- **Musiques** : `ui_health_soft.mp3` (jingle discret), `ui_critical_pulse.mp3` (optionnel).
- **Sons** : `heartbeat.mp3` (si critique).
- **Graphiques** : Icône Cœur.
- **Images** : `icon_heart.png`, `icon_cross.png`.
- **Vidéos** : `heart_pulse.webm` (0.8s loop, optionnel).
- **Animations** : Battement (Pulsation).
- **Couleurs** : Vert -> Jaune -> Rouge.
- **Textes** : "98%".
- **Formes** : Cœur.