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

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é.