Files
builazoo/docs/specs/artiste.md
2026-03-05 03:39:33 +01:00

18 KiB
Raw Permalink Blame History

Artiste

1. Définition

Employé dédié au divertissement des visiteurs. Il réalise des spectacles de rue, joue de la musique ou peint, augmentant ainsi le bonheur des visiteurs et leur temps de séjour dans le zoo. Achetable avec des pièces.

2. Fonctions

  • Divertissement : Crée une zone d'attractivité temporaire autour de lui.
  • Bonheur : Augmente la jauge de bonheur des visiteurs à proximité.
  • Dons : Peut générer de petits revenus supplémentaires (pourboires).

3. Icone

  • Représentation : Masque de théâtre ou Notes de musique.
  • Couleur dominante : Rose et Violet.

4. Interactions

  • Recrutement : Menu "Employés", coût en pièces.
  • Placement : Peut être assigné à une "scène" ou un point de passage stratégique.
  • Performance : Le joueur peut déclencher un "Show Spécial" (cooldown) pour un gros boost.

5. Annexes Techniques

Données (JSON)

{
  "employee_id": "artist_03",
  "type": "artiste",
  "subtype": "musician", // "clown", "painter", "juggler"
  "name": "Melody",
  "salary": 45,
  "hire_cost": 450,
  "state": "enum (IDLE, PERFORMING, BREAK)",
  "performance_cooldown_end": "timestamp",
  "stats": {
    "charisma": 15,
    "radius": 3, // Rayon d'effet
    "tips_collected": 0
  },
  "iso_x": "integer",
  "iso_y": "integer",
  "z_index": "integer"
}

Règles Métier

  • L'efficacité diminue si l'artiste reste trop longtemps au même endroit (besoin de rotation ou de pause).
  • Attire les foules, ce qui peut créer des bouchons (à gérer avec les chemins).

Algorithme de Performance

def update_artist(artist, visitors_nearby):
    if artist.state == "PERFORMING":
        for visitor in visitors_nearby:
            visitor.happiness += artist.stats.charisma * 0.1
            visitor.stay_duration += 5 # minutes

            # Chance de pourboire
            if random() < 0.05:
                tip = random(1, 5)
                artist.tips_collected += tip
                add_coins(tip)

6. Annexes UX/UI

  • Visuel Carte : Personnage coloré, jonglant ou jouant d'un instrument.
  • Effet : Notes de musique ou étoiles flottant autour de lui.
  • Son : Musique d'ambiance locale quand on zoome dessus.
  • Vue Isométrique : Animation de jonglage ou de jeu d'instrument en boucle.

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.

Définition

Champ Valeur
Entité Employé “Artiste”
Rôle Divertir les visiteurs pour augmenter satisfaction, temps de séjour et micro-revenus (pourboires).
Position Se déplace sur chemins / points dintérêt (scène) avec un rayon deffet local.
Vue Isométrique 2.5D, sprite 4 directions, hitbox base-sprite.

Fonctions (tableau détaillé)

Fonction Déclencheur Entrées Sorties Règles Observabilité
Divertissement de zone Tick IA / début performance radius, visiteurs proches +happiness, +stay_duration Effet décroissant si performance continue sans pause ; nécessite cases walkable Event ARTIST_PERF_TICK, compteur visiteurs affectés
Show spécial Action joueur cooldown, coût optionnel Bonus temporaire fort Cooldown strict ; annule si artiste en pause forcée Event ARTIST_SPECIAL_SHOW_START/END
Pourboires Aléatoire pendant performance RNG, densité foule +coins Plafond par minute ; augmente avec charisma Event ARTIST_TIP, cumul tips_collected
Gestion fatigue Temps passé en perf durée état BREAK Pause obligatoire ; réduit efficacité avant pause Event ARTIST_BREAK_START/END

Icone de base

Élément Spécification
Représentation Masque de théâtre / notes de musique
Couleur dominante Rose / Violet
Variantes icon_artist_mask.png, icon_artist_music.png, icon_artist_paint.png
États Badge “cooldown” (horloge), “en pause” (Zzz)

Interactions (tableau détaillé)

Interaction Type Préconditions Étapes UI Résultat Erreurs / Messages
Recruter Action Coins ≥ hire_cost, slot employé dispo Menu Employés → Artiste → Confirmer Artiste créé/assignable INSUFFICIENT_FUNDS, EMPLOYEE_CAP_REACHED
Assigner à une scène Action Scène/POI existant, path possible Sélection artiste → “Assigner” → clic scène Itinéraire fixé + zone perf NO_PATH, SCENE_BUSY
Déplacer manuellement Action Pas en show spécial verrouillé Drag & drop / tap-to-move Nouvelle position, recalcul foule INVALID_TILE
Lancer show spécial Action Cooldown fini Bouton “Show spécial” Buff + FX + foule COOLDOWN_ACTIVE
Inspecter stats Consultation - Sélection artiste Panel stats (charisma, tips) -

Annexes Techniques

1. Données et États (tableau détaillé)

Donnée / État Type Exemple Source Contraintes
employee_id string artist_03 DB Unique
type enum artiste DB Constante
subtype enum `musician clown painter
salary int 45 config Paiement journalier
hire_cost int 450 config Paiement à lembauche
state enum `IDLE PERFORMING BREAK`
performance_cooldown_end timestamp - runtime Non nul après show
stats.charisma int 15 DB [1..100]
stats.radius int 3 DB [1..8]
stats.tips_collected int 0 runtime Cumul session/jour
grid object {x,y} runtime Coord grille
iso_x/iso_y int - rendu Proj iso
z_index int - rendu Tri profondeur
hitbox enum base_sprite rendu Click sur base

Caractéristiques Initiales (tableau détaillé)

Caractéristique Valeur initiale Unité Notes
Rayon effet 3 cases radius
Chance pourboire 5% / tick perf modulée par charisma
Bonus happiness +0.1 × charisma / tick clamp max par visiteur
Pause requise 10 min in-game après perf continue
Cooldown show spécial 30 min in-game après activation

Scores Initiaux (tableau détaillé)

Score Valeur initiale Plage Impact
Satisfaction locale 0 -100..+100 Sajoute au calcul visiteur
Densité foule 0 0..∞ Conditionne bouchons
Revenu tips/jour 0 0..∞ Finance zoo

2. Cycles de Vie et Apparition (tableau détaillé)

Phase Déclencheur Entrées Sorties Invariants
Apparition Embauche coins, config entité artiste créé en IDLE
Activité Tick position, visiteurs effets pas de perf si BREAK
Disparition Licenciement (si prévu) - suppression pas de suppression si en show (attendre fin)

Conditions d'Apparition (tableau détaillé)

Condition Seuil Opérateur Résultat
Achat employé coins ≥ hire_cost vrai création
Cap employé slots > employés actifs vrai autorisé

Conditions de Disparition (tableau détaillé)

Condition Seuil Opérateur Résultat
Licenciement action joueur vrai suppression + arrêt effets
Zoo supprimé - vrai suppression

Hérédité (tableau détaillé)

Élément Hérité Règle
subtype Oui reste identique
Stats (charisma/radius) Oui persistées
Tips collectés Non remis à 0 par jour

3. Impacts Environnementaux

Impact Température (tableau détaillé)

Température Effet sur artiste Effet sur visiteurs Condition
< 0°C perf -20% satisfaction - si pas dabris proches
1525°C neutre neutre -
> 35°C perf -10% (fatigue) incidents “soif” + canicule

Impact Milieu (Biome) (tableau détaillé)

Biome Effet Notes
Chemin pavé foule + visitors préfèrent rester sur chemins
Boue / marécage perf - gêne visuelle + saleté
Pont neutre éviter attroupement sur pont étroit

Impact Saisons (tableau détaillé)

Saison Effet Modificateur
Été demande shows + tips +10%
Hiver shows indoor perf -10% si extérieur

Impact Heure / Jour-Nuit (tableau détaillé)

Période Effet Règle
10h16h affluence max perf prioritaire
18h20h sortie visiteurs show spécial conseillé
Nuit zoo fermé artiste IDLE

4. Impacts Biologiques et Sociaux

Impact Reproduction (tableau détaillé)

Facteur Effet sur taux Condition
Foule bruyante -5% si densité > seuil près denclos
Show doux (musician) +2% si proche enclos et calme

Impact Mort (tableau détaillé)

Cas Effet Condition
Accident foule incident si bouchon + chemins étroits
Animal mort visible choc artiste stop perf, foule se disperse

Impact Nourriture (tableau détaillé)

Ressource Effet Condition
Boisson visiteur ventes + show près boutique boisson
Nourriture artiste coût si mécanique employé nourrit (option)

Impact Attractivité(Visiteurs (tableau détaillé)

Action/État Gain attractivité Rayon Notes
Performance active +5 3 cases cumul limité par zone
Show spécial +20 5 cases déclenche attroupement

Impact Attractivité Animaux) (tableau détaillé)

Action/État Effet animaux Condition
Bruit clown stress + espèces sensibles
Musique douce stress - espèces calmes

Impact Valeur (tableau détaillé)

Facteur Variation Condition
Tips collectés +coins par tick perf
Réputation zoo + si artistes actifs sans incidents

5. Impacts Logistiques et Économiques

Vitesse (Camion) (tableau détaillé)

Paramètre Effet Condition
Livraison employés neutre pas dimpact direct

Vitesse (Nurserie) (tableau détaillé)

Paramètre Effet Condition
- aucun artiste naffecte pas nurserie

Vitesse (Accueil) (tableau détaillé)

Paramètre Effet Condition
File entrée + lente foule show proche billeterie

Vitesse (Recherche) (tableau détaillé)

Paramètre Effet Condition
- aucun -

Vitesse (Labo) (tableau détaillé)

Paramètre Effet Condition
- aucun -

Vitesse (Visite) (tableau détaillé)

Paramètre Effet Condition
Temps de séjour + performance active
Déplacement - si attroupement crée bouchon

Dépenses (Billeterie) (tableau détaillé)

Poste Coût Unité Condition
Gestion file 0 - -

Dépenses (Boutiques) (tableau détaillé)

Poste Coût Unité Condition
Stock goodies show variable coins si boutique vend souvenirs

Dépenses (Visiteurs) (tableau détaillé)

Poste Coût Unité Condition
Pourboires +revenu (pas dépense) coins tips

Dépenses (Employés) (tableau détaillé)

Poste Coût Unité Condition
Salaire artiste salary coins/jour employé actif
Embauche hire_cost coins à lachat

Dépenses (Boutiques) (tableau détaillé)

Poste Coût Unité Condition
Cross-sell - - section dupliquée conservée

Dépenses (Nurseries) (tableau détaillé)

Poste Coût Unité Condition
- 0 - -

Dépenses (Nourriture) (tableau détaillé)

Poste Coût Unité Condition
Snacks show 10 coins option “stand temporaire”

Dépenses (Acceuil des animaux) (tableau détaillé)

Poste Coût Unité Condition
- 0 - -

Dépenses (Camion) (tableau détaillé)

Poste Coût Unité Condition
- 0 - -

Trajet Visiteurs

Trajet Visiteurs vers/depuis la ville (tableau détaillé)
Source Destination Déclencheur Effet
Ville Zoo réputation/attractivité lartiste naffecte pas le flux initial
Trajet Visiteurs vers/depuis les animaux (tableau détaillé)
Source Destination Déclencheur Effet
Show Enclos proche curiosité détour possible, congestion
Trajet Visiteurs vers/depuis les boutiques (tableau détaillé)
Source Destination Déclencheur Effet
Show Boutique soif/envie souvenir augmente dépenses
Trajet Visiteurs vers/depuis la billeterie (entrées/sorties du zoo) (tableau détaillé)
Source Destination Déclencheur Effet
Billeterie Show proche densité risque file lente

6. Événements

Événements du Jeu (tableau détaillé)

Event Déclencheur Payload Effet
EMPLOYEE_HIRED embauche type, id ajoute entité
EMPLOYEE_SALARY_PAID fin jour id, amount dépense

Événements du Carte (tableau détaillé)

Event Déclencheur Effet
CROWD_CONGESTION densité > seuil ralentit pathing local

Événements du Zoo (tableau détaillé)

Event Déclencheur Effet
ARTIST_SPECIAL_SHOW_START clic show buff + FX
ARTIST_BREAK_START fatigue stop perf

Événements du Ville / Visiteur (tableau détaillé)

Event Déclencheur Effet
VISITOR_DONATION tip coins +

Événements du Visiteur (tableau détaillé)

Event Déclencheur Effet
VISITOR_HAPPINESS_GAIN tick perf happiness +

Événements du Joueur (tableau détaillé)

Event Déclencheur Effet
PLAYER_TRIGGER_SHOW bouton démarre cooldown

7. Progression

Tableau des Upgrades (tableau détaillé)

Niveau Coût Effet Débloque
1 0 artiste basic subtype 1
2 1000 radius +1 meilleur crowd control
3 2500 tips +10% bonus revenu
4 5000 show spécial + FX + durée

8. Logique et Interfaces

Pseudo-code Impacts (tableau détaillé)

Fonction Entrées Sorties Notes
update_artist artiste, visiteurs proches happiness/tips cf. algo existant
trigger_special_show artiste buff cooldown

Messages d'Infos / Alerte (tableau détaillé)

ID Niveau Message Condition
ARTIST_ASSIGNED Info "Artiste assigné." assign ok
ARTIST_COOLDOWN Warning "Show spécial en recharge." cooldown actif
CROWD_BLOCKING Alerte "Bouchon détecté près du show." densité > seuil

Annexes UX/UI

1. Expérience Utilisateur (UX)

Description UX (tableau détaillé)

Parcours But Friction Réduction clics
Recruter artiste augmenter attractivité coûts/slots achat direct depuis panneau Employés
Lancer show booster momentané cooldown bouton direct sur panneau artiste

Description UI (tableau détaillé)

Composant Contenu États
Panneau employé salaire, rayon, subtype IDLE/PERF/BREAK
Bouton show spécial cooldown + tooltip enabled/disabled

Emplacement (tableau détaillé)

Zone UI Position Notes
HUD menu Employés accès rapide
Carte sprite artiste sélection base

Intégration (tableau détaillé)

Intégration Contrat Notes
Pathfinding visiteurs densité/obstacles éviter ponts étroits
Système incidents foule/bouchons événements dédiés

Navigation (tableau détaillé)

Action Chemin Résultat
Ouvrir panneau clic artiste panel visible
Recruter menu → confirmer entité créée

Événements (tableau détaillé)

Event UI Déclencheur Effet
OPEN_EMPLOYEE_PANEL clic artiste ouvre panel
CLICK_SPECIAL_SHOW clic bouton démarre show

Assets Skinables

Musiques (tableau détaillé)
Asset Usage Durée Notes
artist_theme_loop.mp3 zone perf loop mix selon subtype
Sons (tableau détaillé)
Asset Usage Volume
crowd_cheer.mp3 show spécial moyen
coin_tip.mp3 tip faible
Graphiques (tableau détaillé)
Asset Usage Contraintes
artist_sprite_[subtype]_[dir].png sprite 4 directions
fx_music_notes.png FX overlay
Images (tableau détaillé)
Asset Usage
portrait_artist.png panel
icon_artist_mask.png liste employés
Vidéos (tableau détaillé)
Asset Usage Durée
artist_special_show.webm popup show 1.2s
Animations (tableau détaillé)
Animation Déclencheur Notes
notes flottantes perf active cadence 1/s
confetti show spécial burst
Couleurs (tableau détaillé)
Token Valeur Usage
artist_primary #C86DD7 UI
artist_accent #FF77AA FX
Textes (tableau détaillé)
Clé FR EN
artist.hire Recruter Hire
artist.special_show Show spécial Special show
Formes (tableau détaillé)
Élément Forme Notes
Badge cooldown pill arrondi lisible
Zone radius cercle iso-projeté overlay