**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/*
7.1 KiB
Spécifications : Billeterie
Définition
Bâtiment d'entrée du zoo. Point d'apparition et de départ des visiteurs.
Fonctionnalités
- Entrée/Sortie : Génère le flux de visiteurs.
- Vente de tickets : Génère des revenus par visiteur entrant.
- Capacité : Limite le nombre de visiteurs simultanés dans le zoo.
Niveaux d'Amélioration (7 niveaux)
- Coût : Progressif par palier.
- Effet : Augmente le prix du ticket et la capacité maximale de visiteurs simultanés.
- Ratio : 1 unité couvre 20 visiteurs simultanés max.
Annexes Techniques
1. Données et États
Modèle de Données (JSON)
{
"id": "uuid",
"type": "ticket_booth",
"level": "integer (1-7)",
"position": { "x": "int", "y": "int" },
"stats": {
"total_entries": "integer",
"daily_revenue": "integer"
}
}
Caractéristiques Initiales
| Caractéristique | Valeur Initiale (Niv 1) |
|---|---|
| Prix Ticket | 10 pièces |
| Capacité Max | 20 visiteurs |
Scores Initiaux
File d'attente : 0 personnes. Revenus cumulés : 0.
2. Cycles de Vie et Apparition
Conditions d'Apparition
Présent au démarrage (Unique).
Conditions de Disparition
Indestructible.
Hérédité
Renommée : Un vieux zoo (reset) garde 10% de son flux initial grâce à sa réputation passée.
3. Impacts Environnementaux
Impact Température
Pluie : Vente automatique de parapluies à l'entrée (+5 pièces/visiteur). Canicule : Distribution d'éventails (Coût 1 pièce, mais +Satisfaction).
Impact Milieu (Biome)
Décoration : Si le biome de l'entrée correspond au biome majoritaire du zoo, +5% Attractivité (Cohérence thématique).
Impact Saisons
| Saison | Modificateur Prix Ticket |
|---|---|
| Été | +20% (Haute saison) |
| Hiver | -10% (Basse saison, promo "Hiver Sauvage") |
| Automne | -5% (Rentrée) |
| Printemps | +10% (Vacances Pâques) |
Impact Heure / Jour-Nuit
Ouverture : 08h00 - 20h00. Fermé la nuit (sauf événements "Nocturne" débloqués au Niv 5).
4. Impacts Biologiques et Sociaux
Impact Reproduction
Mascotte : Si un bébé rare est né < 24h, affiche "Venez voir le bébé !" -> +10% Ventes Tickets.
Impact Mort
Scandale : Si une mort est visible depuis l'entrée, -50% entrées pendant 24h.
Impact Nourriture
Odeur Snack : Si un stand de nourriture est proche (< 5 cases), +5% faim des visiteurs dès l'entrée (Mise en appétit).
Impact Attractivité (Visiteurs/Animaux)
Point d'entrée unique. L'attractivité globale du zoo détermine le flux qui se présente à la billeterie.
Impact Valeur
Valeur Bâtiment : 50% du coût de construction/upgrade récupérable si destruction (impossible ici, mais pour info comptable).
5. Impacts Logistiques et Économiques
Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)
Flux Entrée : 1 visiteur / seconde max (Niv 1) -> 5 visiteurs / seconde (Niv 7 - Portiques auto).
Dépenses (Boutiques/Visiteurs)
Revenu principal (Ticket). Pas de dépense sauf maintenance (10/jour).
Trajet Visiteurs
Point de départ (Spawn) et d'arrivée (Despawn). Les visiteurs mécontents courent vers la sortie.
6. Événements
Événements du Jeu / Carte / Zoo / Ville / Visiteur
- Entrée : Gain pièces.
- Refoulement : Si Capacité Max atteinte.
- VIP : Arrivée d'un bus de touristes (Flux x2 pendant 1h).
7. Progression
Tableau des Upgrades
| Niveau | Coût (Pièces) | Prix Ticket | Capacité Max | Temps Construction |
|---|---|---|---|---|
| 1 | 0 (Base) | 10 | 20 | 0s |
| 2 | 200 | 12 | 40 | 0s |
| 3 | 400 | 15 | 70 | 0s |
| 4 | 800 | 18 | 110 | 0s |
| 5 | 1600 | 22 | 160 | 0s |
| 6 | 3200 | 28 | 220 | 0s |
| 7 | 6400 | 35 | 300 | 0s |
8. Logique et Interfaces
Pseudo-code Impacts
function processEntry(zoo):
potentialVisitors = calculateAttractionFlow(zoo)
if zoo.currentVisitors >= zoo.billeterie.capacity:
emitEvent("ZOO_FULL")
return
actualVisitors = min(potentialVisitors, zoo.billeterie.capacity - zoo.currentVisitors)
for i in 0..actualVisitors:
spawnVisitor()
player.addCoins(zoo.billeterie.ticketPrice)
Messages d'Infos / Alerte
| ID | Niveau | Message |
|---|---|---|
ZOO_FULL |
Alerte | "Le zoo est complet ! Agrandissez la billeterie." |
VIP_BUS |
Info | "Un bus de touristes arrive !" |
Annexes UX/UI
1. Expérience Utilisateur (UX)
Consultation
Description UX : Le joueur clique sur la billeterie pour voir ses statistiques et son niveau.
Description UI : Bottom Sheet ou Panneau Latéral affichant le niveau actuel, la capacité, le prix du ticket et les revenus du jour.
Emplacement : Case Billeterie sur la grille du zoo.
Intégration : Bâtiment fixe (ne peut pas être déplacé ou supprimé).
Navigation : Clic -> Ouverture Panneau -> Fermeture (Croix ou clic extérieur).
Événements : CLICK_BILLETERIE.
Assets
- Musiques : Ambiance "Hall de Gare" (brouhaha léger).
- Sons :
ui_open.mp3 - Graphiques : Pixel Art, style guichet.
- Images :
billeterie_lvl[1-7].png - Vidéos : Flux vidéo surveillance (fictif, décoratif).
- Animations : Légère surbrillance au survol.
- Couleurs : Palette UI standard.
- Textes : "Billeterie", "Niveau X", "Revenus : Y".
- Formes : Carré (case).
Amélioration (Upgrade)
Description UX : Le joueur décide d'améliorer la billeterie pour augmenter la capacité et le prix du ticket.
Description UI : Bouton "Améliorer" dans le panneau de consultation, avec coût et prévisualisation des gains.
Emplacement : Panneau de consultation.
Intégration : Action immédiate si fonds suffisants.
Navigation : Clic "Améliorer" -> Confirmation (optionnelle) -> Mise à jour UI.
Événements : UPGRADE_BILLETERIE.
Assets
- Musiques : Fanfare courte "Level Up".
- Sons :
upgrade_success.mp3(caisse enregistreuse). - Graphiques : Icône flèche vers le haut.
- Images : Confettis (Sprite).
- Vidéos : Effet de lumière "Rayon divin".
- Animations : Particules de succès (confettis/étoiles) autour du bâtiment.
- Couleurs : Bouton Vert (si achetable), Gris (si fonds insuffisants).
- Textes : "Améliorer (X pièces)".
- Formes : Bouton rectangulaire arrondi.
Flux Visiteurs (Passif)
Description UX : Le joueur observe les visiteurs entrer dans le zoo.
Description UI : Petits sprites de visiteurs apparaissant à la porte et se dispersant.
Emplacement : Devant la billeterie.
Intégration : Animation continue pendant les heures d'ouverture.
Navigation : Automatique (Flux continu).
Événements : VISITOR_SPAWN.
Assets
- Musiques : Bruit de foule (loop).
- Sons :
visitor_entry.mp3(bruit de foule léger, pas à chaque spawn). - Graphiques : Sprites visiteurs variés.
- Images : Silhouettes de foule en arrière-plan.
- Vidéos : Effet de foule floue en mouvement.
- Animations : Marche (4 directions).
- Couleurs : Variées (vêtements).
- Textes : Bulles de discussion aléatoires.
- Formes : Points mouvants (sur la minimap).