**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/*
143 lines
4.4 KiB
Markdown
143 lines
4.4 KiB
Markdown
# Spécifications : Mort des Bébés
|
|
|
|
## Causes Spécifiques
|
|
- **Nurserie Pleine** : Si un œuf éclot et qu'il n'y a pas de place en nurserie ni sur le terrain.
|
|
- **Vente Échouée** : Bébé resté trop longtemps en zone de vente (camion) sans acheteur et sans rapatriement.
|
|
- **Conditions Extrêmes** : Les bébés ont des tolérances de température plus faibles que les adultes.
|
|
|
|
## Conséquences
|
|
- Perte définitive de l'animal.
|
|
- Pénalité forte sur le Score de Réputation.
|
|
- Pas de récupération de ressources (pièces).
|
|
|
|
# Annexes Techniques
|
|
|
|
## 1. Données et États
|
|
### Modèle de Données (JSON)
|
|
Événement loggé.
|
|
|
|
### Caractéristiques Initiales
|
|
**Compteur Morts** : 0.
|
|
|
|
### Scores Initiaux
|
|
**Taux Mortalité Infantile** : 0%.
|
|
|
|
## 2. Cycles de Vie et Apparition
|
|
### Conditions d'Apparition
|
|
Voir Causes.
|
|
|
|
### Conditions de Disparition
|
|
**Oubli** : Le souvenir (et le malus) s'estompe après 7 jours in-game.
|
|
|
|
### Hérédité
|
|
**Traumatisme** : Les parents ont -50% fertilité pendant 1 semaine (Choc émotionnel).
|
|
|
|
## 3. Impacts Environnementaux
|
|
### Impact Température
|
|
Voir `bebe_animal.md`.
|
|
|
|
### Impact Milieu (Biome)
|
|
**Tombe** : Une petite stèle apparaît temporairement sur la case (décoratif, disparaît au clic).
|
|
|
|
### Impact Saisons
|
|
**Hiver rigoureux** : Cause fréquente de mortalité infantile (Froid).
|
|
|
|
### Impact Heure / Jour-Nuit
|
|
**Nuit glaciale** : Moment critique (baisse T°).
|
|
|
|
## 4. Impacts Biologiques et Sociaux
|
|
### Impact Reproduction
|
|
**Deuil** : Pas de reproduction possible pour les parents pendant 24h.
|
|
|
|
### Impact Mort
|
|
**Effet domino** : Tristesse contagieuse aux animaux proches (Stress +10).
|
|
|
|
### Impact Nourriture
|
|
**Gaspillage** : La nourriture allouée au bébé est perdue (pourrit).
|
|
|
|
### Impact Attractivité (Visiteurs/Animaux)
|
|
**Malus** : -50 points de Réputation (temporaire 24h). Les visiteurs pleurent.
|
|
|
|
### Impact Valeur
|
|
**Perte sèche** : Valeur potentielle (élevée) perdue définitivement.
|
|
|
|
## 5. Impacts Logistiques et Économiques
|
|
### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)
|
|
**Décomposition** : Le corps reste 1h avant de disparaître (Urgence sanitaire).
|
|
|
|
### Dépenses (Boutiques/Visiteurs)
|
|
**Frais d'équarrissage** : 10 pièces pour enlever le corps.
|
|
|
|
### Trajet Visiteurs
|
|
**Évitement** : Les visiteurs contournent la zone de mort (Rayon 2 cases).
|
|
|
|
## 6. Événements
|
|
### Événements du Jeu / Carte / Zoo / Ville / Visiteur
|
|
* **Mort Bébé** : Notification critique.
|
|
* **Enterrement** : Animation de disparition.
|
|
|
|
## 7. Progression
|
|
### Tableau des Upgrades
|
|
*Note : Prévention via Infirmerie.*
|
|
| Niveau Infirmerie | Réduction Risque Mort |
|
|
| :--- | :--- |
|
|
| 1 | -10% |
|
|
| 2 | -20% |
|
|
| 3 | -50% |
|
|
|
|
## 8. Logique et Interfaces
|
|
### Pseudo-code Impacts
|
|
```javascript
|
|
function handleBabyDeath(baby):
|
|
zoo.reputation -= 50
|
|
baby.parents.forEach(p => p.fertilityMod = 0.5)
|
|
spawnGrave(baby.position)
|
|
notifyPlayer("BABY_DIED")
|
|
```
|
|
|
|
### Messages d'Infos / Alerte
|
|
| ID | Niveau | Message |
|
|
| :--- | :--- | :--- |
|
|
| `BABY_DIED` | Critique | "Un bébé est mort ! Les visiteurs sont choqués." |
|
|
|
|
# Annexes UX/UI
|
|
|
|
## 1. Expérience Utilisateur (UX)
|
|
### Drame (Événement)
|
|
**Description UX** : Le bébé meurt.
|
|
**Description UI** : Le sprite devient gris/fantôme puis disparaît (montée au ciel). Musique triste.
|
|
**Emplacement** : Case Zoo/Nurserie.
|
|
**Intégration** : Immédiat.
|
|
**Navigation** : Auto (Cinématique).
|
|
**Événements** : `DEATH_ANIMATION`.
|
|
|
|
#### Assets
|
|
- **Musiques** : Jingle Triste (Violon).
|
|
- **Sons** : `gong.mp3` ou vent lugubre.
|
|
- **Graphiques** : Fantôme.
|
|
- **Images** : Pierre tombale (Sprite).
|
|
- **Vidéos** : Effet de pluie (Overlay).
|
|
- **Animations** : Opacité 100% -> 0%. Translation Y vers le haut.
|
|
- **Couleurs** : Gris, Noir.
|
|
- **Textes** : "RIP".
|
|
- **Formes** : Halo sombre.
|
|
|
|
### Notification (Alerte)
|
|
**Description UX** : Le joueur est informé de la perte.
|
|
**Description UI** : Popup Rouge/Noir. "Vous avez perdu un bébé [Cause]".
|
|
**Emplacement** : Centre Écran.
|
|
**Intégration** : Modal bloquante (Acknowledgment requis).
|
|
**Navigation** : Clic OK.
|
|
**Événements** : `DEATH_ACKNOWLEDGE`.
|
|
|
|
#### Assets
|
|
- **Musiques** : Silence (Coupure son).
|
|
- **Sons** : Bruit de tonnerre lointain.
|
|
- **Graphiques** : Crâne (icône).
|
|
- **Images** : Portrait du bébé avec ruban noir.
|
|
- **Vidéos** : N/A
|
|
- **Animations** : Tremblement de la fenêtre.
|
|
- **Couleurs** : Noir #000000.
|
|
- **Textes** : Cause du décès.
|
|
- **Formes** : Bordure noire épaisse.
|