**Motivations:** - Make docs/specs implementation-ready without empty sections or placeholders. **Root causes:** - Multiple specs still contained non-actionable placeholders (N/A, “see above”, "..."), and inconsistent “no cache” wording. **Correctifs:** - Replace placeholders with explicit tables, structures, and typed examples. - Align “no cache / no memorization” statements where relevant. **Evolutions:** - Add a features doc entry to track the documentation enrichment effort. **Pages affectées:** - docs/specs/* - docs/features/docs-specs-enrichment.md - docs/leo.md - docs/plan-enrich-docs-specs.md
8.2 KiB
Spécifications : Zoo (Site)
Définition
Représentation d'un zoo (joueur ou bot) sur la Carte du Monde.
Affichage
- Nom du zoo : Sur une banderole d'accueil personnalisable (poteaux bois).
- Avatar Joueur : Visible en coin de l'écran.
- Vue : Isométrique (2.5D). Le zoo est présenté comme un diorama vivant. La banderole flotte au vent.
- Skins : Le zoo peut avoir des thèmes visuels (Skins de Zoo).
- Icône : 🏠
- Slot d'offre :
- Pour les autres zoos : Affiche l'œuf/bébé/animal en vente (Type + Prix).
- Pour le zoo du joueur : Masqué (pas d'offre visible pour soi-même).
- Indicateurs (Bots) : Pièces disponibles, Niveau de parcelle.
Indicateurs de Performance (Cases dédiées sous le zoo)
- Score d'Attractivité : Influence la venue des visiteurs.
- Score de Reproduction : Influence la qualité des naissances.
- Case de Vente : Offre active visible par les autres joueurs.
Interaction
- Achat : Glisser l'offre du zoo vers le camion du joueur.
Annexes Techniques
1. Données et États
Modèle de Données (JSON)
{
"id": "uuid",
"type": "zoo",
"owner_id": "uuid",
"scores": {
"attractiveness": "int",
"reproduction": "int"
},
"current_offer": { "animal_id": "uuid", "price": "int" },
"customization": {
"banner_text": "Mon Zoo",
"active_skin_id": "skin_default",
"avatar_visible": true
}
}
Caractéristiques Initiales
| Caractéristique | Valeur Initiale |
|---|---|
| Attractivité | 0 |
| Reproduction | 0 |
Scores Initiaux
| Score | Valeur Initiale | Plage (Min-Max) | Impact |
|---|---|---|---|
| Attractivité | 0 | 0-100000 | Détermine le flux de visiteurs (via billeterie + attractivité ville→zoo). |
| Reproduction | 0 | 0-10000 | Modifie la chance de naissances et la qualité des bébés. |
| Réputation | 0 | 0-10000 | Modifie le rayonnement sur carte monde (ville→zoo). |
| Survie | 100 | 0-100 | Influence maladies, mortalité, et valeur des animaux. |
2. Cycles de Vie et Apparition
Conditions d'Apparition
Création compte.
Conditions de Disparition
Suppression compte.
Hérédité
Bonus Héritage : +5% Attractivité initiale si l'ancien zoo du joueur avait atteint > 1000 visiteurs (Réputation persistante).
3. Impacts Environnementaux
Impact Température
| Condition | Effet |
|---|---|
| Canicule (>30°C) | -10% Visiteurs (sauf si Glaces en vente). |
| Grand Froid (<0°C) | -20% Visiteurs (sauf si Chocolat Chaud/Café en vente). |
| Tempéré (15-25°C) | Bonus +5% Satisfaction Visiteurs. |
Impact Milieu (Biome)
| Biome | Effet Construction |
|---|---|
| Plaine | Coût standard. |
| Désert | Coût Eau x2 (Arrosage/Entretien). |
| Montagne | Coût Construction Bâtiments +50% (Fondations). |
| Marais | Risque Maladie +10%. |
Impact Saisons
| Saison | Effet Global |
|---|---|
| Printemps | Naissances +10% (Saison des amours). |
| Été | Pic Visiteurs (+30%), Coût Eau +20%. |
| Automne | Déchets (Feuilles) +50% (Besoin nettoyage). |
| Hiver | Visiteurs -30%, Ventes Boutique Cadeaux +10% (Noël). |
Impact Heure / Jour-Nuit
| Période | État |
|---|---|
| Jour (08h-20h) | Ouvert. Revenus actifs. |
| Nuit (20h-08h) | Fermé. Maintenance (Coûts réduits, pas de revenus). Animaux dorment (Santé récupère). |
4. Impacts Biologiques et Sociaux
Impact Reproduction
Score visible publiquement.
Impact Mort
Négligence : Un animal mort non ramassé dans un enclos visible cause -50 Attractivité/heure et fait fuir les visiteurs à proximité.
Impact Nourriture
Pénurie : Si Stock Nourriture = 0 pendant > 24h, Santé Animaux baisse -> Mort -> Baisse Attractivité massive (-100/mort).
Impact Attractivité (Visiteurs/Animaux)
Score visible publiquement. Détermine le flux d'entrée (voir Billeterie) et le classement mondial.
Impact Valeur
Valorisation : La valeur de revente du zoo (si faillite/reset) est estimée à 50% des investissements totaux (Bâtiments + Animaux).
5. Impacts Logistiques et Économiques
Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)
- Vitesse Visiteurs : 1 case / 2 sec (Chemin), 1 case / 4 sec (Herbe).
- Vitesse Staff : 1 case / 1 sec (Optimisé).
Dépenses (Boutiques/Visiteurs)
Maintenance : 10 pièces / jour par bâtiment construit (Coûts fixes).
Trajet Visiteurs
Destination possible. Algorithme de Pathfinding (A*) depuis l'entrée vers les Enclos et Boutiques.
6. Événements
Événements du Jeu / Carte / Zoo / Ville / Visiteur
- Nouvelle Offre : Mise en vente.
- Vente : Offre achetée.
- Inspection : Contrôle sanitaire aléatoire (Bonus/Malus selon propreté).
- Fête du Zoo : Event annuel (Revenus x2 pendant 24h).
7. Progression
Tableau des Upgrades
| Niveau | Nom | Effet | Coût |
|---|---|---|---|
| 1 | Petit Parc | Capacité 50 visiteurs. | 0 |
| 2 | Zoo Local | Capacité 100, Débloque Marketing Local. | 1000 |
| 3 | Zoo Régional | Capacité 250, Débloque Bus Touristique. | 5000 |
| 4 | Zoo National | Capacité 500, Débloque Hôtel (Séjour long). | 15000 |
| 5 | Réserve | Capacité 1000, Débloque Safari. | 50000 |
| 6 | Monde Animal | Capacité 2500, Débloque Aéroport. | 150000 |
| 7 | Sanctuaire | Capacité Illimitée, Prestige Max. | 500000 |
8. Logique et Interfaces
Pseudo-code Impacts
function updateZooState(zoo) {
// Cycle Jour/Nuit
if (isNight(zoo.time)) {
closeGates(zoo);
zoo.maintenanceCost += calculateUpkeep(zoo.buildings);
} else {
openGates(zoo);
zoo.revenue += processTicketSales(zoo);
}
// Impact Météo
if (zoo.weather == "HEATWAVE") {
zoo.visitorFlow *= 0.9;
zoo.shopSales["ice_cream"] *= 2.0;
}
}
Messages d'Infos / Alerte
| ID | Niveau | Message |
|---|---|---|
ZOO_OPEN |
Info | "Le zoo ouvre ses portes ! Bonne journée." |
ZOO_CLOSE |
Info | "Fermeture du zoo. Les visiteurs sortent." |
MAINTENANCE_PAID |
Info | "Frais de maintenance journaliers payés : -{amount}." |
NO_FUNDS |
Alerte | "Fonds insuffisants pour la maintenance ! Risque de grève." |
Annexes UX/UI
0. Direction Artistique & Vue
- Vue : Isométrique (2.5D).
- Grille : Les déplacements se font sur une grille losange.
- Sprites : 4 directions (Nord-Est, Sud-Est, Sud-Ouest, Nord-Ouest).
- Profondeur : Gestion du Z-index (les éléments "en bas" cachent ceux "en haut").
- Style Visuel : Inspiré de
IMG_20260303_170253.jpg.- Coloré, vivant, détails foisonnants.
- Aspect "dessiné à la main" ou "cartoon soigné".
- Couleurs vives et contours nets.
1. Expérience Utilisateur (UX)
Visualisation Offre (Passif)
Description UX : Voir ce que vend un autre joueur.
Description UI : Une "bulle" ou un "panneau" accroché sous l'icône du zoo. Affiche l'animal (sprite) et le prix.
Emplacement : Carte Monde.
Intégration : World Space UI.
Navigation : Clic sur Bulle -> Détails Offre.
Événements : OFFER_UPDATE.
Assets
- Musiques :
ambience_zoo_busy.mp3(bruit de fond léger). - Sons :
ui_hover.mp3. - Graphiques : Cadre Offre (Bois/Or).
- Images : Sprite Animal.
- Vidéos : Animal qui bouge (GIF/WebM).
- Animations : Prix qui clignote si bas.
- Couleurs : Or (Prix), Vert (Rareté).
- Textes : "500".
- Formes : Bulle BD.
Interaction Achat (Action)
Description UX : Acheter l'animal.
Description UI : Drag de l'offre vers le camion (en bas de l'écran ou sur la carte).
Alternative : Tap Offre -> Tap Camion.
Emplacement : Carte Monde.
Intégration : Drag & Drop.
Navigation : Drag -> Drop.
Événements : DRAG_OFFER.
Assets
- Musiques : Jingle
purchase_success.mp3. - Sons :
pickup.mp3,coin_register.mp3. - Graphiques : Fantôme offre sous curseur.
- Images : Icône Pièce animée.
- Vidéos : Effet de transaction (flux de données).
- Animations : Traînée d'étincelles lors du drag.
- Couleurs : Jaune brillant.
- Textes : "-500".
- Formes : Curseur Main fermée.