**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
176 lines
6.1 KiB
Markdown
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.
|