Files
builazoo/docs/specs/reproduction.md
Nicolas Cantu e92c1355d0 Enrichissement exhaustif des specs : Vue Isométrique et Design
**Motivations:**
- Aligner toute la documentation technique avec la nouvelle direction artistique isométrique (Réf IMG_20260303_170253).
- Faciliter l'implémentation en ajoutant les contraintes techniques liées à la 2.5D (Z-index, Sprites 4 directions).

**Root causes:**
- Besoin de cohérence visuelle et technique sur l'ensemble du projet.

**Correctifs:**
- N/A

**Evolutions:**
- Ajout systématique de la section "Direction Artistique & Vue" dans `Annexes UX/UI` de tous les fichiers.
- Enrichissement des modèles JSON avec coordonnées isométriques (`iso_x`, `iso_y`, `z_index`).
- Précision des interactions (clic, survol) adaptées à la grille losange.
- Conservation stricte de la structure existante (aucun titre supprimé).

**Pages affectées:**
- docs/specs/*
2026-03-05 02:10:32 +01:00

5.7 KiB

Spécifications : Reproduction

Conditions

  • Proximité : Deux animaux compatibles (même espèce, sexe opposé si géré, ou juste compatibilité) proches l'un de l'autre.
  • Environnement : Température et Biome idéaux.
  • Nourriture : Animaux bien nourris.
  • Score de Reproduction : Le zoo doit avoir un score suffisant pour favoriser les naissances.

Résultat

  • Naissance : Apparition d'un nouveau bébé.
  • Destination : Va directement en Nurserie si place disponible, sinon doit être placé ou vendu immédiatement.
  • Hérédité : Le bébé hérite des caractéristiques des parents avec une part de mutation (Rareté/Couleur).

Bonus

  • Les naissances augmentent l'attractivité du zoo.
  • Les naissances favorisent l'apparition d'autres naissances (cercle vertueux).

Annexes Techniques

1. Données et États

Modèle de Données (JSON)

Logique serveur.

Caractéristiques Initiales

Fertilité de base : 50%. Cooldown : 24h (in-game) après une naissance.

Scores Initiaux

Taux de natalité du zoo : 0 naissances/jour.

2. Cycles de Vie et Apparition

Conditions d'Apparition

Saison des amours : Événement aléatoire ou Printemps.

Conditions de Disparition

Ménopause/Vieillesse : Fin de fertilité à 80% de l'espérance de vie.

Hérédité

Parent A Parent B Enfant (Probabilités)
Rareté N Rareté N N (80%), N+1 (15%), N-1 (5%)
Rareté N Rareté N+1 N (40%), N+1 (40%), N+2 (10%), N-1 (10%)

3. Impacts Environnementaux

Impact Température

Condition : T° doit être dans la plage "Idéale" (+/- 2°C). Si écart > 5°C, libido = 0.

Impact Milieu (Biome)

Condition : Biome doit être "Parfait". Sol confortable requis.

Impact Saisons

Printemps : +20% chance réussite. Hiver : -50% chance réussite (sauf animaux polaires).

Impact Heure / Jour-Nuit

Nuit : +20% chance (Intimité, calme).

4. Impacts Biologiques et Sociaux

Impact Reproduction

Consanguinité : Risque de malus génétique (Santé max -10%) si parents trop proches (Frère/Sœur).

Impact Mort

Mort en couche : Risque très faible (1%) pour la mère si Santé < 50% au moment de la naissance.

Impact Nourriture

Condition : Faim < 20%. Si Faim > 50%, avortement spontané.

Impact Attractivité (Visiteurs/Animaux)

Buzz : Une naissance rare attire la presse (+Attractivité temporaire "Baby Boom").

Impact Valeur

Lignée : Un bébé issu de champions (Parents Rareté 5) vaut 2x plus cher.

5. Impacts Logistiques et Économiques

Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)

Durée Gestation : Variable selon espèce (ex: Lapin 1h, Éléphant 24h).

Dépenses (Boutiques/Visiteurs)

Suivi Vétérinaire : 50 pièces prélevées à la conception (Échographie).

Trajet Visiteurs

Zone calme requise : Si > 10 visiteurs autour de l'enclos, Stress monte -> Échec reproduction.

6. Événements

Événements du Jeu / Carte / Zoo / Ville / Visiteur

  • Accouplement : Tentative.
  • Grossesse : Délai avant naissance.
  • Fausse couche : Si stress trop élevé.

7. Progression

Tableau des Upgrades

Note : Recherches au Centre de Recherche.

Niveau Recherche Nom Bonus Fertilité
1 Observation +5%
2 Compléments +10%
3 Insémination +15%
4 Clonage (Interdit) Débloqué au niveau max (Secret)
5 Génétique Avancée +25%

8. Logique et Interfaces

Pseudo-code Impacts

if checkConditions(parentA, parentB):
  chance = baseChance + seasonBonus + zooReproScoreBonus
  if isNight(): chance *= 1.2
  
  if random() < chance:
    createBaby(parentA, parentB)
  else:
    emitEvent("REPRO_FAIL", "Pas d'alchimie...")

Messages d'Infos / Alerte

ID Niveau Message
REPRO_SUCCESS Succès "Un couple attend un heureux événement !"
REPRO_FAIL Info "La tentative de reproduction a échoué."

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)

Amour (Passif)

Description UX : Deux animaux compatibles se rencontrent. Des cœurs apparaissent. Description UI : Particules Cœurs au-dessus des animaux. Ils se rapprochent. Emplacement : Case Zoo. Intégration : Animation comportementale. Navigation : Auto (Animation). Événements : MATING_START.

Assets

  • Musiques : Musique Romantique (Saxophone soft).
  • Sons : kiss.mp3 ou bruit doux.
  • Graphiques : Cœurs roses.
  • Images : Icône "Love" au-dessus des têtes.
  • Vidéos : Effet de flou artistique (Bloom).
  • Animations : Cœurs qui montent.
  • Couleurs : Rose.
  • Textes : "Love is in the air...".
  • Formes : Cœur.

Naissance (Événement)

Description UX : Un bébé apparaît (ou un œuf en nurserie). Notification joyeuse. Description UI : Popup "Carnet Rose". Emplacement : HUD. Intégration : Notification Toast. Navigation : Clic Notification -> Voir Bébé. Événements : BIRTH.

Assets

  • Musiques : Jingle Naissance.
  • Sons : tada.mp3.
  • Graphiques : Cigogne (icône).
  • Images : Photo du bébé.
  • Vidéos : Feu d'artifice miniature.
  • Animations : Confettis.
  • Couleurs : Rose/Bleu.
  • Textes : "Bienvenue au nouveau [Espèce] !".
  • Formes : Étoile explosive.