Files
builazoo/docs/specs/nurserie.md
2026-03-05 04:01:29 +01:00

24 KiB
Raw Blame History

Spécifications : Nurserie

Définition

Bâtiment dédié à l'éclosion des œufs et à la croissance des bébés animaux.

Fonctionnalités

  • Éclosion : Lieu où les œufs achetés sont placés pour éclore.
  • Croissance : Permet aux bébés de grandir en sécurité.
  • Stockage : Zone tampon avant placement dans le zoo.

Niveaux d'Amélioration (7 niveaux)

  • Coût : Progressif par palier.
  • Effet : Accélère le temps d'éclosion/croissance. Améliore la qualité des reproducteurs (bonus génétique).
  • Ratio : 1 unité permet de faire grandir 1 bébé maximum à la fois.

Annexes Techniques

1. Données et États

Modèle de Données (JSON)

{
  "id": "uuid",
  "type": "nurserie",
  "level": "integer (1-7)",
  "slots": [
    { "slot_id": 1, "content": "egg_uuid | baby_uuid | null", "timer_end": "timestamp" }
  ],
  "iso_x": "integer",
  "iso_y": "integer",
  "z_index": "integer"
}

Caractéristiques Initiales

Caractéristique Valeur Initiale (Niv 1)
Slots 1
Vitesse Éclosion x1.0
Protection T° +/- 2°C tolérance

Scores Initiaux

Taux Survie : 100% (si conditions respectées).

2. Cycles de Vie et Apparition

Conditions d'Apparition

Construction par joueur ou présent au début.

Conditions de Disparition

Destruction par joueur (si vide).

Hérédité

Bonus Génétique : Niveau 5+ donne +5% chance rareté supérieure à l'éclosion.

3. Impacts Environnementaux

Impact Température

La nurserie régule la température interne.

Niveau Régulation
1 +/- 2°C
7 +/- 10°C (Climatisation parfaite)

Impact Milieu (Biome)

Adaptation : Bonus croissance +10% si le biome de la case Nurserie correspond au biome de l'œuf (ex: Œuf Pingouin sur case Neige).

Impact Saisons

Protège des effets négatifs des saisons (Hiver/Été). Printemps : Bonus Vitesse +10% (Nature en éveil).

Impact Heure / Jour-Nuit

Fonctionne 24h/24. Veilleuse de nuit (pas de malus obscurité).

4. Impacts Biologiques et Sociaux

Impact Reproduction

Incubateur : +10% vitesse si les parents sont présents dans le zoo (Lien affectif simulé).

Impact Mort

Réduit drastiquement la mortalité infantile (Santé ne baisse pas sauf si Faim extrême). Urgence : Peut accueillir un bébé malade pour le soigner (Niv 4+).

Impact Nourriture

Les bébés sont nourris automatiquement si stock nourriture global > 0. Consommation réduite de 50% par rapport à un adulte.

Impact Attractivité (Visiteurs/Animaux)

Webcam : +5 Attractivité (Les gens aiment voir les bébés en ligne sur le site du zoo).

Impact Valeur

Valorisation : Un bébé né en nurserie et bien traité vaut +10% à la revente (Certificat de bonne santé).

5. Impacts Logistiques et Économiques

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

Vitesse Éclosion/Croissance :

Niveau Multiplicateur Vitesse
1 x1.0
2 x1.2
3 x1.5
4 x2.0
5 x3.0
6 x5.0
7 x10.0

Dépenses (Boutiques/Visiteurs)

Électricité : 5 pièces/heure (Chauffage lampes).

Trajet Visiteurs

Vitrine : Les visiteurs s'agglutinent devant la vitre (si module Vitrine installé au Niv 3).

6. Événements

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

  • Éclosion : Œuf -> Bébé.
  • Maturité : Bébé -> Adulte (prêt à sortir).
  • Jumeaux : 1% chance d'avoir 2 bébés pour 1 œuf.

7. Progression

Tableau des Upgrades

Niveau Coût (Pièces) Slots Vitesse Temps Construction
1 100 1 x1.0 0s
2 200 2 x1.2 0s
3 400 3 x1.5 0s
4 800 4 x2.0 0s
5 1600 5 x3.0 0s
6 3200 6 x5.0 0s
7 6400 7 x10.0 0s

8. Logique et Interfaces

Pseudo-code Impacts

function updateNurserie(nurserie):
  for slot in nurserie.slots:
    if slot.content is Egg:
      slot.timer -= baseTime * nurserie.speedMultiplier
      if slot.timer <= 0:
        hatchEgg(slot.content)

Messages d'Infos / Alerte

ID Niveau Message
EGG_HATCHED Info "Un œuf a éclos en Nurserie !"
NURSERIE_FULL Warning "Nurserie pleine, impossible d'acheter/reproduire."
TWINS Info "Incroyable ! Des jumeaux sont né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)

Gestion des Slots (Consultation)

Description UX : Le joueur clique sur la nurserie pour voir l'état de ses œufs et bébés. Description UI : Bottom Sheet avec une grille de slots (1 à 7 selon niveau). Chaque slot affiche l'icône de l'œuf/bébé, une barre de progression (éclosion/croissance) et un timer restant. Emplacement : Case Nurserie. Intégration : Modal centrée. Navigation : Clic Nurserie -> Modal -> Clic Slot (Action) ou Fermer. Événements : OPEN_NURSERIE.

Assets

  • Musiques : Berceuse douce (boîte à musique).
  • Sons : ui_open.mp3
  • Graphiques : Style "Couveuse" ou "Nid douillet".
  • Images : egg_[rarity].png, baby_[species].png.
  • Vidéos : Fond animé avec des nuages qui passent.
  • Animations : Œuf qui tremble légèrement quand proche éclosion.
  • Couleurs : Tons pastels (rose, bleu clair, jaune paille).
  • Textes : "Slot X", "Temps restant : MM:SS".
  • Formes : Cases de grille arrondies.

Placement d'un Œuf

Description UX : Après achat ou reproduction, l'œuf va automatiquement dans un slot vide. Si plein, notification d'erreur. Description UI : Animation de l'œuf "volant" vers la nurserie (si visible) ou simple apparition dans le slot. Emplacement : HUD -> Nurserie. Intégration : Automatique. Navigation : Clic sur notif “Œuf ajouté” → ouvre la nurserie sur le slot concerné (deep-link) ; sinon aucun parcours requis. Événements : EGG_ADDED.

Assets

  • Musiques : Son "Pop" doux.
  • Sons : pop_soft.mp3
  • Graphiques : Ombre portée de l'œuf.
  • Images : Icône Œuf.
  • Vidéos : Effet de téléportation (particules).
  • Animations : Fade in + Scale up de l'œuf dans le slot.
  • Couleurs : Blanc coquille.
  • Textes : "Placé".
  • Formes : Cercle.

Éclosion (Action)

Description UX : Quand le timer est fini, l'œuf se fissure. Le joueur clique pour "ouvrir" l'œuf et découvrir le bébé. Description UI : Le slot brille ou clignote. Au clic, animation d'éclosion et popup "Nouveau Bébé !" avec ses stats. Emplacement : Modal Nurserie. Intégration : Bloque le slot jusqu'à validation. Navigation : Clic Œuf éclos -> Popup Récompense -> Retour Modal. Événements : HATCH_CLICK.

Assets

  • Musiques : Jingle court "Victoire/Naissance".
  • Sons : crack_egg.mp3, baby_cry.mp3.
  • Graphiques : Coquilles brisées.
  • Images : Sprite bébé.
  • Vidéos : Rayons de lumière émanant de l'œuf.
  • Animations : Séquence d'éclosion (3 frames).
  • Couleurs : Rayons dorés/blancs.
  • Textes : "C'est un [Espèce] [Rareté] !".
  • Formes : Étoile ou Cercle rayonnant.

Sortie de Nurserie (Placement)

Description UX : Le bébé est mature (ou le joueur veut le sortir). Drag & drop du slot vers une case du zoo. Description UI : Le curseur devient le sprite du bébé/animal. Les cases valides s'illuminent en vert, invalides en rouge. Alternative : Sélectionner le bébé -> Cliquer sur la case cible (Tap to Place). Emplacement : Modal Nurserie -> Carte Zoo. Intégration : Ferme la modal et passe en mode placement. Navigation : Drag Slot -> Drop Carte. Événements : DRAG_START, DRAG_DROP.

Assets

  • Musiques : Son "Sélection".
  • Sons : pickup.mp3, place_ok.mp3 / place_error.mp3.
  • Graphiques : Grille de placement overlay.
  • Images : Sprite fantôme (translucide) sous le curseur.
  • Vidéos : Pulsation de la case cible.
  • Animations : Rebondissement du sprite au drop.
  • Couleurs : Vert #00FF00 (OK), Rouge #FF0000 (KO).
  • Textes : Tooltip "Placer ici".
  • Formes : Carré de sélection.

Définition

Champ Valeur
Concept Bâtiment “nurserie” : incubation des œufs, croissance sécurisée des bébés, et tampon avant placement sur la grille.
Rôle Réduire la mortalité infantile via régulation température/soins, gérer les slots, et fournir un parcours UI simple (clic nurserie → slots).
Portée Une instance de bâtiment sur la grille isométrique, avec level et slots[].
Contrainte Pas de cache/mémorisation : timers et progressions recalculés à la volée (lazy update) ; pas de fallback silencieux (slot invalide => erreur + message).

Fonctions (tableau détaillé)

Fonction Déclencheur Entrées Sorties Règles Observabilité
Ouvrir nurserie clic bâtiment nurserie_id UI slots affiche slots + timers Event OPEN_NURSERIE
Affecter œuf à slot achat/repro egg_id slot rempli auto si slot vide ; sinon erreur Event EGG_ADDED / NURSERIE_FULL
Éclosion fin timer + clic egg_id baby_id reveal au clic ; slot passe bébé Event EGG_HATCHED
Croissance tick lazy temps, level growth_progress multiplicateur par level ; clamp Event BABY_GROWTH_UPDATED
Réguler température calcul impact env temp dégâts temp ↓ tolérance selon level Event NURSERIE_TEMP_REGULATED
Nourrir auto tick stock nourriture faim ↓ si stock > 0, conso Event BABY_AUTO_FED
Sortir bébé drag/tap place baby_id, case bébé placé validation case ; transfert iso coords Event PLACE_BABY
Upgrade nurserie action joueur coins, niveau level ↑ max 7 ; effets cumulés Event NURSERIE_UPGRADED
Urgence soins action baby_id santé ↑ dispo level ≥ 4 Event NURSERIE_EMERGENCY_CARE

Icone de base

Élément Spécification
Représentation Bâtiment couveuse/vitrine, fumée douce, lumières chaudes
Couleur dominante Pastel (jaune paille, bleu clair)
Variantes nursery_lvl_{1..7}_dir_{N,E,S,W}.png
États idle, egg_ready (brille), baby_ready (jauge 100), full (badge)

Interactions (tableau détaillé)

Interaction Type Préconditions Étapes UI Résultat Erreurs / Messages
Ouvrir slots Consultation - clic nurserie bottom sheet slots -
Placer œuf Action slot vide achat/repro → auto place slot occupé NURSERIE_FULL
Cliquer œuf éclos Action timer fini clic slot popup bébé -
Sortir bébé Action bébé en slot drag vers grille + confirm bébé placé PLACEMENT_INVALID, BABY_TOO_FRAGILE
Upgrade Action coins ok clic “Améliorer” level ↑ NOT_ENOUGH_COINS
Soins durgence Action level ≥ 4 bouton “Urgence” santé ↑ LEVEL_TOO_LOW

Personnage contextuel (événements & interaction)

Voir nurse.md.

Affichage

La nurse saffiche lorsque :

  • la nurserie est actionnée (ouverture, clic slot, éclosion, placement, urgence) ;
  • un événement de nurserie survient (slot prêt, nurserie pleine, bébé critique).

Déclencheurs (événements)

Event Condition Effet UI personnage
OPEN_NURSERIE clic bâtiment portrait + état slots + CTA
EGG_ADDED œuf affecté bulle “Œuf placé” + deep-link slot
EGG_HATCHED clic éclosion bulle “Bébé né” + CTA “Voir bébé”
NURSERIE_FULL slots pleins bulle “Nurserie pleine” + CTA “Voir slots”
BABY_CRITICAL bébé en danger bulle “Urgence” + CTA “Voir bébé”

Skins & thèmes

Uniforme et accessoires de la nurse suivent theme.md et inventaire_skins.md.

Annexes Techniques

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

Donnée / État Type Exemple Source Contraintes
id uuid_v4 uuid_v4 DB -
type string nurserie DB constant
level int 1 DB 1..7
slots[].slot_id int 1 DB 1..level
slots[].content_type string | null egg DB egg/baby/null
slots[].content_id uuid_v4 | null uuid_v4 DB egg_id/baby_id
slots[].timer_end timestamp | null - DB UTC
slots[].growth_progress float | null 42.0 DB 0..100 si bébé
iso_x int 120 DB grille
iso_y int 88 DB grille
z_index int 12088 calcul profondeur iso
modules.has_vitrine boolean false DB unlock level ≥ 3
modules.has_emergency_care boolean false DB unlock level ≥ 4
timestamps.created_at timestamp - DB UTC

Caractéristiques Initiales (tableau détaillé)

Caractéristique Valeur initiale Unité Notes
Slots 1 count level 1
Vitesse éclosion 1.0 coef base
Vitesse croissance 1.0 coef base
Tolérance T° 2 °C ±
Auto-nourrissage actif bool si stock > 0

Scores Initiaux (tableau détaillé)

Score Valeur initiale Plage Impact
Taux survie (si conditions) 100% 0..100% objectif gestion
Jumeaux 1% 0..5% événement rare

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

Phase Déclencheur Entrées Sorties Invariants
Construction joueur coins nurserie position iso fixe
Utilisation achat/repro œufs slots capacité limitée
Éclosion timer fini + clic egg_id baby_id reveal explicite
Croissance temps baby_id progress clamp
Sortie placement baby_id sur grille slot libéré

Conditions d'Apparition (tableau détaillé)

Condition Seuil Opérateur Résultat
Construction true est nurserie créée
Début partie true est nurserie initiale (si scénario)

Conditions de Disparition (tableau détaillé)

Condition Seuil Opérateur Résultat
Destruction true est supprimée si vide

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

Élément Hérité Règle
Niveau nurserie Oui persiste
Bonus génétique Oui chance rareté (level ≥ 5)

3. Impacts Environnementaux

Impact Température (tableau détaillé)

Condition Effet nurserie Notes
( \Delta T \le 2) (lvl1)
( \Delta T \le 10) (lvl7)
hors tolérance dégâts réduits protège mais pas invincible

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

Biome Effet Notes
Compatible avec œuf croissance +10% règle existante
Incompatible aucun bonus pas de malus direct

Impact Saisons (tableau détaillé)

Saison Effet Notes
Hiver/Été atténue extrêmes via régulation
Printemps vitesse +10% règle existante

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

Période Effet Notes
Nuit veilleuse pas de malus obscurité

4. Impacts Biologiques et Sociaux

Impact Reproduction (tableau détaillé)

Facteur Effet sur taux Condition
Incubateur vitesse +10% parents présents (règle existante)

Impact Mort (tableau détaillé)

Cas Effet Condition
Bébé en nurserie mortalité ↓ santé stable sauf faim extrême
Urgence soins level ≥ 4

Impact Nourriture (tableau détaillé)

Ressource Effet Condition
Stock global > 0 nourrir auto conso réduite 50% vs adulte
Stock = 0 faim ↑ alertes

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

Action/État Gain Rayon Notes
Vitrine active + 1 case attroupement devant vitre

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

Action/État Effet animaux Condition
- - -

Impact Valeur (tableau détaillé)

Facteur Variation Condition
Certificat bonne santé +10% bébé né + bien traité

5. Impacts Logistiques et Économiques

Vitesse (Camion) (tableau détaillé)

Paramètre Effet Condition
- - -

Vitesse (Nurserie) (tableau détaillé)

Paramètre Effet Condition
Level 1..7 x{1.0,1.2,1.5,2.0,3.0,5.0,10.0} progression existante

Vitesse (Accueil) (tableau détaillé)

Paramètre Effet Condition
- - -

Vitesse (Recherche) (tableau détaillé)

Paramètre Effet Condition
Bonus rareté +5% level ≥ 5

Vitesse (Labo) (tableau détaillé)

Paramètre Effet Condition
- - -

Vitesse (Visite) (tableau détaillé)

Paramètre Effet Condition
Vitrine attroupement module vitrine

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

Poste Coût Unité Condition
- 0 - -

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

Poste Coût Unité Condition
Électricité 5 coins / h règle existante

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

Poste Coût Unité Condition
- 0 - -

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

Poste Coût Unité Condition
Soins urgence 10 coins level ≥ 4

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 variable coins level up

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

Poste Coût Unité Condition
Conso bébé 0.5 ration vs adulte

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

Poste Coût Unité Condition
Contrôle santé 0 - inclus (spécif)

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

Poste Coût Unité Condition
- 0 - -

Trajet Visiteurs

Trajet Visiteurs vers/depuis la ville (tableau détaillé)
Source Destination Déclencheur Effet
- - - -
Trajet Visiteurs vers/depuis les animaux (tableau détaillé)
Source Destination Déclencheur Effet
Allées Vitrine nurserie curiosité attroupement
Trajet Visiteurs vers/depuis les boutiques (tableau détaillé)
Source Destination Déclencheur Effet
Vitrine Boutique souvenir détour
Trajet Visiteurs vers/depuis la billeterie (entrées/sorties du zoo) (tableau détaillé)
Source Destination Déclencheur Effet
Entrée Nurserie signal UI route directe

6. Événements

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

Event Déclencheur Payload Effet
OPEN_NURSERIE clic nurserie_id UI
EGG_ADDED auto egg_id slot rempli
EGG_HATCHED clic egg_id, baby_id spawn bébé
NURSERIE_FULL erreur nurserie_id message
NURSERIE_UPGRADED action level effets

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

Event Déclencheur Effet
NURSERY_MARKER_SHOW map open marker

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

Event Déclencheur Effet
HATCH_CLICK clic animation
PLACE_BABY placement transfert

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

Event Déclencheur Effet
VISITOR_GATHERS_AT_NURSERY vitrine attroupement

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

Event Déclencheur Effet
VISITOR_STOPS_AT_WINDOW proximité temps visite +

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

Event Déclencheur Effet
PLAYER_UPGRADES_NURSERY clic level ↑

7. Progression

Tableau des Upgrades (tableau détaillé)

Niveau Coût Effet Débloque
1 100 1 slot, tolérance ±2°C base
2 200 2 slots, vitesse x1.2 -
3 400 3 slots, vitrine visiteurs
4 800 4 slots, urgence soins soins
5 1600 5 slots, rareté +5% génétique
6 3200 6 slots, vitesse x5 -
7 6400 7 slots, tolérance ±10°C clim

8. Logique et Interfaces

Pseudo-code Impacts (tableau détaillé)

Fonction Entrées Sorties Notes
assignEggToSlot egg, slots slot_id pas de slot => erreur
hatchEgg egg baby reveal au clic
computeNurseryMultiplier level float table
applyTempRegulation envTemp, level delta tolérance

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

ID Niveau Message Condition
EGG_HATCHED Info "Un œuf a éclos en nurserie." éclosion
NURSERIE_FULL Warning "Nurserie pleine." slots pleins
TWINS Info "Des jumeaux sont nés." chance 1%

Annexes UX/UI

1. Expérience Utilisateur (UX)

Description UX (tableau détaillé)

Parcours But Friction Réduction clics
Gérer slots suivre œufs/bébés navigation clic direct bâtiment
Éclosion révéler bébé attente badge “prêt” + clic unique
Sortir bébé placement erreurs overlay vert/rouge

Description UI (tableau détaillé)

Composant Contenu États
Bottom sheet grille slots open/closed
Slot icône + barre egg/baby/empty
Popup récompense espèce/rareté confirm

Emplacement (tableau détaillé)

Zone UI Position Notes
Carte zoo sur case clic
Modal centre/bottom slots

Intégration (tableau détaillé)

Intégration Contrat Notes
bebe_animal.md croissance jauge
inventaire_bebe_animaux.md deep-link navigation

Navigation (tableau détaillé)

Action Chemin Résultat
Ouvrir clic nurserie slots
Aller slot clic notif focus slot
Placer drag → drop bébé sur grille

Événements (tableau détaillé)

Event UI Déclencheur Effet
OPEN_NURSERIE clic modal
HATCH_CLICK clic slot reveal
DRAG_START drag placement mode

Assets Skinables

Musiques (tableau détaillé)
Asset Usage Durée Notes
nursery_lullaby_loop.mp3 nurserie loop doux
Sons (tableau détaillé)
Asset Usage Volume
ui_open.mp3 ouvrir bas
crack_egg.mp3 éclosion moyen
baby_cry.mp3 reveal bas
Graphiques (tableau détaillé)
Asset Usage Contraintes
nursery_slot_frame.png slot scalable
placement_grid_overlay.png placement contraste
Images (tableau détaillé)
Asset Usage
egg_rarity_badge.png rareté
baby_card_bg.png popup
Vidéos (tableau détaillé)
Asset Usage Durée
nursery_clouds_bg.webm fond loop
Animations (tableau détaillé)
Animation Déclencheur Notes
tremblement œuf proche éclosion 0.8s loop
glow slot prêt 0.6s
Couleurs (tableau détaillé)
Token Valeur Usage
nursery_pastel_yellow #F7E7A6 fond
nursery_ok_green #00FF00 placement
nursery_ko_red #FF0000 placement
Textes (tableau détaillé)
Clé FR EN
nursery.title Nurserie Nursery
nursery.slot Slot Slot
nursery.full Nurserie pleine. Nursery full.
Formes (tableau détaillé)
Élément Forme Notes
Slot rectangle arrondi lisible
Badge prêt rond contraste