Files
builazoo/docs/specs/milieu.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

5.6 KiB

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

{
  "id": "integer (0-14)",
  "name": "string",
  "color_hex": "string (#RRGGBB)",
  "default_temperature": "float",
  "fertility_bonus": "float"
}

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

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

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.