Files
builazoo/docs/specs/mort_bebe.md
2026-03-05 03:39:33 +01:00

19 KiB
Raw Permalink Blame History

Spécifications : Mort des Bébés

Causes Spécifiques

  • Nurserie Pleine : Si un œuf éclot et qu'il n'y a pas de place en nurserie ni sur le terrain.
  • Vente Échouée : Bébé resté trop longtemps en zone de vente (camion) sans acheteur et sans rapatriement.
  • Conditions Extrêmes : Les bébés ont des tolérances de température plus faibles que les adultes.

Conséquences

  • Perte définitive de l'animal.
  • Pénalité forte sur le Score de Réputation.
  • Pas de récupération de ressources (pièces).

Annexes Techniques

1. Données et États

Modèle de Données (JSON)

Événement loggé.

Caractéristiques Initiales

Compteur Morts : 0.

Scores Initiaux

Taux Mortalité Infantile : 0%.

2. Cycles de Vie et Apparition

Conditions d'Apparition

Voir Causes.

Conditions de Disparition

Oubli : Le souvenir (et le malus) s'estompe après 7 jours in-game.

Hérédité

Traumatisme : Les parents ont -50% fertilité pendant 1 semaine (Choc émotionnel).

3. Impacts Environnementaux

Impact Température

Voir bebe_animal.md.

Impact Milieu (Biome)

Tombe : Une petite stèle apparaît temporairement sur la case (décoratif, disparaît au clic).

Impact Saisons

Hiver rigoureux : Cause fréquente de mortalité infantile (Froid).

Impact Heure / Jour-Nuit

Nuit glaciale : Moment critique (baisse T°).

4. Impacts Biologiques et Sociaux

Impact Reproduction

Deuil : Pas de reproduction possible pour les parents pendant 24h.

Impact Mort

Effet domino : Tristesse contagieuse aux animaux proches (Stress +10).

Impact Nourriture

Gaspillage : La nourriture allouée au bébé est perdue (pourrit).

Impact Attractivité (Visiteurs/Animaux)

Malus : -50 points de Réputation (temporaire 24h). Les visiteurs pleurent.

Impact Valeur

Perte sèche : Valeur potentielle (élevée) perdue définitivement.

5. Impacts Logistiques et Économiques

Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)

Décomposition : Le corps reste 1h avant de disparaître (Urgence sanitaire).

Dépenses (Boutiques/Visiteurs)

Frais d'équarrissage : 10 pièces pour enlever le corps.

Trajet Visiteurs

Évitement : Les visiteurs contournent la zone de mort (Rayon 2 cases).

6. Événements

Événements du Jeu / Carte / Zoo / Ville / Visiteur

  • Mort Bébé : Notification critique.
  • Enterrement : Animation de disparition.

7. Progression

Tableau des Upgrades

Note : Prévention via Infirmerie.

Niveau Infirmerie Réduction Risque Mort
1 -10%
2 -20%
3 -50%

8. Logique et Interfaces

Pseudo-code Impacts

function handleBabyDeath(baby):
  zoo.reputation -= 50
  baby.parents.forEach(p => p.fertilityMod = 0.5)
  spawnGrave(baby.position)
  notifyPlayer("BABY_DIED")

Messages d'Infos / Alerte

ID Niveau Message
BABY_DIED Critique "Un bébé est mort ! Les visiteurs sont choqués."

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)

Drame (Événement)

Description UX : Le bébé meurt. Description UI : Le sprite devient gris/fantôme puis disparaît (montée au ciel). Musique triste. Emplacement : Case Zoo/Nurserie. Intégration : Immédiat. Navigation : Auto (Cinématique). Événements : DEATH_ANIMATION.

Assets

  • Musiques : Jingle Triste (Violon).
  • Sons : gong.mp3 ou vent lugubre.
  • Graphiques : Fantôme.
  • Images : Pierre tombale (Sprite).
  • Vidéos : Effet de pluie (Overlay).
  • Animations : Opacité 100% -> 0%. Translation Y vers le haut.
  • Couleurs : Gris, Noir.
  • Textes : "RIP".
  • Formes : Halo sombre.

Notification (Alerte)

Description UX : Le joueur est informé de la perte. Description UI : Popup Rouge/Noir. "Vous avez perdu un bébé [Cause]". Emplacement : Centre Écran. Intégration : Modal bloquante (Acknowledgment requis). Navigation : Clic OK. Événements : DEATH_ACKNOWLEDGE.

Assets

  • Musiques : Silence (Coupure son).
  • Sons : Bruit de tonnerre lointain.
  • Graphiques : Crâne (icône).
  • Images : Portrait du bébé avec ruban noir.
  • Vidéos : death_alert_glitch.webm (0.7s loop, optionnel), black_ribbon_fade.webm (1.2s non loop).
  • Animations : Tremblement de la fenêtre.
  • Couleurs : Noir #000000.
  • Textes : Cause du décès.
  • Formes : Bordure noire épaisse.

Définition

Champ Valeur
Concept Événement de décès dun animal au stade bébé, avec cause, conséquences (réputation, stress), et traces visuelles temporaires.
Rôle Sanctionner les erreurs de gestion (nurserie pleine, conditions extrêmes), informer clairement le joueur, et déclencher des impacts sociaux/logistiques sans silence.
Portée Un animal_id (bébé) + un contexte (zoo, emplacement iso) + une cause normalisée.
Contrainte Pas de fallback silencieux : cause inconnue => log + erreur ; calculs à la volée, sans cache/mémorisation.

Fonctions (tableau détaillé)

Fonction Déclencheur Entrées Sorties Règles Observabilité
Détecter décès bébé tick logique / action animal_id, états event décès Mort si health<=0 ou condition spéciale Event BABY_DIED
Normaliser cause au décès signaux (nurserie pleine, temp, vente) cause_code Cause dans enum, sinon UNKNOWN + erreur Log structuré baby_death_unknown_cause
Appliquer malus réputation au décès cause_code réputation ↓ Malus fort ; pondéré par visibilité visiteurs Event REPUTATION_CHANGED
Appliquer stress proche au décès position iso stress ↑ Rayon 2 cases iso autour Event ANIMAL_STRESS_APPLIED
Créer trace visuelle au décès position stèle/fantôme Trace TTL (ex. 1h) ; supprimable par clic Event GRAVE_SPAWNED
Facturer enlèvement au décès - coût Coût fixe “équarrissage” si option active Event SANITATION_FEE_CHARGED
Alerter joueur au décès cause + animal notification Modal dack obligatoire si critique Event UI_DEATH_ALERT_SHOWN

Icone de base

Élément Spécification
Représentation Icône crâne + ruban noir, variante “bébé” (petit crâne)
Couleur dominante Noir / gris
Variantes icon_baby_death.png, icon_grave.png
États critique (rouge), info (gris), acknowledged (ruban)

Interactions (tableau détaillé)

Interaction Type Préconditions Étapes UI Résultat Erreurs / Messages
Voir détail décès Consultation événement présent clic notif panneau cause + impacts -
Acknowledge modal Action modal affichée clic OK fermeture + trace possible -
Retirer stèle Action trace visible clic stèle suppression trace GRAVE_NOT_FOUND
Aller à lemplacement Navigation position connue clic “Voir sur la carte” caméra centre LOCATION_UNAVAILABLE

Annexes Techniques

1. Données et États (tableau détaillé)

Donnée / État Type Exemple Source Contraintes
death_id uuid_v4 uuid_v4 DB identifiant event
animal_id uuid_v4 uuid_v4 DB cible
is_baby boolean true DB invariant
cause_code string NURSERY_FULL calcul enum
scope.zoo_id uuid_v4 uuid_v4 DB -
location.iso_x int | null 120 DB null si nurserie (slot)
location.iso_y int | null 88 DB null si nurserie (slot)
location.nurserie_id uuid_v4 | null uuid_v4 DB null si sur grille
location.slot_id int | null 3 DB requis si nurserie
effects.reputation_delta int -50 calcul signé
effects.stress_radius_tiles int 2 config iso
effects.cleanup_fee int 10 config coins
ttl.grave_seconds int 3600 config suppression auto
timestamps.created_at timestamp - DB UTC

Caractéristiques Initiales (tableau détaillé)

Caractéristique Valeur initiale Unité Notes
Compteur morts bébés 0 count par zoo
Frais enlèvement 10 coins configurable
Durée trace 3600 s stèle/fantôme

Scores Initiaux (tableau détaillé)

Score Valeur initiale Plage Impact
Taux mortalité infantile 0% 0..100% affichage suivi, pas danalytics
Malus réputation moyen 0 points calcul à la volée sur fenêtre

2. Cycles de Vie et Apparition (tableau détaillé)

Phase Déclencheur Entrées Sorties Invariants
Détection tick états bébé décès cause déterminée
Notification décès cause modal ack requis
Trace décès position stèle TTL
Oubli temps 7 jours in-game malus amorti fenêtre glissante

Conditions d'Apparition (tableau détaillé)

Condition Seuil Opérateur Résultat
Bébé meurt true est event BABY_DIED

Conditions de Disparition (tableau détaillé)

Condition Seuil Opérateur Résultat
Trace TTL 3600 atteint suppression auto
Clic stèle true est suppression manuelle

Hérédité (tableau détaillé)

Élément Hérité Règle
Deuil parents Oui fertilité (-50%) pendant 1 semaine in-game
Historique décès Oui visible journal zoo

3. Impacts Environnementaux

Impact Température (tableau détaillé)

Condition Effet Notes
Temp extrême risque décès ↑ cf. bebe_animal.md

Impact Milieu (Biome) (tableau détaillé)

Biome Effet Notes
- stèle décorative apparaît sur case (si décès sur grille)

Impact Saisons (tableau détaillé)

Saison Effet Notes
Hiver cause fréquente (froid) surveillance accrue

Impact Heure / Jour-Nuit (tableau détaillé)

Période Effet Notes
Nuit risque froid ↑ baisse T°

4. Impacts Biologiques et Sociaux

Impact Reproduction (tableau détaillé)

Facteur Effet sur taux Condition
Deuil (-50%) parents du bébé
Blocage court 0 24h in-game après décès

Impact Mort (tableau détaillé)

Cas Effet Condition
Domino stress +10 animaux à ≤2 cases iso

Impact Nourriture (tableau détaillé)

Ressource Effet Condition
Ration allouée perdue décès avant consommation

Impact Attractivité(Visiteurs (tableau détaillé)

Action/État Gain Rayon Notes
Décès visible - 2 cases visiteurs évitent

Impact Attractivité Animaux) (tableau détaillé)

Action/État Effet animaux Condition
Décès proche stress ↑ zone impact

Impact Valeur (tableau détaillé)

Facteur Variation Condition
Perte potentielle -100% bébé disparu

5. Impacts Logistiques et Économiques

Vitesse (Camion) (tableau détaillé)

Paramètre Effet Condition
Décès en camion blocage slot vente échouée, non rapatriée

Vitesse (Nurserie) (tableau détaillé)

Paramètre Effet Condition
Saturation risque décès nurserie pleine + éclosion

Vitesse (Accueil) (tableau détaillé)

Paramètre Effet Condition
- - -

Vitesse (Recherche) (tableau détaillé)

Paramètre Effet Condition
- - -

Vitesse (Labo) (tableau détaillé)

Paramètre Effet Condition
- - -

Vitesse (Visite) (tableau détaillé)

Paramètre Effet Condition
Zone de décès ralentit flux évitement visiteurs

Dépenses (Billeterie) (tableau détaillé)

Poste Coût Unité Condition
- 0 - -

Dépenses (Boutiques) (tableau détaillé)

Poste Coût Unité Condition
- 0 - -

Dépenses (Visiteurs) (tableau détaillé)

Poste Coût Unité Condition
- 0 - -

Dépenses (Employés) (tableau détaillé)

Poste Coût Unité Condition
Intervention sanitaire 10 coins option équarrissage

Dépenses (Boutiques) (tableau détaillé)

Poste Coût Unité Condition
Section dupliquée 0 - conservée

Dépenses (Nurseries) (tableau détaillé)

Poste Coût Unité Condition
Upgrade prévention variable coins infirmerie/nurserie

Dépenses (Nourriture) (tableau détaillé)

Poste Coût Unité Condition
- 0 - -

Dépenses (Acceuil des animaux) (tableau détaillé)

Poste Coût Unité Condition
- 0 - -

Dépenses (Camion) (tableau détaillé)

Poste Coût Unité Condition
Rapatriement 5 coins vente échouée

Trajet Visiteurs

Trajet Visiteurs vers/depuis la ville (tableau détaillé)
Source Destination Déclencheur Effet
Ville Zoo réputation baisse fréquentation si répétée
Trajet Visiteurs vers/depuis les animaux (tableau détaillé)
Source Destination Déclencheur Effet
Allées Zone décès proximité évitement
Trajet Visiteurs vers/depuis les boutiques (tableau détaillé)
Source Destination Déclencheur Effet
Zone décès Boutique fuite déplacement rapide
Trajet Visiteurs vers/depuis la billeterie (entrées/sorties du zoo) (tableau détaillé)
Source Destination Déclencheur Effet
Zone décès Sortie choc sortie anticipée

6. Événements

Événements du Jeu (tableau détaillé)

Event Déclencheur Payload Effet
BABY_DIED décès animal_id, cause_code impacts
GRAVE_SPAWNED trace iso_x, iso_y stèle
SANITATION_FEE_CHARGED option amount coins -

Événements du Carte (tableau détaillé)

Event Déclencheur Effet
DEATH_MARKER_SHOW map open marker zone

Événements du Zoo (tableau détaillé)

Event Déclencheur Effet
UI_DEATH_ALERT_SHOWN notif modal

Événements du Ville / Visiteur (tableau détaillé)

Event Déclencheur Effet
VISITOR_AVOID_DEATH_ZONE proximité reroute

Événements du Visiteur (tableau détaillé)

Event Déclencheur Effet
VISITOR_CRIES mort visible satisfaction -

Événements du Joueur (tableau détaillé)

Event Déclencheur Effet
PLAYER_ACK_DEATH clic OK clôture
PLAYER_REMOVE_GRAVE clic stèle suppression

7. Progression

Tableau des Upgrades (tableau détaillé)

Niveau Coût Effet Débloque
Infirmerie 1 100 risque -10% soins
Infirmerie 2 250 risque -20% urgence
Infirmerie 3 800 risque -50% protocole

8. Logique et Interfaces

Pseudo-code Impacts (tableau détaillé)

Fonction Entrées Sorties Notes
handleBabyDeath baby, cause event applique malus
computeDeathVisibility location, visitors bool pondère impacts
spawnGrave location grave TTL

Messages d'Infos / Alerte (tableau détaillé)

ID Niveau Message Condition
BABY_DIED Critique "Un bébé est mort." décès
NURSERY_FULL_DEATH Critique "Nurserie pleine : décès." cause NURSERY_FULL
SALE_TRUCK_DEATH Warning "Décès en camion : vente échouée." cause SALE_TRUCK_TIMEOUT

Annexes UX/UI

1. Expérience Utilisateur (UX)

Description UX (tableau détaillé)

Parcours But Friction Réduction clics
Recevoir lalerte comprendre la cause choc modal + bouton “voir sur carte”
Retirer trace nettoyer zone navigation clic direct sur stèle

Description UI (tableau détaillé)

Composant Contenu États
Modal décès cause + impacts critique/ack
Stèle sprite décoratif clickable/ttl
Marker carte icône visible/masqué

Emplacement (tableau détaillé)

Zone UI Position Notes
HUD notifications priorité haute
Carte zoo sur case stèle

Intégration (tableau détaillé)

Intégration Contrat Notes
bebe_animal.md fragilité temp causes
score_reputation.md malus réputation impacts

Navigation (tableau détaillé)

Action Chemin Résultat
Ouvrir détail notif → modal cause affichée
Aller sur carte bouton modal caméra centre
Retirer stèle clic stèle suppression

Événements (tableau détaillé)

Event UI Déclencheur Effet
OPEN_DEATH_MODAL event modal
CLICK_VIEW_ON_MAP bouton caméra
CLICK_REMOVE_GRAVE stèle suppression

Assets Skinables

Musiques (tableau détaillé)
Asset Usage Durée Notes
baby_death_sting.mp3 décès 2.0s triste
Sons (tableau détaillé)
Asset Usage Volume
ui_death_gong.mp3 alerte moyen
ui_modal_close.mp3 ack bas
Graphiques (tableau détaillé)
Asset Usage Contraintes
grave_stone_iso.png stèle iso 4 dirs
baby_ghost_fx.png fantôme overlay
death_skull_icon.png icône contraste
Images (tableau détaillé)
Asset Usage
black_ribbon.png modal
death_bg_noise.png overlay
Vidéos (tableau détaillé)
Asset Usage Durée
death_alert_glitch.webm modal 0.7s
Animations (tableau détaillé)
Animation Déclencheur Notes
fade fantôme décès 1.0s
tremblement modal alerte 0.5s
Couleurs (tableau détaillé)
Token Valeur Usage
death_black #000000 fond
death_gray #616161 texte
death_red #D32F2F critique
Textes (tableau détaillé)
Clé FR EN
death.baby.title Décès dun bébé Baby death
death.baby.cause Cause Cause
death.ack OK OK
Formes (tableau détaillé)
Élément Forme Notes
Modal rectangle arrondi accessible
Icône rond constant