Files
builazoo/docs/specs/case_generique.md
Nicolas Cantu f0219559c5 Standardisation exhaustive des spécifications techniques
**Motivations:**
- Harmoniser la documentation technique pour faciliter le développement.
- Garantir l'exhaustivité des données de Game Design pour chaque entité.

**Root causes:**
- Documentation hétérogène et incomplète.

**Correctifs:**
- N/A

**Evolutions:**
- Réécriture complète de 53 fichiers de spécifications selon un modèle strict.
- Ajout de données de Game Design (prix, durées, impacts) pour combler les manques.
- Ajout systématique des annexes UX/UI.

**Pages affectées:**
- docs/specs/*
2026-03-04 18:07:31 +01:00

132 lines
3.6 KiB
Markdown

# Spécifications : Case (Générique)
## Définition
Une case est l'unité élémentaire de la grille (Zoo ou Monde).
## Propriétés
- **Coordonnées** : Position (x, y) dans la grille.
- **Couleur (Milieu)** : Définit le biome et l'environnement visuel.
- **Température** : Liée à la couleur/biome.
- **Contenu** : Peut contenir un bâtiment, un animal, un visiteur, ou être vide.
- **État** : Peut avoir des indicateurs visuels (herbe jaunie, givre).
## Règles
- Les transitions de propriétés (couleur, température) entre cases adjacentes doivent être douces.
# Annexes Techniques
## 1. Données et États
### Modèle de Données (JSON)
```json
{
"x": "integer",
"y": "integer",
"biome_id": "integer",
"temperature_offset": "float",
"content_ref": "uuid | null",
"content_type": "string",
"state_flags": ["frozen", "dry", "dirty"]
}
```
### Caractéristiques Initiales
**Vide** : État par défaut.
### Scores Initiaux
**Usure** : 0% (Neuf).
## 2. Cycles de Vie et Apparition
### Conditions d'Apparition
Génération carte.
### Conditions de Disparition
**Destruction** : Si la case fait partie d'une extension de zoo vendue/annulée (rare).
### Hérédité
**Mémoire** : Une case se "souvient" de son biome d'origine si on détruit le bâtiment dessus.
## 3. Impacts Environnementaux
### Impact Température
`Température_Réelle = Température_Biome + Température_Offset + Saison_Mod`
### Impact Milieu (Biome)
Définit la couleur de fond.
### Impact Saisons
**Esthétique** : Changement de palette (Vert -> Orange -> Blanc).
### Impact Heure / Jour-Nuit
**Lumière** : Assombrissement global (Overlay nuit).
## 4. Impacts Biologiques et Sociaux
### Impact Reproduction
**Support** : Lieu physique de l'acte.
### Impact Mort
**Support** : Lieu physique du décès.
### Impact Nourriture
**Support** : Lieu de dépôt de la nourriture.
### Impact Attractivité (Visiteurs/Animaux)
**Propreté** : Une case sale réduit l'attractivité locale.
### Impact Valeur
**Immobilier** : Valeur intrinsèque du terrain.
## 5. Impacts Logistiques et Économiques
### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)
**Terrain** : Modificateur de vitesse de déplacement (Boue, Sable).
### Dépenses (Boutiques/Visiteurs)
**Entretien** : Coût de maintenance du sol.
### Trajet Visiteurs
**Noeud** : Point de passage pour le pathfinding.
## 6. Événements
### Événements du Jeu / Carte / Zoo / Ville / Visiteur
* **Clic** : Interaction joueur.
## 7. Progression
### Tableau des Upgrades
Voir `achat_upgrade_case.md`.
## 8. Logique et Interfaces
### Pseudo-code Impacts
```javascript
function getCaseState(case):
return {
temp: calculateTemp(case),
biome: case.biome,
isWalkable: !hasBuilding(case)
}
```
### Messages d'Infos / Alerte
| ID | Niveau | Message |
| :--- | :--- | :--- |
| `CASE_ERROR` | Erreur | "Impossible d'accéder à cette case." |
# Annexes UX/UI
## 1. Expérience Utilisateur (UX)
### Feedback État (Passif)
**Description UX** : La case montre son état physique.
**Description UI** : Overlay de texture (Givre, Craquelures, Boue).
**Emplacement** : Case.
**Intégration** : Layer 1 (Au-dessus du fond, sous le contenu).
**Navigation** : Automatique (Mise à jour visuelle).
**Événements** : `STATE_UPDATE`.
#### Assets
- **Musiques** : Son d'ambiance très léger (vent).
- **Sons** : Bruit de pas (selon texture).
- **Graphiques** : Textures alpha (Givre blanc, Craquelures marron).
- **Images** : Pattern Sol.
- **Vidéos** : Effet de givre qui s'étend.
- **Animations** : Apparition progressive (Fade).
- **Couleurs** : Blanc, Marron, Gris.
- **Textes** : "Gelé", "Sec".
- **Formes** : Carré.