Files
builazoo/docs/specs/ville.md
2026-03-05 04:01:29 +01:00

5.5 KiB
Raw Blame History

Spécifications : Ville (Site)

Définition

Une ville est une entité sur la Carte du Monde qui génère le flux de visiteurs vers les zoos.

Propriétés

  • Nom : Nom de la ville.
  • Population : Nombre de visiteurs potentiels maximum.
  • Icône : 🏙️

Mécanique d'Attraction

  • Les visiteurs partent de la ville pour aller vers les zoos.
  • Facteur de Distance : Plus un zoo est proche d'une ville, plus il attire de visiteurs.
  • Facteur d'Attractivité : La valeur et la diversité du zoo influencent le choix des visiteurs.

Personnage contextuel (événements & interaction)

Voir maire.md.

Affichage

Le maire saffiche lorsque :

  • la ville est actionnée (sélection/clic ville, ouverture panneau ville) ;
  • un événement de ville survient (festival, grève, bonus économique, CITY_EVENT).

Déclencheurs (exemples)

Event Condition Effet UI personnage
sélection ville clic icône ville portrait + synthèse (population, richesse, flux)
CITY_EVENT événement actif bulle “Événement en cours” + impacts chiffrés

Skins & thèmes

Portrait et accessoires suivent theme.md ; variantes “ville” possibles via inventaire_skins.md.

Annexes Techniques

1. Données et États

Modèle de Données (JSON)

{
  "id": "uuid",
  "type": "city",
  "name": "string",
  "population": "integer",
  "wealth_factor": "float (0.5 - 2.0)",
  "iso_x": "integer",
  "iso_y": "integer",
  "z_index": "integer"
}

Caractéristiques Initiales

Caractéristique Valeur Moyenne
Population 10,000 - 1,000,000
Richesse 1.0

Scores Initiaux

Niveau de Bonheur : 50% (Influence la fréquence des visites).

2. Cycles de Vie et Apparition

Conditions d'Apparition

Génération carte.

Conditions de Disparition

Désastre : Ville détruite (Event rare "Météorite" ou "Crise Éco").

Hérédité

Jumelage : Bonus permanent de flux (+5%) si relation max atteinte avec une ville.

3. Impacts Environnementaux

Impact Température

Ilot de chaleur : La ville est toujours +2°C par rapport à la campagne environnante.

Impact Milieu (Biome)

Architecture : Adaptée au biome (Igloos en Toundra, Tentes en Désert, Gratte-ciels en Plaine).

Impact Saisons

Festivals : Event saisonnier en ville (+Visiteurs pendant 24h).

  • Été : Carnaval.
  • Hiver : Marché de Noël.

Impact Heure / Jour-Nuit

Lumières : La ville brille la nuit (Pollution lumineuse visible).

4. Impacts Biologiques et Sociaux

Impact Reproduction

Baby Boom : Augmente la population de la ville (+Flux) pendant 1 semaine.

Impact Mort

Épidémie : Baisse population temporaire (-Flux).

Impact Nourriture

Marché : La ville vend de la nourriture au joueur (Source d'approvisionnement).

Impact Attractivité (Visiteurs/Animaux)

Source du flux. Flux = Pop * (AttractivitéZoo / Distance²).

Impact Valeur

PIB : Influence le budget des visiteurs (Richesse). Une ville riche envoie des VIP.

5. Impacts Logistiques et Économiques

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

Trafic : Ralentit les camions traversant la ville aux heures de pointe (8h-9h, 17h-18h).

Dépenses (Boutiques/Visiteurs)

Facteur Richesse : Multiplie le budget des visiteurs issus de cette ville.

Trajet Visiteurs

Point de départ. Les visiteurs arrivent en bus/voiture depuis la ville.

6. Événements

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

  • Fête Nationale : Flux x2.
  • Grève : Flux / 2.

7. Progression

Tableau des Upgrades

Note : Campagnes Marketing ciblées.

Niveau Campagne Coût Effet
1 (Panneaux) 500 +5% Flux
2 (Radio) 1500 +10% Flux
3 (TV) 5000 +20% Flux

8. Logique et Interfaces

Pseudo-code Impacts

function calculateVisitorFlow(city, zoo):
  distance = getDistance(city, zoo)
  baseFlow = city.population * (zoo.attractiveness / (distance * distance))
  
  if isPeakHour(): baseFlow *= 1.5
  if city.hasEvent(): baseFlow *= 2.0
  
  return baseFlow

Messages d'Infos / Alerte

ID Niveau Message
CITY_EVENT Info "C'est la fête à [NomVille] ! Attendez-vous à du monde."

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)

Visualisation Taille (Passif)

Description UX : Distinguer les grandes villes des petites. Description UI : Taille de l'icône proportionnelle à la population. Gratte-ciels vs Maisons. Emplacement : Carte Monde. Intégration : Sprite. Navigation : Zoom sur la carte. Événements : MAP_ZOOM.

Assets

  • Musiques : Ambiance urbaine (klaxons lointains, vent).
  • Sons : Bruit de trafic faible.
  • Graphiques : Sprites Ville (Petit, Moyen, Grand).
  • Images : Silhouette Skyline.
  • Vidéos : Lumières des fenêtres qui s'allument la nuit (Pixel Art animé).
  • Animations : Fumée des cheminées.
  • Couleurs : Gris/Bleu.
  • Textes : Nom Ville.
  • Formes : Cercle d'influence (zone de chalandise).