Files
builazoo/docs/specs/milieu.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

176 lines
6.1 KiB
Markdown

# Spécifications : Milieu (Biome/Couleur)
## Définition
Le milieu représente l'environnement écologique d'une case, défini par sa couleur.
## Types de Milieux
- **Prairie** (Tiers Gauche)
- **Océan** (Tiers Milieu)
- **Montagne** (Tiers Droite)
- *Note : D'autres milieux (Forêt, Désert, Savane, Jungle, Marécage, Toundra, Volcanique) peuvent être définis par des couleurs intermédiaires.*
## Impact
- **Survie** : Chaque animal a un milieu de prédilection. Un écart trop important entre la couleur de la case et la couleur idéale de l'animal entraîne stress, maladie et mort.
- **Reproduction** : Un milieu idéal favorise la reproduction (bonus de score).
- **Visuel** : Le fond de la case affiche la couleur du milieu.
# Annexes Techniques
## 1. Données et États
### Modèle de Données (JSON)
```json
{
"id": "integer (0-14)",
"name": "string",
"color_hex": "string (#RRGGBB)",
"default_temperature": "float",
"fertility_bonus": "float",
"iso_x": "integer",
"iso_y": "integer",
"z_index": "integer"
}
```
### Caractéristiques Initiales
| ID | Nom | Couleur | T° Base |
| :--- | :--- | :--- | :--- |
| 0 | Prairie Tendre | #90EE90 | 20°C |
| 5 | Océan Surface | #00BFFF | 15°C |
| 9 | Montagne Basse | #A9A9A9 | 5°C |
### Scores Initiaux
**Dominance Biome** : % de la surface du zoo (ex: 30% Prairie).
## 2. Cycles de Vie et Apparition
### Conditions d'Apparition
Génération carte (fixe).
### Conditions de Disparition
**Terraformation** : Remplacement par un autre biome via upgrade.
### Hérédité
**Maîtrise** : Bonus de fertilité (+5%) sur les biomes maîtrisés dans une partie précédente.
## 3. Impacts Environnementaux
### Impact Température
Le milieu définit la température de base de la case (avant modificateurs saison/upgrade).
### Impact Milieu (Biome)
Référence pour la compatibilité animale.
### Impact Saisons
| Milieu | Sensibilité Saisons |
| :--- | :--- |
| Océan | Faible (Inertie thermique) |
| Montagne | Forte (Neige en hiver) |
| Prairie | Moyenne |
### Impact Heure / Jour-Nuit
**Bioluminescence** : Certains biomes (Océan profond, Forêt magique) brillent la nuit.
## 4. Impacts Biologiques et Sociaux
### Impact Reproduction
**Bonus** : +10% fertilité si animal sur son biome exact.
### Impact Mort
**Décomposition** : Rapide en Jungle (Chaud/Humide), Lente en Toundra (Froid).
### Impact Nourriture
**Ressources** : La Jungle produit des fruits (1/jour), la Savane de l'herbe (1/jour). Le Désert ne produit rien.
### Impact Attractivité (Visiteurs/Animaux)
**Esthétique** : Un zoo avec des biomes variés est plus attractif (+5% par biome différent utilisé).
### Impact Valeur
**Coût Terrain** : Le Désert est moins cher à l'achat que la Prairie (Terres arides).
## 5. Impacts Logistiques et Économiques
### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)
**Terrain difficile** : Sable et Neige ralentissent les visiteurs (-30%).
### Dépenses (Boutiques/Visiteurs)
**Arrosage** : Coût élevé en Désert pour maintenir des plantes.
### Trajet Visiteurs
**Vue** : Les visiteurs aiment les panoramas (Montagne = Point de vue).
## 6. Événements
### Événements du Jeu / Carte / Zoo / Ville / Visiteur
* **Floraison** : Le biome Prairie devient fleuri au printemps (+Attractivité).
## 7. Progression
### Tableau des Upgrades
**Changement de Milieu** :
| Niveau | Coût | Précision | Temps |
| :--- | :--- | :--- | :--- |
| 1 | 500 | Changement vers biome adjacent | 0s |
| 7 | 5000 | Changement vers n'importe quel biome | 0s |
## 8. Logique et Interfaces
### Pseudo-code Impacts
```javascript
function checkBiomeCompatibility(animal, tile):
if animal.idealBiome == tile.biome:
return "PERFECT"
elif isAdjacent(animal.idealBiome, tile.biome):
return "OK"
else:
return "BAD"
```
### Messages d'Infos / Alerte
| ID | Niveau | Message |
| :--- | :--- | :--- |
| `BIOME_CHANGE` | Succès | "Le biome de la case a été modifié." |
# 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)
### Identification Visuelle (Passif)
**Description UX** : Le joueur identifie le biome à la couleur du sol.
**Description UI** : Textures distinctes (Herbe, Sable, Roche, Eau). Transitions douces (dégradés) entre les cases adjacentes.
**Textures** : Motifs discrets (brins d'herbe, cailloux, craquelures) superposés à la couleur pour l'accessibilité (daltonisme).
**Emplacement** : Fond de Case.
**Intégration** : Layer 0 (Background).
**Navigation** : Survol Souris / Toucher Long.
**Événements** : `MAP_RENDER`.
#### Assets
- **Musiques** : Ambiance sonore changeante selon biome survolé (Vent, Vagues, Forêt).
- **Sons** : Bruit de pas spécifique (Craquement, Sable, Herbe).
- **Graphiques** : Tilesets (15 variations de couleur/texture).
- **Images** : Vignettes de biomes pour l'éditeur.
- **Vidéos** : Fond animé de l'eau (shader).
- **Animations** : Eau qui ondule (Océan), Herbe qui bouge (Prairie).
- **Couleurs** : Palette 15 couleurs (Cercle chromatique).
- **Textes** : Tooltip "Biome : Prairie".
- **Formes** : Carré.
### Feedback Incompatibilité (Passif)
**Description UX** : Un animal est sur le mauvais biome.
**Description UI** : L'herbe sous l'animal jaunit ou devient boueuse. L'animal a une bulle "Beurk".
**Emplacement** : Case Zoo.
**Intégration** : Overlay Case.
**Navigation** : Auto (Détection).
**Événements** : `BIOME_MISMATCH`.
#### Assets
- **Musiques** : Son "Malaise" (basse fréquence).
- **Sons** : Bruit de dégoût "Yuck".
- **Graphiques** : Overlay "Sol Mort".
- **Images** : Icône "Sol incompatible" (Sens interdit).
- **Vidéos** : Effet de flétrissement (shader).
- **Animations** : Transition lente vers le jaune/marron.
- **Couleurs** : Jaune paille, Marron.
- **Textes** : "Sol Inadapté !".
- **Formes** : Croix rouge sur le sol.