743 lines
24 KiB
Markdown
743 lines
24 KiB
Markdown
# 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)
|
||
```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 d’urgence | Action | level ≥ 4 | bouton “Urgence” | santé ↑ | `LEVEL_TOO_LOW` |
|
||
|
||
## Personnage contextuel (événements & interaction)
|
||
Voir `nurse.md`.
|
||
|
||
### Affichage
|
||
La nurse s’affiche 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) | pas de dégâts | tolérance |
|
||
| \(|\Delta T|\le 10\) (lvl7) | pas de dégâts | climatisation |
|
||
| 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 |
|