**Motivations:** - Intégrer les nouvelles fonctionnalités demandées par Leo (vue isométrique, gestion du personnel, personnalisation avatar/zoo). - Enrichir le gameplay avec des mécaniques de fusion d'enclos et de passes saisonniers. **Root causes:** - Demande d'évolution majeure du Game Design (fichier `docs/leo.md`). **Correctifs:** - N/A **Evolutions:** - Ajout de 19 nouveaux fichiers de spécifications (Staff, Skins, Enclos, Avatar, etc.). - Mise à jour de 5 fichiers existants pour supporter la vue isométrique et les nouvelles interactions. - Définition du système de passes temporaires et statut VIP. - Spécification des employés achetables avec pièces. **Pages affectées:** - docs/specs/*
7.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.
- Avatar Joueur : Visible à côté du nom ou sur la carte du monde.
- Vue : Isométrique (2.5D).
- 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
Voir ci-dessus.
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
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.