**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/*
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.