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

16 KiB
Raw Permalink Blame History

Spécifications : Carte (Générique)

Définition

Une carte est une grille de cases représentant un espace de jeu ou de navigation.

Propriétés

  • Dimensions : Largeur et hauteur définies en nombre de cases.
  • Biomes : Les cases ont une couleur de fond représentant leur biome (milieu).
  • Quadrillage : Les cases sont disposées en grille orthogonale.
  • Cohérence : Les transitions de couleurs (milieux) et de températures doivent être douces entre les cases adjacentes.

Types de cartes

  • Carte du Zoo (Espace de gestion du joueur)
  • Carte du Monde (Espace de navigation multijoueur)

Annexes Techniques

1. Données et États

Modèle de Données (JSON)

{
  "id": "uuid",
  "type": "enum ('zoo', 'world')",
  "width": "integer",
  "height": "integer",
  "grid": [
    [ { "case_ref": "case_id" } ]
  ],
  "iso_x": "integer",
  "iso_y": "integer",
  "z_index": "integer"
}

Caractéristiques Initiales

Taille : Définie à la création.

Scores Initiaux

Densité : 0% occupée.

2. Cycles de Vie et Apparition

Conditions d'Apparition

Création à l'initialisation du jeu/compte.

Conditions de Disparition

Suppression du compte.

Hérédité

Configuration : La disposition des biomes peut être conservée ou régénérée.

3. Impacts Environnementaux

Impact Température

Globale : La carte porte la météo globale qui affecte toutes les cases.

Impact Milieu (Biome)

Distribution : La carte gère la répartition des biomes (Génération procédurale ou fixe).

Impact Saisons

Cycle : La carte orchestre le changement de saison pour toutes les entités.

Impact Heure / Jour-Nuit

Cycle : La carte gère l'horloge mondiale.

4. Impacts Biologiques et Sociaux

Impact Reproduction

Population : La carte suit le nombre total d'animaux pour les limites globales.

Impact Mort

Cimetière : La carte peut garder une trace des morts (statistiques).

Impact Nourriture

Ressources : La carte gère les stocks globaux si centralisés.

Impact Attractivité (Visiteurs/Animaux)

Score Global : Somme des attractivités locales.

Impact Valeur

Valorisation : Valeur totale du terrain.

5. Impacts Logistiques et Économiques

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

Temps : La carte gère le deltaTime global.

Dépenses (Boutiques/Visiteurs)

Économie : La carte centralise les flux financiers (optionnel).

Trajet Visiteurs

Réseau : La carte définit le graphe de navigation global.

6. Événements

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

  • Tick : Mise à jour périodique de toutes les entités.

7. Progression

Tableau des Upgrades

Voir agrandissement_carte.md.

8. Logique et Interfaces

Pseudo-code Impacts

function updateMap(map):
  foreach entity in map.entities:
    entity.update()

Messages d'Infos / Alerte

ID Niveau Message
MAP_LOADED Info "Carte chargée avec succès."

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)

Navigation (Action)

Description UX : Le joueur explore la carte. Description UI : Drag & Drop (Pan) pour se déplacer. Zoom In/Out (Molette/Pinch). Emplacement : Vue Principale. Intégration : Plein écran. Navigation : Pan/Zoom. Événements : MAP_MOVE, MAP_ZOOM.

Assets

  • Musiques : Ambiance calme (Zoo) / Aventure (Monde).
  • Sons : Vent léger.
  • Graphiques : Grille (Grid lines) subtile.
  • Images : Fond d'écran (Skybox).
  • Vidéos : Nuages qui passent (Overlay).
  • Animations : Inertie du mouvement.
  • Couleurs : Fond neutre hors carte.
  • Textes : Coordonnées (Debug).
  • Formes : Rectangulaire.

Définition

Champ Valeur
Concept Abstraction “carte” : structure de grille + règles de navigation + horloge, déclinée en carte zoo et carte monde.
Rôle Offrir un contrat commun de coordonnées, rendu isométrique, événements de déplacement/zoom, et cycle temps (jour/nuit, saisons).
Portée Base pour carte_zoo.md et carte_monde.md, et pour les types case_*.
Contrainte Aucun cache/mémorisation obligatoire : la carte fournit des fonctions de calcul à la volée (variants, z_index, routes).

Fonctions (tableau détaillé)

Fonction Déclencheur Entrées Sorties Règles Observabilité
Initialiser carte création type, seed grid dimensions fixées Event MAP_INIT
Résoudre case lookup x,y case unicité coord Event MAP_CASE_RESOLVED
Convertir coord → iso rendu x,y iso_x/iso_y formule iso stable Event MAP_COORD_CONVERTED
Calculer z_index rendu x,y int priorité y puis x Event MAP_ZINDEX_COMPUTED
Déclencher tick loop deltaTime events mise à jour entités Event MAP_TICK
Déplacement caméra input pan/zoom camera state clamp Event MAP_MOVE / MAP_ZOOM

Icone de base

Élément Spécification
Représentation Grille + boussole
Couleur dominante Neutre
Variantes icon_map_generic.png, icon_compass.png
États normal, loading, locked

Interactions (tableau détaillé)

Interaction Type Préconditions Étapes UI Résultat Erreurs / Messages
Pan Navigation carte autorise pan drag caméra bouge -
Zoom Navigation - pinch/wheel caméra zoom -
Sélection case Consultation case interactive clic panneau CASE_LOCKED

Personnage contextuel (événements & interaction)

Les cartes peuvent afficher un personnage contextuel quand un module de carte est actionné ou lorsquun événement impacte la navigation.

Références

  • Carte du zoo : avatar du joueur actif comme contexte principal (avatar_joueur.md), plus visiteurs/staff selon événements (carte_zoo.md).
  • Carte du monde : maire pour les événements de ville (maire.md, ville.md), joueurs/bots pour les interactions sociales (joueur.md, bot.md), visiteurs comme flux (visiteur.md).

Déclencheurs (génériques)

Event / Action Condition Effet UI personnage
MAP_LOADED carte prête portrait/mascotte de contexte (selon type)
MAP_MOVE / MAP_ZOOM navigation feedback passif (pas de spam)
CASE_LOCKED gating message explicite (raison + action)

Skins & thèmes

Le personnage contextuel suit theme.md. Les portraits/mini-avatars peuvent utiliser les skins via inventaire_skins.md si la mécanique est activée.

Annexes Techniques

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

Donnée / État Type Exemple Source Contraintes
id uuid_v4 uuid_v4 DB unique
type enum zoo DB zoo/world
width int 6 DB >0
height int 5 DB >0
grid[x][y].case_ref uuid_v4 uuid_v4 DB référence
time.day_phase enum day calcul jour/nuit
time.season enum spring calcul saisons
iso_x int 0 calcul origine
iso_y int 0 calcul origine

Caractéristiques Initiales (tableau détaillé)

Caractéristique Valeur initiale Unité Notes
Densité occupée 0 % init
DeltaTime 1 tick logique

Scores Initiaux (tableau détaillé)

Score Valeur initiale Plage Impact
Exploration 0 0..100 carte monde
Aménagement 0 0..100 carte zoo

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

Phase Déclencheur Entrées Sorties Invariants
Création init jeu seed carte stable
Utilisation session input camera clamp
Destruction suppression compte - supprimée -

Conditions d'Apparition (tableau détaillé)

Condition Seuil Opérateur Résultat
Initialisation true est carte créée

Conditions de Disparition (tableau détaillé)

Condition Seuil Opérateur Résultat
Compte supprimé true est carte supprimée

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

Élément Hérité Règle
Configuration seed Oui rejouable
Variants render Non recalcul

3. Impacts Environnementaux

Impact Température (tableau détaillé)

Condition Effet carte Notes
Météo globale mod cases propagée

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

Biome Effet carte Notes
Répartition gen/procédural cohérence

Impact Saisons (tableau détaillé)

Saison Effet carte Notes
Cycle mod visuel global

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

Période Effet carte Notes
Nuit assombrissement global

4. Impacts Biologiques et Sociaux

Impact Reproduction (tableau détaillé)

Facteur Effet sur taux Condition
Population globale caps simulation

Impact Mort (tableau détaillé)

Cas Effet Condition
Traces journal option

Impact Nourriture (tableau détaillé)

Ressource Effet Condition
Stocks centralisation option

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

Action/État Gain Rayon Notes
Score global agrégation monde carte monde

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

Action/État Effet animaux Condition
- neutre base

Impact Valeur (tableau détaillé)

Facteur Variation Condition
Terrain + cases

5. Impacts Logistiques et Économiques

Vitesse (Camion) (tableau détaillé)

Paramètre Effet Condition
deltaTime avance mission tick

Vitesse (Nurserie) (tableau détaillé)

Paramètre Effet Condition
timers progress tick

Vitesse (Accueil) (tableau détaillé)

Paramètre Effet Condition
timers progress tick

Vitesse (Recherche) (tableau détaillé)

Paramètre Effet Condition
projets durations tick

Vitesse (Labo) (tableau détaillé)

Paramètre Effet Condition
refresh offres 24h tick

Vitesse (Visite) (tableau détaillé)

Paramètre Effet Condition
pathfinding recalcul obstacles

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

Poste Coût Unité Condition
Affichage UI 1 coins lore

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
- 1 coins lore

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
- 1 coins lore

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
- 1 coins lore

Trajet Visiteurs

Trajet Visiteurs vers/depuis la ville (tableau détaillé)
Source Destination Déclencheur Effet
Ville Zoo attractivité flux
Trajet Visiteurs vers/depuis les animaux (tableau détaillé)
Source Destination Déclencheur Effet
Entré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
Zoo Sortie fermeture despawn

6. Événements

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

Event Déclencheur Payload Effet
MAP_TICK loop dt update
MAP_LOADED init type ready

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

Event Déclencheur Effet
MAP_MOVE input camera

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

Event Déclencheur Effet
MAP_INIT create grid

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

Event Déclencheur Effet
MAP_ZOOM input camera

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

Event Déclencheur Effet
MAP_CASE_RESOLVED lookup case

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

Event Déclencheur Effet
MAP_COORD_CONVERTED render iso

7. Progression

Tableau des Upgrades (tableau détaillé)

Niveau Coût Effet Débloque
1 100 zoom + map

8. Logique et Interfaces

Pseudo-code Impacts (tableau détaillé)

Fonction Entrées Sorties Notes
updateMap map, dt map tick
toIso x,y iso projection

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

ID Niveau Message Condition
MAP_LOADED Info "Carte chargée." init
CASE_LOCKED Warning "Zone verrouillée." gating

Annexes UX/UI

1. Expérience Utilisateur (UX)

Description UX (tableau détaillé)

Parcours But Friction Réduction clics
Explorer comprendre espace navigation pan/zoom
Centrer retrouver point perte bouton recentrer

Description UI (tableau détaillé)

Composant Contenu États
HUD carte boutons visible
Tooltip coord/site hover

Emplacement (tableau détaillé)

Zone UI Position Notes
Plein écran centre carte

Intégration (tableau détaillé)

Intégration Contrat Notes
carte_zoo.md usage build
carte_monde.md usage navigation

Navigation (tableau détaillé)

Action Chemin Résultat
Pan drag move
Zoom pinch scale

Événements (tableau détaillé)

Event UI Déclencheur Effet
MAP_MOVE drag camera
MAP_ZOOM pinch camera

Assets Skinables

Musiques (tableau détaillé)
Asset Usage Durée Notes
map_generic_loop.mp3 carte loop neutre
Sons (tableau détaillé)
Asset Usage Volume
hover_soft.mp3 hover bas
ui_zoom.mp3 zoom bas
Graphiques (tableau détaillé)
Asset Usage Contraintes
grid_lines.png overlay subtil
tooltip_bg.png tooltip lisible
Images (tableau détaillé)
Asset Usage
skybox.png fond
Vidéos (tableau détaillé)
Asset Usage Durée
clouds_overlay.webm fond loop
Animations (tableau détaillé)
Animation Déclencheur Notes
inertie pan move 0.2s
Couleurs (tableau détaillé)
Token Valeur Usage
map_bg #202020 hors carte
map_highlight #FFFFFF hover
Textes (tableau détaillé)
Clé FR EN
map.coords Coordonnées Coordinates
map.loaded Carte chargée Map loaded
Formes (tableau détaillé)
Élément Forme Notes
Tooltip rectangle arrondi lisible