**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/*
132 lines
3.6 KiB
Markdown
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é.
|