712 lines
24 KiB
Markdown
712 lines
24 KiB
Markdown
# Spécifications : Bébé Animal
|
||
|
||
## Définition
|
||
Stade de développement entre l'éclosion de l'œuf et l'âge adulte.
|
||
|
||
## Spécificités
|
||
- **Lieu** : Doit grandir en Nurserie (recommandé) ou sur une case adaptée.
|
||
- **Fragilité** : Plus sensible aux écarts de température/faim que les adultes.
|
||
- **Vente** : Peut être vendu comme "Bébé" (souvent plus cher car potentiel reproducteur intact).
|
||
- **Évolution** : Devient "Bébé mature" en fin de nurserie, prêt à être placé sur la grille comme adulte.
|
||
|
||
# Annexes Techniques
|
||
|
||
## 1. Données et États
|
||
### Modèle de Données (JSON)
|
||
Structure identique à `Animal` (voir `animal_generique.md`), avec un flag ou état spécifique :
|
||
```json
|
||
{
|
||
"is_baby": true,
|
||
"growth_progress": "float (0-100)",
|
||
"nurserie_id": "uuid_v4 | null"
|
||
}
|
||
```
|
||
|
||
### Caractéristiques Initiales
|
||
| Caractéristique | Valeur Initiale |
|
||
| :--- | :--- |
|
||
| Santé | 100.0 |
|
||
| Faim | 0.0 |
|
||
| Croissance | 0.0 |
|
||
|
||
### Scores Initiaux
|
||
| Score | Valeur |
|
||
| :--- | :--- |
|
||
| Valeur Vente | 1.5 * Valeur Adulte (Potentiel) |
|
||
| Attractivité | 2 * Attractivité Adulte (Effet "Mignon") |
|
||
|
||
## 2. Cycles de Vie et Apparition
|
||
### Conditions d'Apparition
|
||
| Type | Condition |
|
||
| :--- | :--- |
|
||
| Naissance | Reproduction réussie |
|
||
| Éclosion | Fin timer œuf en Nurserie |
|
||
|
||
### Conditions de Disparition
|
||
| Cause | Seuil |
|
||
| :--- | :--- |
|
||
| Croissance terminée | Croissance >= 100 (Devient Adulte) |
|
||
| Mort | Santé <= 0 (Plus fragile) |
|
||
|
||
### Hérédité
|
||
Voir `animal_generique.md`.
|
||
|
||
## 3. Impacts Environnementaux
|
||
### Impact Température
|
||
**Facteur de fragilité : x2** par rapport à l'adulte.
|
||
| Delta T° | Effet sur Santé / Heure |
|
||
| :--- | :--- |
|
||
| +/- 1 | -2 |
|
||
| +/- 2 | -10 |
|
||
| > +/- 2 | -40 (Mort rapide) |
|
||
|
||
### Impact Milieu (Biome)
|
||
| Compatibilité | Effet |
|
||
| :--- | :--- |
|
||
| Mauvais Biome | Stress x2 par rapport à l'adulte |
|
||
|
||
### Impact Saisons
|
||
Voir `animal_generique.md`.
|
||
|
||
### Impact Heure / Jour-Nuit
|
||
Voir `animal_generique.md`.
|
||
|
||
## 4. Impacts Biologiques et Sociaux
|
||
### Impact Reproduction
|
||
**Stérilité temporaire** : Un bébé ne peut pas se reproduire (Logique biologique).
|
||
|
||
### Impact Mort
|
||
| Événement | Effet Satisfaction |
|
||
| :--- | :--- |
|
||
| Mort d'un bébé | Malus Réputation x2 (Tristesse visiteurs) |
|
||
|
||
### Impact Nourriture
|
||
**Métabolisme rapide :** Faim augmente 1.5x plus vite que l'adulte.
|
||
|
||
### Impact Attractivité (Visiteurs/Animaux)
|
||
| Rareté | Attractivité |
|
||
| :--- | :--- |
|
||
| Toutes | Bonus "Cuteness" (+50% rayon attraction) |
|
||
|
||
### Impact Valeur
|
||
| Facteur | Effet |
|
||
| :--- | :--- |
|
||
| Croissance 0-50% | Valeur max (Potentiel) |
|
||
| Croissance 50-99% | Valeur décroissante vers prix adulte |
|
||
|
||
## 5. Impacts Logistiques et Économiques
|
||
### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)
|
||
**Vitesse Croissance** : 1% toutes les 30 secondes (rapide) à 1h (lent) selon Rareté.
|
||
|
||
### Dépenses (Boutiques/Visiteurs)
|
||
**Soins Vétérinaires** : Coût x2 si malade (Fragilité pédiatrique).
|
||
|
||
### Trajet Visiteurs
|
||
**Aimant** : Priorité absolue pour les visiteurs si le bébé est visible (hors nurserie).
|
||
|
||
## 6. Événements
|
||
### Événements du Jeu / Carte / Zoo / Ville / Visiteur
|
||
* **Croissance** : Passage à l'âge adulte (Notification).
|
||
* **Besoin Soin** : Alerte plus fréquente.
|
||
* **Premiers Pas** : Petit event mignon (+Satisfaction).
|
||
|
||
## 7. Progression
|
||
### Tableau des Upgrades
|
||
*Note : Stades biologiques naturels.*
|
||
| Stade | Nom | Effet |
|
||
| :--- | :--- | :--- |
|
||
| 0-30% | Nouveau-né | Fragilité Max, Dort beaucoup. |
|
||
| 30-70% | Jeune | Commence à marcher, Joue. |
|
||
| 70-100% | Adolescent | Mange comme un adulte, Moins fragile. |
|
||
|
||
## 8. Logique et Interfaces
|
||
### Pseudo-code Impacts
|
||
```javascript
|
||
function updateBaby(baby, context):
|
||
# Fragilité accrue
|
||
damageMultiplier = 2.0
|
||
growthRate = baseGrowthRate * nurserieLevelBonus
|
||
|
||
baby.growth_progress += growthRate
|
||
|
||
if baby.growth_progress >= 100:
|
||
transformToAdult(baby)
|
||
|
||
# Reste de la logique héritée de Animal avec damageMultiplier
|
||
```
|
||
|
||
### Messages d'Infos / Alerte
|
||
| ID | Niveau | Message |
|
||
| :--- | :--- | :--- |
|
||
| `BABY_GROWN` | Info | "Un bébé est devenu adulte !" |
|
||
| `BABY_CRITICAL` | Critique | "Un bébé est en danger critique !" |
|
||
|
||
# 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)
|
||
### Croissance en Nurserie (Passif)
|
||
**Description UX** : Le bébé est visible dans son slot de nurserie. Il grandit visuellement (petite jauge).
|
||
**Description UI** : Sprite "Bébé" (tête disproportionnée, grands yeux). Jauge de croissance.
|
||
**Emplacement** : Modal Nurserie.
|
||
**Intégration** : Slot.
|
||
**Navigation** : Clic Slot Nurserie (Zoom).
|
||
**Événements** : `BABY_GROWING`.
|
||
|
||
#### Assets
|
||
- **Musiques** : Berceuse (Boîte à musique, boucle 30s).
|
||
- **Sons** : Petits bruits aigus.
|
||
- **Graphiques** : Sprite Bébé.
|
||
- **Images** : Photo "Échographie" (si œuf).
|
||
- **Vidéos** : Cinématique éclosion (optionnel).
|
||
- **Animations** : Respiration (Scale up/down léger).
|
||
- **Couleurs** : Tons pastels.
|
||
- **Textes** : "Bébé [Espèce]".
|
||
- **Formes** : Bulle de protection autour du bébé.
|
||
|
||
### Sortie Prématurée (Action)
|
||
**Description UX** : Le joueur décide de placer le bébé dans le zoo avant l'âge adulte (risqué).
|
||
**Description UI** : Warning "Attention, ce bébé est fragile !".
|
||
**Emplacement** : Nurserie -> Zoo.
|
||
**Intégration** : Confirmation modale.
|
||
**Navigation** : Drag -> Confirm -> Drop.
|
||
**Événements** : `PLACE_BABY`.
|
||
|
||
#### Assets
|
||
- **Musiques** : Alerte "Danger" (rythme rapide).
|
||
- **Sons** : `warning_beep.mp3`.
|
||
- **Graphiques** : Icône Danger.
|
||
- **Images** : Fond d'écran rouge clignotant (léger).
|
||
- **Vidéos** : Effet de tremblement rouge sur le sprite.
|
||
- **Animations** : Tremblement de l'interface.
|
||
- **Couleurs** : Rouge.
|
||
- **Textes** : "Risque de mort élevé !".
|
||
- **Formes** : Triangle d'avertissement.
|
||
|
||
### Passage Adulte (Événement)
|
||
**Description UX** : Le bébé atteint 100% de croissance. Il se transforme en adulte.
|
||
**Description UI** : Flash lumineux. Le sprite change. Notification "Adulte !".
|
||
**Emplacement** : Nurserie ou Zoo.
|
||
**Intégration** : Immédiat.
|
||
**Navigation** : Auto (Cutscene).
|
||
**Événements** : `BECOME_ADULT`.
|
||
|
||
#### Assets
|
||
- **Musiques** : Jingle évolution.
|
||
- **Sons** : `level_up.mp3`.
|
||
- **Graphiques** : Particules brillantes.
|
||
- **Images** : Sprite Adulte.
|
||
- **Vidéos** : Effet de morphing (shader).
|
||
- **Animations** : Morphing ou Fade cross.
|
||
- **Couleurs** : Blanc/Or.
|
||
- **Textes** : "Adulte".
|
||
- **Formes** : Rayons de lumière.
|
||
|
||
## Définition
|
||
|
||
| Champ | Valeur |
|
||
|---|---|
|
||
| Concept | Instance d’animal au stade “bébé” (post-éclosion), avec progression de croissance vers l’adulte. |
|
||
| Rôle | Introduire une phase de fragilité et de soins, visible en nurserie et/ou sur le zoo, avec effets d’attractivité “mignon” et contraintes biologiques (non reproductible). |
|
||
| Portée | Une entité `Animal` (référence `animal_id`) au sein d’un zoo, potentiellement rattachée à une `nurserie_id`. |
|
||
| Contrainte | Calculs dérivés (croissance, fragilité, dégâts) à la volée, sans cache/mémorisation ; pas de fallback silencieux en cas d’état incohérent (log + erreur). |
|
||
|
||
## Fonctions (tableau détaillé)
|
||
|
||
| Fonction | Déclencheur | Entrées | Sorties | Règles | Observabilité |
|
||
|---|---|---|---|---|---|
|
||
| Créer bébé | éclosion / naissance | `parents_ids?`, `species_id`, `genetics` | entité animal `is_baby=true` | Création atomique ; init `growth_progress=0` | Event `BABY_CREATED` |
|
||
| Assigner à une nurserie | placement automatique ou choix joueur | `animal_id`, `nurserie_id`, `slot_id` | bébé visible en slot | Un bébé peut être en nurserie ou sur grille, pas les deux | Event `BABY_ASSIGNED_NURSERY` |
|
||
| Progresser croissance | tick logique (lazy) | temps, conditions | `growth_progress` ↑ | Vitesse dépend de rareté + niveau nurserie ; clamp 0..100 | Event `BABY_GROWTH_UPDATED` |
|
||
| Appliquer fragilité | calcul impacts | température, faim, stress | santé ↓ | Multiplicateur fragilité > adulte ; pas d’exception au biome/temp extrêmes | Event `BABY_FRAGILITY_APPLIED` |
|
||
| Interdire reproduction | tentative accouplement | `animal_id` | refus | Toujours refus tant que `is_baby=true` | Event `BABY_REPRO_BLOCKED` |
|
||
| Transformer en adulte | `growth_progress>=100` | `animal_id` | `is_baby=false` | Transition irréversible ; conserve identité + génétique | Event `BABY_BECAME_ADULT` |
|
||
| Mettre en vente (bébé) | action joueur | `animal_id`, type vente | listing créé | Vente possible si pas “en danger critique” | Event `BABY_LISTED_FOR_SALE` |
|
||
|
||
## Icone de base
|
||
|
||
| Élément | Spécification |
|
||
|---|---|
|
||
| Représentation | Sprite “bébé” (tête plus grande), badge “B” sur coin UI |
|
||
| Couleur dominante | Pastel (bleu/rose selon thème), outline blanc au survol |
|
||
| Variantes | `animal_baby_<species>_dir_{N,E,S,W}.png` |
|
||
| États | `calme`, `affamé`, `froid/chaud`, `malade`, `en_croissance` |
|
||
|
||
## Interactions (tableau détaillé)
|
||
|
||
| Interaction | Type | Préconditions | Étapes UI | Résultat | Erreurs / Messages |
|
||
|---|---|---|---|---|---|
|
||
| Ouvrir fiche bébé | Consultation | bébé visible (nurserie ou zoo) | clic sprite/base → panneau | stats + actions | - |
|
||
| Nourrir bébé | Action | nourriture dispo | clic “Nourrir” | faim ↓, santé stable | `NO_FOOD`, `BABY_CRITICAL` |
|
||
| Soigner bébé | Action | employé/soigneur dispo | clic “Soigner” | maladie ↓ | `NO_STAFF`, `NETWORK_ERROR` |
|
||
| Sortie prématurée | Action | bébé en nurserie | drag vers case → confirm | bébé sur grille | `PLACEMENT_INVALID`, `BABY_TOO_FRAGILE` |
|
||
| Mettre en vente | Action | bébé stable | “Vendre” → choisir mode | listing créé | `BABY_CRITICAL` |
|
||
|
||
## Annexes Techniques
|
||
|
||
### 1. Données et États (tableau détaillé)
|
||
|
||
| Donnée / État | Type | Exemple | Source | Contraintes |
|
||
|---|---|---|---|---|
|
||
| `animal_id` | uuid_v4 | `...` | DB | identifiant stable |
|
||
| `species_id` | string | `PANDA` | DB | enum espèces |
|
||
| `is_baby` | boolean | true | DB | vrai jusqu’à transition adulte |
|
||
| `growth_progress` | float | 42.5 | calcul/DB | clamp 0..100 |
|
||
| `growth_stage` | string | `juvenile` | calcul | dérivé de `growth_progress` |
|
||
| `nurserie_id` | uuid_v4 \| null | `...` | DB | null si sur grille |
|
||
| `position.iso_x` | int \| null | 120 | DB | requis si sur grille |
|
||
| `position.iso_y` | int \| null | 88 | DB | requis si sur grille |
|
||
| `render.z_index` | int | 12088 | calcul | tri profondeur (iso) |
|
||
| `render.hitbox` | string | `base_sprite` | client | clic sur base |
|
||
| `health` | float | 100.0 | calcul/DB | 0..100 |
|
||
| `hunger` | float | 0.0 | calcul/DB | 0..100 |
|
||
| `stress` | float | 0.0 | calcul/DB | 0..100 |
|
||
| `timestamps.created_at` | timestamp | - | DB | UTC |
|
||
| `timestamps.updated_at` | timestamp | - | DB | UTC |
|
||
|
||
#### Caractéristiques Initiales (tableau détaillé)
|
||
|
||
| Caractéristique | Valeur initiale | Unité | Notes |
|
||
|---|---:|---|---|
|
||
| Santé | 100.0 | pts | base |
|
||
| Faim | 0.0 | pts | augmente plus vite qu’un adulte |
|
||
| Stress | 0.0 | pts | sensible aux écarts |
|
||
| Croissance | 0.0 | % | 0..100 |
|
||
| Fragilité | 2.0 | multiplicateur | dégâts environnement ×2 |
|
||
|
||
#### Scores Initiaux (tableau détaillé)
|
||
|
||
| Score | Valeur initiale | Plage | Impact |
|
||
|---|---:|---|---|
|
||
| Attractivité “mignon” | +100% vs adulte | 0..+200% | augmente afflux visiteurs |
|
||
| Valeur potentielle | 150% du prix adulte | 50%..200% | décroît avec croissance |
|
||
| Malus réputation (mort bébé) | ×2 | ×1..×3 | punit davantage un accident |
|
||
|
||
### 2. Cycles de Vie et Apparition (tableau détaillé)
|
||
|
||
| Phase | Déclencheur | Entrées | Sorties | Invariants |
|
||
|---|---|---|---|---|
|
||
| Éclosion/Naissance | reproduction ok / timer œuf | genetics, species | bébé créé | `is_baby=true` |
|
||
| Croissance | temps + conditions | température, nourriture | `growth_progress` ↑ | monotone |
|
||
| Transition adulte | `growth_progress>=100` | animal | adulte | identité conservée |
|
||
|
||
#### Conditions d'Apparition (tableau détaillé)
|
||
|
||
| Condition | Seuil | Opérateur | Résultat |
|
||
|---|---:|---|---|
|
||
| Reproduction réussie | true | est | spawn bébé |
|
||
| Éclosion | timer fini | atteint | spawn bébé |
|
||
|
||
#### Conditions de Disparition (tableau détaillé)
|
||
|
||
| Condition | Seuil | Opérateur | Résultat |
|
||
|---|---:|---|---|
|
||
| Croissance terminée | 100 | >= | devient adulte |
|
||
| Santé critique | 0 | <= | mort |
|
||
|
||
#### Hérédité (tableau détaillé)
|
||
|
||
| Élément | Hérité | Règle |
|
||
|---|---|---|
|
||
| Génétique | Oui | copie des gènes (voir `animal_generique.md`) |
|
||
| Traits esthétiques | Oui | pattern/couleurs, appliqués au sprite bébé |
|
||
| Affinités milieu/temp | Oui | modifie fragilité effective |
|
||
|
||
### 3. Impacts Environnementaux
|
||
|
||
#### Impact Température (tableau détaillé)
|
||
|
||
| Condition | Effet bébé | Notes |
|
||
|---|---|---|
|
||
| \(|\Delta T|\le 1\) | santé \(-2\) / h | fragilité ×2 vs adulte |
|
||
| \(|\Delta T|=2\) | santé \(-10\) / h | soins requis rapidement |
|
||
| \(|\Delta T|\ge 3\) | santé \(-40\) / h | mort rapide si non corrigé |
|
||
|
||
#### Impact Milieu (Biome) (tableau détaillé)
|
||
|
||
| Biome | Effet bébé | Notes |
|
||
|---|---|---|
|
||
| Biome compatible | stress +0 | nominal |
|
||
| Biome incompatible | stress +2x | plus fort que l’adulte |
|
||
|
||
#### Impact Saisons (tableau détaillé)
|
||
|
||
| Saison | Effet bébé | Notes |
|
||
|---|---|---|
|
||
| Hiver | risque froid ↑ | privilégier nurserie |
|
||
| Été | risque chaud ↑ | besoin d’eau/ombre |
|
||
|
||
#### Impact Heure / Jour-Nuit (tableau détaillé)
|
||
|
||
| Période | Effet bébé | Notes |
|
||
|---|---|---|
|
||
| Nuit | sommeil ↑, faim ↑ | bébé se repose, métabolisme reste rapide |
|
||
| Jour | attractivité visiteurs ↑ | “mignon” visible |
|
||
|
||
### 4. Impacts Biologiques et Sociaux
|
||
|
||
#### Impact Reproduction (tableau détaillé)
|
||
|
||
| Facteur | Effet sur taux | Condition |
|
||
|---|---|---|
|
||
| Stade bébé | 0 | reproduction interdite |
|
||
|
||
#### Impact Mort (tableau détaillé)
|
||
|
||
| Cas | Effet | Condition |
|
||
|---|---|---|
|
||
| Mort bébé | malus réputation ×2 | si visiteurs exposés à l’événement |
|
||
|
||
#### Impact Nourriture (tableau détaillé)
|
||
|
||
| Ressource | Effet | Condition |
|
||
|---|---|---|
|
||
| Nourriture espèce | faim \(-\) plus fréquemment | métabolisme ×1.5 |
|
||
|
||
#### Impact Attractivité(Visiteurs (tableau détaillé)
|
||
|
||
| Action/État | Gain | Rayon | Notes |
|
||
|---|---:|---:|---|
|
||
| Bébé visible | +50% | +2 cases | priorité de visite |
|
||
| Bébé en nurserie | +0% sur grille | - | visible uniquement via UI |
|
||
|
||
#### Impact Attractivité Animaux) (tableau détaillé)
|
||
|
||
| Action/État | Effet animaux | Condition |
|
||
|---|---|---|
|
||
| Présence bébé | stress \(\pm\) selon espèce | certaines espèces parentales calment, d’autres stressent |
|
||
|
||
#### Impact Valeur (tableau détaillé)
|
||
|
||
| Facteur | Variation | Condition |
|
||
|---|---:|---|
|
||
| Croissance 0..50% | +50% | potentiel maximum |
|
||
| Croissance 50..99% | décroissance vers adulte | linéaire |
|
||
| Santé < 50 | -30% | vente risquée |
|
||
|
||
### 5. Impacts Logistiques et Économiques
|
||
|
||
#### Vitesse (Camion) (tableau détaillé)
|
||
|
||
| Paramètre | Effet | Condition |
|
||
|---|---|---|
|
||
| Transport bébé | vitesse \(-20%\) | conduite prudente |
|
||
| Contrôle température | stabilité ↑ | camion équipé |
|
||
|
||
#### Vitesse (Nurserie) (tableau détaillé)
|
||
|
||
| Paramètre | Effet | Condition |
|
||
|---|---|---|
|
||
| Niveau nurserie | croissance +\(\{0,10,20,30\}%\) | upgrade nurserie |
|
||
| Soins assignés | dégâts temp \(-25%\) | soigneur actif |
|
||
|
||
#### Vitesse (Accueil) (tableau détaillé)
|
||
|
||
| Paramètre | Effet | Condition |
|
||
|---|---|---|
|
||
| Check-in bébé | durée +10% | contrôles supplémentaires |
|
||
|
||
#### Vitesse (Recherche) (tableau détaillé)
|
||
|
||
| Paramètre | Effet | Condition |
|
||
|---|---|---|
|
||
| Étude bébé | progrès recherche +5% | si centre recherche dispose d’un protocole |
|
||
|
||
#### Vitesse (Labo) (tableau détaillé)
|
||
|
||
| Paramètre | Effet | Condition |
|
||
|---|---|---|
|
||
| Analyses | durée +15% | prélèvements délicats |
|
||
|
||
#### Vitesse (Visite) (tableau détaillé)
|
||
|
||
| Paramètre | Effet | Condition |
|
||
|---|---|---|
|
||
| Temps devant bébé | +20% | “effet mignon” |
|
||
|
||
#### Dépenses (Billeterie) (tableau détaillé)
|
||
|
||
| Poste | Coût | Unité | Condition |
|
||
|---|---:|---|---|
|
||
| Communication “naissance” | 0 | - | événement interne, pas d’analytics |
|
||
|
||
#### Dépenses (Boutiques) (tableau détaillé)
|
||
|
||
| Poste | Coût | Unité | Condition |
|
||
|---|---:|---|---|
|
||
| Souvenir “bébé” | +1 | item | si boutique souvenir |
|
||
|
||
#### Dépenses (Visiteurs) (tableau détaillé)
|
||
|
||
| Poste | Coût | Unité | Condition |
|
||
|---|---:|---|---|
|
||
| Satisfaction (bonus) | + | points | si bébé visible |
|
||
|
||
#### Dépenses (Employés) (tableau détaillé)
|
||
|
||
| Poste | Coût | Unité | Condition |
|
||
|---|---:|---|---|
|
||
| Temps soigneur | +1 | min / tick | bébé fragile |
|
||
|
||
#### 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 |
|
||
|---|---:|---|---|
|
||
| Slot nurserie | 5 | coins / h | par bébé |
|
||
|
||
#### Dépenses (Nourriture) (tableau détaillé)
|
||
|
||
| Poste | Coût | Unité | Condition |
|
||
|---|---:|---|---|
|
||
| Nourriture bébé | +20% | coins / ration | rations plus fréquentes |
|
||
|
||
#### Dépenses (Acceuil des animaux) (tableau détaillé)
|
||
|
||
| Poste | Coût | Unité | Condition |
|
||
|---|---:|---|---|
|
||
| Contrôle santé bébé | 10 | coins | à l’arrivée |
|
||
|
||
#### Dépenses (Camion) (tableau détaillé)
|
||
|
||
| Poste | Coût | Unité | Condition |
|
||
|---|---:|---|---|
|
||
| Caisson temp | 15 | coins | transport bébé |
|
||
|
||
#### Trajet Visiteurs
|
||
|
||
##### Trajet Visiteurs vers/depuis la ville (tableau détaillé)
|
||
|
||
| Source | Destination | Déclencheur | Effet |
|
||
|---|---|---|---|
|
||
| Ville | Zoo | annonce naissance (in-game) | afflux modéré |
|
||
|
||
##### Trajet Visiteurs vers/depuis les animaux (tableau détaillé)
|
||
|
||
| Source | Destination | Déclencheur | Effet |
|
||
|---|---|---|---|
|
||
| Entrée | Enclos bébé | bébé visible | priorité haute |
|
||
|
||
##### Trajet Visiteurs vers/depuis les boutiques (tableau détaillé)
|
||
|
||
| Source | Destination | Déclencheur | Effet |
|
||
|---|---|---|---|
|
||
| Enclos bébé | Boutique souvenir | souvenir dispo | achat impulsif |
|
||
|
||
##### Trajet Visiteurs vers/depuis la billeterie (entrées/sorties du zoo) (tableau détaillé)
|
||
|
||
| Source | Destination | Déclencheur | Effet |
|
||
|---|---|---|---|
|
||
| Billetterie | Enclos bébé | visite planifiée | détour direct |
|
||
|
||
### 6. Événements
|
||
|
||
#### Événements du Jeu (tableau détaillé)
|
||
|
||
| Event | Déclencheur | Payload | Effet |
|
||
|---|---|---|---|
|
||
| `BABY_CREATED` | éclosion/naissance | `animal_id`, `species_id` | ajoute entité |
|
||
| `BABY_GROWTH_UPDATED` | tick lazy | `animal_id`, `growth_progress` | UI jauge |
|
||
| `BABY_BECAME_ADULT` | seuil 100 | `animal_id` | swap sprite + stats |
|
||
| `BABY_CRITICAL` | santé basse | `animal_id`, raison | alerte |
|
||
|
||
#### Événements du Carte (tableau détaillé)
|
||
|
||
| Event | Déclencheur | Effet |
|
||
|---|---|---|
|
||
| `BABY_MARKER_SHOW` | map open | badge sur bâtiment nurserie |
|
||
|
||
#### Événements du Zoo (tableau détaillé)
|
||
|
||
| Event | Déclencheur | Effet |
|
||
|---|---|---|
|
||
| `BABY_SELECTED` | clic sprite | ouvre panneau |
|
||
| `BABY_MOVED` | placement | maj position iso + z_index |
|
||
|
||
#### Événements du Ville / Visiteur (tableau détaillé)
|
||
|
||
| Event | Déclencheur | Effet |
|
||
|---|---|---|
|
||
| `VISITOR_ATTRACTED_BY_BABY` | bébé visible | route vers enclos |
|
||
|
||
#### Événements du Visiteur (tableau détaillé)
|
||
|
||
| Event | Déclencheur | Effet |
|
||
|---|---|---|
|
||
| `VISITOR_TAKES_PHOTO_BABY` | proche enclos | satisfaction + |
|
||
|
||
#### Événements du Joueur (tableau détaillé)
|
||
|
||
| Event | Déclencheur | Effet |
|
||
|---|---|---|
|
||
| `PLAYER_FEEDS_BABY` | action | faim ↓ |
|
||
| `PLAYER_LISTS_BABY` | vente | listing |
|
||
|
||
### 7. Progression
|
||
|
||
#### Tableau des Upgrades (tableau détaillé)
|
||
|
||
| Niveau | Coût | Effet | Débloque |
|
||
|---|---:|---|---|
|
||
| Nurserie 1 | 0 | croissance nominale | slots base |
|
||
| Nurserie 2 | 250 | croissance +10% | slot +1 |
|
||
| Nurserie 3 | 750 | dégâts temp -10% | protocole soins |
|
||
|
||
### 8. Logique et Interfaces
|
||
|
||
#### Pseudo-code Impacts (tableau détaillé)
|
||
|
||
| Fonction | Entrées | Sorties | Notes |
|
||
|---|---|---|---|
|
||
| `computeBabyGrowth` | baby, now, nurserieLevel | float | clamp 0..100 |
|
||
| `computeBabyTempDamage` | deltaT, fragility | float | multiplicateur |
|
||
| `canReproduce` | baby | bool | false si `is_baby` |
|
||
| `transformToAdult` | baby | adult | conserve ID + génétique |
|
||
|
||
#### Messages d'Infos / Alerte (tableau détaillé)
|
||
|
||
| ID | Niveau | Message | Condition |
|
||
|---|---|---|---|
|
||
| `BABY_GROWING` | Info | "Croissance en cours." | bébé actif |
|
||
| `BABY_BECAME_ADULT` | Info | "Un bébé est devenu adulte." | transition |
|
||
| `BABY_CRITICAL` | Critique | "Un bébé est en danger critique." | santé basse |
|
||
| `BABY_TOO_FRAGILE` | Warning | "Bébé trop fragile pour sortir." | sortie prématurée |
|
||
|
||
## Annexes UX/UI
|
||
|
||
### 1. Expérience Utilisateur (UX)
|
||
|
||
#### Description UX (tableau détaillé)
|
||
|
||
| Parcours | But | Friction | Réduction clics |
|
||
|---|---|---|---|
|
||
| Consulter bébé | suivre croissance | trouver slot | notif deep-link vers slot |
|
||
| Nourrir | éviter danger | action répétée | bouton direct dans panneau sélection |
|
||
| Sortir prématurément | placer sur grille | validation risque | une seule modale de confirmation |
|
||
|
||
#### Description UI (tableau détaillé)
|
||
|
||
| Composant | Contenu | États |
|
||
|---|---|---|
|
||
| Slot nurserie | sprite + jauge | normal/critique |
|
||
| Panneau bébé | santé, faim, croissance | actions activées/désactivées |
|
||
| Badge “B” | état bébé | visible sur sprite et liste |
|
||
|
||
#### Emplacement (tableau détaillé)
|
||
|
||
| Zone UI | Position | Notes |
|
||
|---|---|---|
|
||
| Nurserie | slots | vue principale |
|
||
| Zoo | sur case (iso) | clic sur base |
|
||
| Notifications | top UI | deep-link |
|
||
|
||
#### Intégration (tableau détaillé)
|
||
|
||
| Intégration | Contrat | Notes |
|
||
|---|---|---|
|
||
| `nurserie.md` | slots + jauge | croissance |
|
||
| `animal_generique.md` | base stats | mêmes champs + `is_baby` |
|
||
| `vente_*` | vente bébé | règles “pas critique” |
|
||
|
||
#### Navigation (tableau détaillé)
|
||
|
||
| Action | Chemin | Résultat |
|
||
|---|---|---|
|
||
| Ouvrir bébé (nurserie) | notif → nurserie → slot | panneau ouvert |
|
||
| Ouvrir bébé (zoo) | clic sprite/base | panneau |
|
||
| Nourrir | panneau → bouton | action appliquée |
|
||
| Sortir prématurément | drag → modale → drop | bébé placé |
|
||
|
||
#### Événements (tableau détaillé)
|
||
|
||
| Event UI | Déclencheur | Effet |
|
||
|---|---|---|
|
||
| `OPEN_BABY_PANEL` | clic | ouvre panneau |
|
||
| `CLICK_FEED_BABY` | bouton | action |
|
||
| `CONFIRM_PLACE_BABY` | modale | place |
|
||
|
||
#### Assets Skinables
|
||
|
||
##### Musiques (tableau détaillé)
|
||
|
||
| Asset | Usage | Durée | Notes |
|
||
|---|---|---:|---|
|
||
| `nursery_lullaby_loop.mp3` | nurserie | loop | discret |
|
||
|
||
##### Sons (tableau détaillé)
|
||
|
||
| Asset | Usage | Volume |
|
||
|---|---|---|
|
||
| `baby_chirp_01.mp3` | idle bébé | bas |
|
||
| `ui_warning_beep.mp3` | critique | moyen |
|
||
| `ui_level_up.mp3` | transition adulte | moyen |
|
||
|
||
##### Graphiques (tableau détaillé)
|
||
|
||
| Asset | Usage | Contraintes |
|
||
|---|---|---|
|
||
| `baby_outline_hover.png` | survol | overlay iso |
|
||
| `baby_growth_bar.png` | jauge | lisible petit |
|
||
| `baby_warning_icon.png` | critique | contraste |
|
||
|
||
##### Images (tableau détaillé)
|
||
|
||
| Asset | Usage |
|
||
|---|---|
|
||
| `nursery_slot_frame.png` | slot |
|
||
| `baby_card_bg.png` | panneau |
|
||
|
||
##### Vidéos (tableau détaillé)
|
||
|
||
| Asset | Usage | Durée |
|
||
|---|---|---:|
|
||
| `baby_hatch.webm` | éclosion | 2.0s |
|
||
| `baby_morph_to_adult.webm` | transition | 1.2s |
|
||
|
||
##### Animations (tableau détaillé)
|
||
|
||
| Animation | Déclencheur | Notes |
|
||
|---|---|---|
|
||
| respiration légère | idle | 1.5s loop |
|
||
| tremblement | critique | 0.4s |
|
||
| flash + particules | adulte | 0.8s |
|
||
|
||
##### Couleurs (tableau détaillé)
|
||
|
||
| Token | Valeur | Usage |
|
||
|---|---|---|
|
||
| `baby_pastel_blue` | #A7D8FF | nurserie |
|
||
| `baby_pastel_pink` | #FFB3D9 | accents |
|
||
| `baby_warning_red` | #D32F2F | critique |
|
||
|
||
##### Textes (tableau détaillé)
|
||
|
||
| Clé | FR | EN |
|
||
|---|---|---|
|
||
| `baby.title` | Bébé | Baby |
|
||
| `baby.feed` | Nourrir | Feed |
|
||
| `baby.heal` | Soigner | Heal |
|
||
| `baby.too_fragile` | Bébé trop fragile. | Baby too fragile. |
|
||
| `baby.became_adult` | Devenu adulte. | Became adult. |
|
||
|
||
##### Formes (tableau détaillé)
|
||
|
||
| Élément | Forme | Notes |
|
||
|---|---|---|
|
||
| Jauge croissance | rectangle arrondi | compacte |
|
||
| Badge “B” | pastille ronde | lisible |
|
||
| Alerte critique | triangle | contraste élevé |
|