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

16 KiB
Raw Permalink Blame History

Spécifications : Chemin

Définition

Les chemins sont des cases aménagées permettant aux visiteurs et au staff de se déplacer efficacement à travers le zoo. Ils connectent les différentes infrastructures (Enclos, Boutiques, Services).

Fonctions

  • Circulation : Permet le déplacement des entités (Visiteurs, Staff).
  • Connexion : Relie les bâtiments entre eux pour former un réseau accessible.
  • Esthétique : Améliore l'aspect visuel du zoo.

Annexes Techniques

1. Données et États

Modèle de Données (JSON)

{
  "type": "path",
  "material": "gravel",
  "x": 10,
  "y": 12,
  "connected_neighbors": ["N", "S", "E"],
  "iso_x": "integer",
  "iso_y": "integer",
  "z_index": "integer"
}

2. Règles Métier

  • Connexion Automatique : Les textures des chemins se connectent automatiquement aux chemins adjacents (Auto-tiling).
  • Vitesse : Bonus de vitesse de déplacement pour les entités sur les chemins.

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.

0. Direction Artistique & Vue

  • Vue : Isométrique (2.5D).
  • Grille : Les déplacements se font sur une grille losange.
  • Sprites : 4 directions (Nord-Est, Sud-Est, Sud-Ouest, Nord-Ouest).
  • Profondeur : Gestion du Z-index (les éléments "en bas" cachent ceux "en haut").
  • Style Visuel : Inspiré de IMG_20260303_170253.jpg.
    • Coloré, vivant, détails foisonnants.
    • Aspect "dessiné à la main" ou "cartoon soigné".
    • Couleurs vives et contours nets.

1. Détails Spécifiques

  • Textures Connectées : Les chemins utilisent des textures connectées (Terre, Gravier, Pavés) pour éviter les coupures nettes entre les cases.
  • Variété : Différents types de sols disponibles (Terre, Gravier, Pavés).

Définition

Champ Valeur
Concept Case “chemin” : tuile de circulation sur grille isométrique, auto-connectée (auto-tiling) pour former un réseau.
Rôle Supporter le pathfinding visiteurs/staff, améliorer la vitesse, et garantir la connectivité entre points dintérêt.
Portée Tuile placée sur case_zoo, utilisée par visiteur et employés.
Contrainte Pas de cache/mémorisation des routes : chemins calculés à la volée (A*/Dijkstra) ; pas de fallback silencieux si réseau cassé (message + log).

Fonctions (tableau détaillé)

Fonction Déclencheur Entrées Sorties Règles Observabilité
Placer chemin action build coord, material tuile chemin interdit sur case occupée Event PATH_PLACED
Supprimer chemin action delete coord tuile vide interdit si bloque sortie (option) Event PATH_REMOVED
Auto-tiling placement/suppression voisins N/E/S/W sprite variant recalcul local (voisinage) Event PATH_AUTOTILE_UPDATED
Bonus vitesse déplacement entité type entité speed multiplier appliqué uniquement sur chemin Event PATH_SPEED_APPLIED
Connectivité navigation graph chemins route route recalculée à la volée Event PATH_ROUTE_COMPUTED
Esthétique rendu material + neighbors sprite variations (terre/gravier/pavés) -

Icone de base

Élément Spécification
Représentation Icône pavés / empreintes
Couleur dominante Beige/gris selon matériau
Variantes icon_path_pavers.png, icon_path_footprints.png
États normal, hover, invalid (rouge)

Interactions (tableau détaillé)

Interaction Type Préconditions Étapes UI Résultat Erreurs / Messages
Construire chemin Action mode build sélectionner chemin → cliquer cases chemins posés CELL_OCCUPIED
Choisir matériau Action build dropdown material appliqué -
Supprimer Action mode delete clic chemin supprimé CANNOT_REMOVE_BLOCKING
Prévisualiser auto-tiling Consultation build survol ghost variant -

Personnage contextuel (événements & interaction)

Le module “Chemin” affiche prioritairement un visiteur (homme/femme) comme personnage contextuel (voir visiteur.md) afin de rendre visibles les conséquences de connectivité, de blocage et de flux.

Affichage

Le visiteur saffiche lorsque :

  • le module est actionné (entrée en mode build chemins, pose/suppression, sélection matériau) ;
  • un événement lié à la connectivité survient (route recalculée, blocage daccès, saturation locale).

Déclencheurs (exemples)

Event / Message Condition Effet UI personnage
ENTER_PATH_BUILD_MODE activation build portrait visiteur + rappel “connectivité”
CELL_OCCUPIED pose invalide bulle : cause (case occupée)
CANNOT_REMOVE_BLOCKING suppression bloquante bulle : cause (accès bloqué) + CTA annuler
PATH_ROUTE_COMPUTED route recalculée bulle : “Itinéraire mis à jour” (info)

Interactions utilisateur

  • Clic sur le personnage : ouvre le panneau “connectivité”/aide du mode chemin (si présent) ou met en surbrillance les zones impactées (entrée, POI).

Skins & thèmes

Le visiteur suit theme.md. Les variantes homme/femme sont des skins/variantes de visiteurs (voir visiteur.md + inventaire_skins.md si les visiteurs sont skinnables).

Annexes Techniques

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

Donnée / État Type Exemple Source Contraintes
type string path DB constant
material string gravel DB/config enum
grid.x int 10 DB coord
grid.y int 12 DB coord
connected_neighbors string[] ["N","S","E"] calcul à la volée
iso_x int 120 calcul/DB rendu
iso_y int 88 calcul/DB rendu
z_index int 12088 calcul profondeur

Caractéristiques Initiales (tableau détaillé)

Caractéristique Valeur initiale Unité Notes
Bonus vitesse visiteurs 1.15 coef sur chemin
Bonus vitesse staff 1.25 coef sur chemin
Coût pose 1 coins par tuile (exemple)

Scores Initiaux (tableau détaillé)

Score Valeur initiale Plage Impact
Connectivité 0 0..100 accessibilité
Chemins posés 0 0..∞ progression build

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

Phase Déclencheur Entrées Sorties Invariants
Apparition build coord path autotile local
Mise à jour voisin change voisins sprite cohérence
Disparition delete coord vide graph maj

Conditions d'Apparition (tableau détaillé)

Condition Seuil Opérateur Résultat
Achat/placement true est chemin créé

Conditions de Disparition (tableau détaillé)

Condition Seuil Opérateur Résultat
Suppression true est chemin retiré

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

Élément Hérité Règle
Matériau Oui persiste sur tuile
Connectivité Non recalcul à la volée

3. Impacts Environnementaux

Impact Température (tableau détaillé)

Condition Effet chemin Notes
Neige visuel + glissant léger option saisonnière

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

Biome Effet chemin Notes
Boue vitesse - si pas pavés material “terre”

Impact Saisons (tableau détaillé)

Saison Effet chemin Notes
Hiver variante sprite neige

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

Période Effet chemin Notes
Nuit éclairage lampadaires via objets

4. Impacts Biologiques et Sociaux

Impact Reproduction (tableau détaillé)

Facteur Effet sur taux Condition
- aucun -

Impact Mort (tableau détaillé)

Cas Effet Condition
Embouteillage risque incidents trop dense

Impact Nourriture (tableau détaillé)

Ressource Effet Condition
Accès boutiques consommation ↑ chemin connecte

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

Action/État Gain Rayon Notes
Chemins propres + zoo esthétique

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

Action/État Effet animaux Condition
Passage trop proche stress + enclos sans barrière

Impact Valeur (tableau détaillé)

Facteur Variation Condition
Pavés premium + cosmétique

5. Impacts Logistiques et Économiques

Vitesse (Camion) (tableau détaillé)

Paramètre Effet Condition
Itinéraire camion préfère chemins si autorisé

Vitesse (Nurserie) (tableau détaillé)

Paramètre Effet Condition
Accès nurserie temps staff - chemin connecté

Vitesse (Accueil) (tableau détaillé)

Paramètre Effet Condition
File visiteurs plus fluide chemin large

Vitesse (Recherche) (tableau détaillé)

Paramètre Effet Condition
Staff déplacement + chemin

Vitesse (Labo) (tableau détaillé)

Paramètre Effet Condition
- - -

Vitesse (Visite) (tableau détaillé)

Paramètre Effet Condition
Visiteurs vitesse + chemin

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

Poste Coût Unité Condition
- 0 - -

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

Poste Coût Unité Condition
Maintenance 1 coins / tuile / jour option

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

Poste Coût Unité Condition
- 0 - -

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

Poste Coût Unité Condition
Temps déplacement - min chemins

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

Poste Coût Unité Condition
Section dupliquée 0 - 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
- 0 - -

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 ouverture route
Trajet Visiteurs vers/depuis les animaux (tableau détaillé)
Source Destination Déclencheur Effet
Allée Enclos curiosité route
Trajet Visiteurs vers/depuis les boutiques (tableau détaillé)
Source Destination Déclencheur Effet
Enclos Boutique besoin route
Trajet Visiteurs vers/depuis la billeterie (entrées/sorties du zoo) (tableau détaillé)
Source Destination Déclencheur Effet
Billetterie Allées entrée flux

6. Événements

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

Event Déclencheur Payload Effet
PATH_PLACED build coord, material tuile
PATH_REMOVED delete coord tuile
PATH_AUTOTILE_UPDATED voisin coord sprite

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

Event Déclencheur Effet
- - -

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

Event Déclencheur Effet
PATH_ROUTE_COMPUTED visite route

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

Event Déclencheur Effet
- - -

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

Event Déclencheur Effet
VISITOR_MOVES tick speed bonus

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

Event Déclencheur Effet
PLAYER_BUILDS_PATH build réseau

7. Progression

Tableau des Upgrades (tableau détaillé)

Niveau Coût Effet Débloque
Terre 0 base -
Gravier 100 vitesse + matériau
Pavés 250 vitesse ++ matériau

8. Logique et Interfaces

Pseudo-code Impacts (tableau détaillé)

Fonction Entrées Sorties Notes
computeNeighborsMask grid, coord mask N/E/S/W
selectAutotileVariant material, mask sprite_id atlas
computeSpeedMultiplier entity, tile float sur chemin

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

ID Niveau Message Condition
CELL_OCCUPIED Warning "Case occupée." placement
CANNOT_REMOVE_BLOCKING Warning "Suppression impossible : bloque un accès." option

Annexes UX/UI

1. Expérience Utilisateur (UX)

Description UX (tableau détaillé)

Parcours But Friction Réduction clics
Tracer une allée connecter zones répétition drag paint “pinceau”
Changer matériau esthétique navigation quick switch

Description UI (tableau détaillé)

Composant Contenu États
Palette matériaux terre/gravier/pavés actif
Curseur pinceau taille 1..3 preview
Ghost tile variant valid/invalid

Emplacement (tableau détaillé)

Zone UI Position Notes
Mode build barre accès direct

Intégration (tableau détaillé)

Intégration Contrat Notes
visiteur.md pathfinding routes
zoo.md grille coords

Navigation (tableau détaillé)

Action Chemin Résultat
Construire build → chemin pinceau
Supprimer build → delete gomme

Événements (tableau détaillé)

Event UI Déclencheur Effet
ENTER_PATH_BUILD_MODE clic palette
PAINT_PATH drag pose

Assets Skinables

Musiques (tableau détaillé)
Asset Usage Durée Notes
build_mode_loop.mp3 build loop discret
Sons (tableau détaillé)
Asset Usage Volume
path_place.mp3 pose bas
path_remove.mp3 retrait bas
Graphiques (tableau détaillé)
Asset Usage Contraintes
path_autotile_atlas.png sprites atlas
path_preview_overlay.png ghost alpha
Images (tableau détaillé)
Asset Usage
path_material_icon_set.png palette
Vidéos (tableau détaillé)
Asset Usage Durée
path_paint.webm tuto 2.0s
Animations (tableau détaillé)
Animation Déclencheur Notes
sparkle pavés hover subtil
Couleurs (tableau détaillé)
Token Valeur Usage
path_beige #D7C7A4 terre
path_gray #9E9E9E pavés
Textes (tableau détaillé)
Clé FR EN
path.title Chemin Path
path.material Matériau Material
Formes (tableau détaillé)
Élément Forme Notes
Palette rectangles clairs