**Motivations:** - Make docs/specs implementation-ready without empty sections or placeholders. **Root causes:** - Multiple specs still contained non-actionable placeholders (N/A, “see above”, "..."), and inconsistent “no cache” wording. **Correctifs:** - Replace placeholders with explicit tables, structures, and typed examples. - Align “no cache / no memorization” statements where relevant. **Evolutions:** - Add a features doc entry to track the documentation enrichment effort. **Pages affectées:** - docs/specs/* - docs/features/docs-specs-enrichment.md - docs/leo.md - docs/plan-enrich-docs-specs.md
5.6 KiB
Spécifications : Case de Zoo (Générique)
Définition
Case spécifique à la grille du zoo, pouvant accueillir les éléments de gestion.
Types de Contenu Possibles
- Bâtiments : Billeterie, Nurserie, Boutique, Centre de Recherche, École, Accueil Animaux.
- Animaux : Bébés matures, Animaux adultes.
- Éléments Mobiles : Visiteurs, Camion (sur sa zone dédiée).
- Vide : Terrain libre pour construction ou placement.
Propriétés Spécifiques
- Occupation : Une case ne peut contenir qu'un seul élément principal (bâtiment/animal) à la fois.
- Visite : Enregistre la date de dernier passage d'un visiteur (pour la règle de disparition).
- Qualité : Indicateur visuel d'adéquation avec l'animal posé dessus (Jaunissement, Givre).
Liste des Cases Spéciales (cf. Carte Zoo)
- Agrandissement
- Recherche
- Billeterie
- Nurserie
- Accueil
- Nourriture
- Camion
Annexes Techniques
1. Données et États
Modèle de Données (JSON)
Hérite de Case (Générique).
{
"last_visit_time": "timestamp | null",
"visit_count_total": "integer",
"visit_count_day": "integer",
"heatmap_score": "float (0-100)",
"quality_score": "float (0-100)",
"pathing": {
"walkable": "boolean",
"movement_cost": "float (>= 1.0)",
"preferred": "boolean (true for path tiles)"
},
"zoo_specific_flags": [
"enum('premium_spot','near_entry','near_shop','near_enclosure','staff_only')"
]
}
Contraintes (Invariants)
- Walkable : une case avec
content_typebâtiment/animal est généralementwalkable=falsepour les visiteurs (sauf exceptions design). - last_visit_time : mis à jour uniquement quand un visiteur “observe” réellement (pas juste traverse) si la mécanique de “visite” est distincte.
- movement_cost : > 1.0 sur herbe/boue, = 1.0 sur chemins, < 1.0 interdit (évite vitesse infinie).
Caractéristiques Initiales
| Caractéristique | Valeur Initiale |
|---|---|
| Dernière Visite | Création du zoo |
| Qualité | 100 |
Scores Initiaux
Passages : 0 (Heatmap de fréquentation). Propreté : 100 (aucun déchet). Coût de marche : 1.2 (herbe) par défaut, 1.0 (chemin) si la case est convertie.
2. Cycles de Vie et Apparition
Conditions d'Apparition
Génération zoo.
Conditions de Disparition
Jamais : Une case ne disparaît pas, elle change juste de contenu.
Hérédité
Qualité du Sol : Un sol bien entretenu (fertilisé) garde ses bonus après un reset partiel.
3. Impacts Environnementaux
Impact Température
Voir case_generique.md.
Impact Milieu (Biome)
Voir case_generique.md.
Impact Saisons
Neige : La case devient blanche en hiver (si T° < 0).
Impact Heure / Jour-Nuit
Ombres : Les ombres des objets sur la case tournent avec le soleil.
4. Impacts Biologiques et Sociaux
Impact Reproduction
Lieu de rencontre : Les cases "Buissons" favorisent les rencontres.
Impact Mort
Lieu de décès : Une case où un animal est mort garde une "odeur" (malus stress) pendant 24h.
Impact Nourriture
Pâturage : Une case herbeuse peut être broutée (devient terreuse).
Impact Attractivité (Visiteurs/Animaux)
Vue : Une case "Point de Vue" (hauteur) augmente l'attractivité des animaux alentour.
Impact Valeur
Emplacement : Une case proche de l'entrée vaut plus cher (emplacement premium pour boutiques).
5. Impacts Logistiques et Économiques
Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)
Revêtement : Herbe (Lent), Terre (Moyen), Pavés (Rapide).
Dépenses (Boutiques/Visiteurs)
Nettoyage : Coût si la case est sale (déchets visiteurs).
Trajet Visiteurs
Obstacle : Une case occupée par un bâtiment ou de l'eau est infranchissable (sauf pont).
6. Événements
Événements du Jeu / Carte / Zoo / Ville / Visiteur
- Passage Visiteur : Met à jour
last_visit_time. - Salissure : Apparition d'un déchet.
7. Progression
Tableau des Upgrades
Voir achat_upgrade_case.md.
8. Logique et Interfaces
Pseudo-code Impacts
function checkAnimalDisappearance(case):
if currentTime - case.last_visit_time > MAX_TIME_WITHOUT_VISIT:
removeAnimal(case.content)
Messages d'Infos / Alerte
| ID | Niveau | Message |
|---|---|---|
CASE_DIRTY |
Info | "Une case est sale." |
PATH_BLOCKED |
Warning | "Chemin bloqué : les visiteurs recalculent leur trajet." |
ANIMAL_NOT_VISITED |
Warning | "Un animal n'a pas été observé depuis longtemps." |
Annexes UX/UI
0. Direction Artistique & Vue
- Vue : Isométrique (2.5D).
- Style : Coloré, vivant, détails foisonnants (Réf: IMG_20260303_170253.jpg).
- Sprites : 4 directions.
- Interactions :
- Sélection : Cliquer sur la base de l'élément (ou son sprite principal) pour le sélectionner.
- Feedback : Surbrillance (outline blanc/jaune) au survol de la souris.
1. Expérience Utilisateur (UX)
Sélection (Action)
Description UX : Clic sur une case zoo.
Description UI : Highlight + Menu contextuel adapté au contenu (Animal -> Stats, Bâtiment -> Upgrade, Vide -> Construire).
Emplacement : Grille.
Intégration : Standard.
Navigation : Clic.
Événements : SELECT_ZOO_CASE.
Assets
- Musiques : Son "Click".
- Sons :
select_soft.mp3. - Graphiques : Cadre sélection.
- Images : Icône Menu Contextuel.
- Vidéos : Effet de sélection (contour brillant).
- Animations : Rebondissement léger du contenu.
- Couleurs : Blanc.
- Textes : "Case [X,Y]".
- Formes : Carré.