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

70 lines
2.3 KiB
Markdown

# Spécifications : Impacts (Générique)
## Définition
Les impacts sont les conséquences des actions du joueur ou des événements du jeu sur les scores et l'état du zoo.
## Types d'Impacts
### Sur l'Attractivité
- **Positif** : Naissance, Achat d'animal rare, Résolution d'incident visiteur, Diversité élevée.
- **Négatif** : Mort d'animal, Incident visiteur ignoré, Zoo vide.
### Sur la Reproduction
- **Positif** : Animal bien nourri, Température idéale, Biome (couleur) idéal, Proximité partenaire compatible.
- **Négatif** : Faim, Température inadaptée, Mauvais biome, Stress (transport long), Morts dans le zoo.
### Sur les Revenus
- **Positif** : Visiteurs nombreux, Boutiques améliorées, Animaux rares (revenu passif), Ventes réussies.
- **Négatif** : Coûts d'entretien (nourriture), Achats onéreux.
### Sur la Survie
- **Positif** : Adéquation Biome/Animal, Nourriture suffisante.
- **Négatif** : Froid/Chaud extrême, Faim prolongée, Isolement.
# Annexes Techniques
## 1. Données et États
### Modèle de Données (JSON)
Structure de configuration des impacts (Ruleset).
```json
{
"impact_rules": [
{ "trigger": "event_type", "target": "score_type", "value": "float", "duration": "int" }
]
}
```
## 8. Logique et Interfaces
### Pseudo-code Impacts
```
function applyImpact(target, impactType, value):
if impactType == 'ATTRACTIVENESS':
target.attractiveness += value
elif impactType == 'SURVIVAL':
target.survival_score += value
logEvent(target.id, impactType, value)
```
# Annexes UX/UI
## 1. Expérience Utilisateur (UX)
### Feedback Visuel d'Impact (Passif)
**Description UX** : Le joueur voit les conséquences de ses actions.
**Description UI** : Popups flottants ("Floating Text") au-dessus des entités concernées.
**Emplacement** : World Space.
**Intégration** : Temporaire (Fade out).
**Navigation** : Automatique.
**Événements** : `IMPACT_APPLIED`.
#### Assets
- **Musiques** : Jingle court.
- **Sons** : `positive.mp3` (montant), `negative.mp3` (descendant).
- **Graphiques** : Flèches Vertes (Haut) / Rouges (Bas).
- **Images** : Icône Flèche.
- **Vidéos** : Particules.
- **Animations** : Texte qui monte et disparaît.
- **Couleurs** : Vert, Rouge.
- **Textes** : "+10 Attractivité", "-5 Santé".
- **Formes** : Texte flottant.