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

7.9 KiB

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" }
  ]
}

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

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 : N/A É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.