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 s’affiche 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)
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
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).
Définition
| Champ |
Valeur |
| Concept |
Site “Ville” : nœud de la carte monde générant un potentiel de visiteurs et un budget moyen (wealth_factor). |
| Rôle |
Alimenter le flux ville→zoo (choix par attractivité/distance) et porter des événements (festivals, grèves) modifiant la demande. |
| Portée |
Une entité fixe sur carte monde, référencée par les calculs d’attractivité. |
| Contrainte |
Flux calculé à la volée (pas de cache/mémorisation) ; aucun mécanisme d’analytics ; événements doivent être explicités via events/messages. |
Fonctions (tableau détaillé)
| Fonction |
Déclencheur |
Entrées |
Sorties |
Règles |
Observabilité |
| Calculer flux vers un zoo |
tick / ouverture carte |
population, wealth_factor, distance, attractivité zoo |
baseFlow |
formule (Pop \cdot A / d^2) + mods heure/event |
Event CITY_FLOW_DISPATCHED |
| Déclencher événement ville |
calendrier/saison |
type event |
mod flux/budget |
durée bornée |
Event CITY_EVENT |
| Vendre nourriture (marché) |
interaction (feature) |
stock, price |
items |
pricing selon wealth |
Event CITY_MARKET_OPENED |
| Marquer jumelage |
relation max |
city_id |
bonus permanent |
+5% flux vers zoo jumelé |
Event CITY_TWINNED |
Icone de base
| Élément |
Spécification |
| Représentation |
Skyline (petite/moyenne/grande) |
| Couleur dominante |
Gris/bleu + lumières jaunes |
| Variantes |
city_small.png, city_medium.png, city_large.png |
| États |
jour (clair), nuit (lumières), event (feux d’artifice) |
Interactions (tableau détaillé)
| Interaction |
Type |
Préconditions |
Étapes UI |
Résultat |
Erreurs / Messages |
| Ouvrir ville |
Consultation |
ville visible |
clic marker |
panneau |
ZONE_NOT_EXPLORED |
| Voir flux |
Consultation |
zoo sélectionné |
onglet flux |
valeurs |
- |
| Lancer campagne (feature) |
Action |
coins ok |
bouton campagne |
flux + |
NOT_ENOUGH_COINS |
Annexes Techniques
1. Données et États (tableau détaillé)
| Donnée / État |
Type |
Exemple |
Source |
Contraintes |
id |
uuid_v4 |
uuid_v4 |
DB |
- |
type |
string |
city |
DB |
constant |
name |
string |
Rivemont |
DB |
- |
population |
int |
250000 |
DB |
>0 |
wealth_factor |
float |
1.2 |
DB |
0.5..2.0 |
events.active_event |
enum | null |
NATIONAL_HOLIDAY |
DB |
null si none |
events.ends_at |
timestamp | null |
- |
DB |
UTC |
iso_x |
int |
120 |
calcul |
rendu |
iso_y |
int |
88 |
calcul |
rendu |
z_index |
int |
12088 |
calcul |
profondeur |
Caractéristiques Initiales (tableau détaillé)
| Caractéristique |
Valeur initiale |
Unité |
Notes |
| Bonheur ville |
50 |
% |
influe fréquence |
| Îlot chaleur |
+2 |
°C |
vs campagne |
Scores Initiaux (tableau détaillé)
| Score |
Valeur initiale |
Plage |
Impact |
| Relation |
0 |
0..100 |
jumelage |
| Flux envoyé |
0 |
0..∞ |
suivi in-game |
2. Cycles de Vie et Apparition (tableau détaillé)
| Phase |
Déclencheur |
Entrées |
Sorties |
Invariants |
| Génération |
seed monde |
biome |
ville |
fixe |
| Événement |
calendrier |
type |
mods |
durée |
Conditions d'Apparition (tableau détaillé)
| Condition |
Seuil |
Opérateur |
Résultat |
| Génération carte |
true |
est |
ville créée |
Conditions de Disparition (tableau détaillé)
| Condition |
Seuil |
Opérateur |
Résultat |
| Désastre rare |
true |
est |
ville détruite (event) |
Hérédité (tableau détaillé)
| Élément |
Hérité |
Règle |
| Jumelage |
Oui |
bonus permanent |
| Événements |
Non |
expirent |
3. Impacts Environnementaux
Impact Température (tableau détaillé)
| Condition |
Effet |
Notes |
| îlot chaleur |
+2°C |
constant |
Impact Milieu (Biome) (tableau détaillé)
| Biome |
Effet |
Notes |
| toundra |
architecture igloos |
visuel |
Impact Saisons (tableau détaillé)
| Saison |
Effet |
Notes |
| hiver |
marché Noël |
flux + |
Impact Heure / Jour-Nuit (tableau détaillé)
| Période |
Effet |
Notes |
| nuit |
lumières |
pollution lumineuse |
4. Impacts Biologiques et Sociaux
Impact Reproduction (tableau détaillé)
| Facteur |
Effet sur taux |
Condition |
| baby boom |
pop + |
1 semaine in-game |
Impact Mort (tableau détaillé)
| Cas |
Effet |
Condition |
| épidémie |
pop - |
temporaire |
Impact Nourriture (tableau détaillé)
| Ressource |
Effet |
Condition |
| marché |
stock joueur + |
achats |
Impact Attractivité(Visiteurs (tableau détaillé)
| Action/État |
Gain |
Rayon |
Notes |
| richesse |
budget ↑ |
monde |
VIP |
Impact Attractivité Animaux) (tableau détaillé)
| Action/État |
Effet animaux |
Condition |
| - |
neutre |
- |
Impact Valeur (tableau détaillé)
| Facteur |
Variation |
Condition |
| PIB |
dépense moyenne ± |
wealth_factor |
5. Impacts Logistiques et Économiques
Vitesse (Camion) (tableau détaillé)
| Paramètre |
Effet |
Condition |
| trafic pointe |
vitesse - |
8-9h, 17-18h |
Vitesse (Nurserie) (tableau détaillé)
| Paramètre |
Effet |
Condition |
| - |
neutre |
- |
Vitesse (Accueil) (tableau détaillé)
| Paramètre |
Effet |
Condition |
| - |
neutre |
- |
Vitesse (Recherche) (tableau détaillé)
| Paramètre |
Effet |
Condition |
| campagne marketing |
flux + |
achat |
Vitesse (Labo) (tableau détaillé)
| Paramètre |
Effet |
Condition |
| conférence science |
affluence + |
event |
Vitesse (Visite) (tableau détaillé)
| Paramètre |
Effet |
Condition |
| distance |
flux (\downarrow) |
d^2 |
Dépenses (Billeterie) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| campagne 1 |
500 |
coins |
panneaux |
Dépenses (Boutiques) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| - |
1 |
coins |
lore |
Dépenses (Visiteurs) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| budget visiteurs |
wealth_factor × |
$ |
ville |
Dépenses (Employés) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| - |
1 |
coins |
lore |
Dépenses (Boutiques) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| section dupliquée |
1 |
coins |
conservée |
Dépenses (Nurseries) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| - |
1 |
coins |
lore |
Dépenses (Nourriture) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| marchés |
variable |
coins |
achats |
Dépenses (Acceuil des animaux) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| - |
1 |
coins |
lore |
Dépenses (Camion) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| parking (lore) |
5 |
$ |
voiture |
Trajet Visiteurs
Trajet Visiteurs vers/depuis la ville (tableau détaillé)
| Source |
Destination |
Déclencheur |
Effet |
| Ville |
Zoo |
flux |
entrée billeterie |
Trajet Visiteurs vers/depuis les animaux (tableau détaillé)
| Source |
Destination |
Déclencheur |
Effet |
| Zoo |
Enclos |
visite |
satisfaction |
Trajet Visiteurs vers/depuis les boutiques (tableau détaillé)
| Source |
Destination |
Déclencheur |
Effet |
| Zoo |
Boutiques |
besoins |
dépenses |
Trajet Visiteurs vers/depuis la billeterie (entrées/sorties du zoo) (tableau détaillé)
| Source |
Destination |
Déclencheur |
Effet |
| Zoo |
Ville |
sortie |
despawn |
6. Événements
Événements du Jeu (tableau détaillé)
| Event |
Déclencheur |
Payload |
Effet |
CITY_EVENT |
calendrier |
type |
flux mod |
CITY_TWINNED |
relation 100 |
city_id |
bonus + |
Événements du Carte (tableau détaillé)
| Event |
Déclencheur |
Effet |
MAP_ZOOM |
zoom |
taille icône |
Événements du Zoo (tableau détaillé)
| Event |
Déclencheur |
Effet |
CITY_FLOW_DISPATCHED |
calcul |
spawn potentiels |
Événements du Ville / Visiteur (tableau détaillé)
| Event |
Déclencheur |
Effet |
NATIONAL_HOLIDAY |
event |
flux x2 |
Événements du Visiteur (tableau détaillé)
| Event |
Déclencheur |
Effet |
VISITOR_SPAWNS_FROM_CITY |
flux |
origine |
Événements du Joueur (tableau détaillé)
| Event |
Déclencheur |
Effet |
PLAYER_STARTS_CITY_CAMPAIGN |
action |
flux + |
7. Progression
Tableau des Upgrades (tableau détaillé)
| Niveau |
Coût |
Effet |
Débloque |
| 2 |
1500 |
flux +10% |
radio |
| 3 |
5000 |
flux +20% |
TV |
8. Logique et Interfaces
Pseudo-code Impacts (tableau détaillé)
| Fonction |
Entrées |
Sorties |
Notes |
calculateVisitorFlow |
city, zoo |
float |
distance |
isPeakHour |
now |
bool |
trafic |
Messages d'Infos / Alerte (tableau détaillé)
| ID |
Niveau |
Message |
Condition |
CITY_EVENT |
Info |
"C'est la fête à {city}." |
event |
CITY_STRIKE |
Warning |
"Grève : flux réduit." |
event |
Annexes UX/UI
1. Expérience Utilisateur (UX)
Description UX (tableau détaillé)
| Parcours |
But |
Friction |
Réduction clics |
| Identifier ville |
choisir cible |
densité |
taille icône + tooltip |
| Comprendre flux |
arbitrer |
maths |
panneau simple “flux” |
Description UI (tableau détaillé)
| Composant |
Contenu |
États |
| Marker ville |
sprite skyline |
petit/moyen/grand |
| Cercle influence |
rayon |
visible |
| Tooltip |
nom + pop |
hover |
Emplacement (tableau détaillé)
| Zone UI |
Position |
Notes |
| Carte monde |
sites |
iso |
Intégration (tableau détaillé)
| Intégration |
Contrat |
Notes |
carte_monde.md |
usage |
map |
billeterie.md |
entrées |
spawn |
Navigation (tableau détaillé)
| Action |
Chemin |
Résultat |
| Ouvrir ville |
clic marker |
panneau |
Événements (tableau détaillé)
| Event UI |
Déclencheur |
Effet |
MAP_ZOOM |
zoom |
scale |
Assets Skinables
Musiques (tableau détaillé)
| Asset |
Usage |
Durée |
Notes |
city_ambience_loop.mp3 |
proximité ville |
loop |
discret |
Sons (tableau détaillé)
| Asset |
Usage |
Volume |
traffic_far.mp3 |
ville |
bas |
Graphiques (tableau détaillé)
| Asset |
Usage |
Contraintes |
city_skyline_set.png |
sprites |
4 dirs |
Images (tableau détaillé)
| Asset |
Usage |
city_influence_ring.png |
cercle |
Vidéos (tableau détaillé)
| Asset |
Usage |
Durée |
city_lights_night.webm |
nuit |
2.0s |
Animations (tableau détaillé)
| Animation |
Déclencheur |
Notes |
| fumée |
idle |
loop |
Couleurs (tableau détaillé)
| Token |
Valeur |
Usage |
city_gray |
#546E7A |
bâtiments |
city_light_yellow |
#FFEE58 |
fenêtres |
Textes (tableau détaillé)
| Clé |
FR |
EN |
city.population |
Population |
Population |
city.wealth |
Richesse |
Wealth |
Formes (tableau détaillé)
| Élément |
Forme |
Notes |
| Cercle influence |
cercle |
zone |