**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/*
3.6 KiB
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)
{
"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
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é.