# Spécifications : Carte du Monde ## Définition La carte du monde est l'espace multijoueur où sont situés les zoos des joueurs, des bots, les villes et les laboratoires. ## Structure - **Grille** : Fixe, avec des positions définies pour chaque entité. - **Fond** : Reprend les biomes de la carte du zoo (Prairie/Océan/Montagne) en fond. - **Zoom** : Niveau de zoom dépendant de l'upgrade "Agrandir la carte". Pas de pan manuel. ## Contenu Initial (Lancement) - 1 Case Agrandissement de la carte (Payable en unités de recherche) - 1 Compteur de bébés à vendre - 1 Compteur d'animaux à vendre - 1 Compteur de laboratoires - 1 Compteur de zoos - 1 Compteur de villes - 1 Case Accueil nouveaux animaux (Haut gauche) - 1 Case Nourriture générale (Haut gauche) - 1 Case Camion (Haut gauche) - 24 Cases de terrain (3 couleurs différentes) ## Entités Visibles - **Zoos Joueurs** : Nom, icône, indicateurs. - **Zoos Bots** : Identiques aux joueurs. - **Villes** : Sources de visiteurs. - **Laboratoires** : Sources d'œufs/bébés rares. - **Camions** : En transit entre les entités. ## Mécaniques - **Navigation** : Vue d'ensemble du marché. - **Interactions** : Achat d'œufs/animaux via le camion. # Annexes Techniques ## 1. Données et États ### Modèle de Données (JSON) ```json { "id": "world_map", "width": "integer (très grand)", "height": "integer", "sites": [ { "id": "uuid", "type": "zoo|city|lab", "pos": { "x": "int", "y": "int" } } ], "trucks": [ { "id": "uuid", "owner_id": "uuid", "pos": { "x": "float", "y": "float" }, "target": "uuid" } ], "iso_x": "integer", "iso_y": "integer", "z_index": "integer" } ``` ### Caractéristiques Initiales | Caractéristique | Valeur Initiale | | :--- | :--- | | Rayon Visible | 500km (simulé) | | Nb Villes | 10 (dans rayon départ) | | Nb Labos | 2 (dans rayon départ) | ### Scores Initiaux **Score Exploration** : 0% (Carte dévoilée). ## 2. Cycles de Vie et Apparition ### Conditions d'Apparition Unique (Singleton serveur). ### Conditions de Disparition Jamais. ### Hérédité **Cartographie** : Les zones découvertes restent visibles après un reset (Connaissance acquise). ## 3. Impacts Environnementaux ### Impact Température **Météo Globale** : Nuages, Pluie ou Neige visibles sur la carte (Effet visuel + Gameplay). ### Impact Milieu (Biome) **Diversité** : Les biomes influencent le type de zoo bot (ex: Zoo Polaire au Nord, Zoo Tropical à l'Équateur). ### Impact Saisons **Visuel** : La carte change de teinte (Blanc en Hiver, Orange en Automne, Vert vif au Printemps). ### Impact Heure / Jour-Nuit **Cycle Jour/Nuit** : Assombrissement global. Les villes et zoos s'allument (Pixel Art lumineux). ## 4. Impacts Biologiques et Sociaux ### Impact Reproduction **Migration** : En saison des amours, des troupeaux sauvages (décoratifs) migrent sur la carte. ### Impact Mort **Cimetière des Éléphants** : Lieu légendaire caché (Easter Egg) donnant un bonus si découvert. ### Impact Nourriture **Ressources** : Les villes produisent de la nourriture (Champs autour des villes). ### Impact Attractivité (Visiteurs/Animaux) **Rayonnement** : Un zoo très attractif (> 10k visiteurs) émet un halo doré visible de loin. ### Impact Valeur **Économie** : Les prix du marché fluctuent selon l'offre globale (Loi de l'offre et la demande simulée). ## 5. Impacts Logistiques et Économiques ### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite) **Voyage Rapide** : Coût en pièces pour téléportation instantanée (si module "Héliport" débloqué). ### Dépenses (Boutiques/Visiteurs) **Péages** : Taxe de passage sur certaines routes commerciales (1% valeur cargaison). ### Trajet Visiteurs Calcul des distances Ville -> Zoo pour l'attractivité. Les visiteurs prennent le chemin le plus court. ## 6. Événements ### Événements du Jeu / Carte / Zoo / Ville / Visiteur * **Spawn Bot** : Apparition nouveau zoo bot. * **Spawn Truck** : Camion visible. * **Embouteillage** : Ralentissement sur les routes principales. ## 7. Progression ### Tableau des Upgrades Voir `agrandissement_carte.md`. ## 8. Logique et Interfaces ### Pseudo-code Impacts ```javascript function updateWorldMap(map, deltaTime): for truck in map.trucks: moveTruck(truck, deltaTime) if hasArrived(truck): processTransaction(truck) updateWeather(map) updateDayNightCycle(map) ``` ### Messages d'Infos / Alerte | ID | Niveau | Message | | :--- | :--- | :--- | | `MAP_EVENT` | Info | "Un événement météo touche la région Nord." | # 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) ### Vue Globale (Passif) **Description UX** : Le joueur voit les autres acteurs et les flux économiques. **Description UI** : Carte style "Google Maps" simplifiée ou grille hexagonale. Icônes (Maisons, Gratte-ciels, Fioles). **Flux** : Petites particules (voitures/points) voyageant entre les villes et les zoos attractifs. **Emplacement** : Écran Carte Monde. **Intégration** : Plein écran. **Navigation** : Bouton Retour Zoo. **Événements** : `OPEN_WORLD_MAP`. #### Assets - **Musiques** : Thème Aventure/Voyage. - **Sons** : Vent, Bruit lointain trafic. - **Graphiques** : Fond carte (Biomes flous). - **Images** : Icônes Sites. - **Vidéos** : Nuages dynamiques (shader). - **Animations** : Camions qui bougent. - **Couleurs** : Desaturées (pour faire ressortir les icônes). - **Textes** : Noms des villes/zoos. - **Formes** : Pins/Marqueurs. ### Brouillard de Guerre (Passif) **Description UX** : Les zones inexplorées sont cachées. **Description UI** : Nuages ou zone sombre en périphérie. **Emplacement** : Bords Carte. **Intégration** : Mask. **Navigation** : Zoom-out via upgrade carte ; au clic sur une zone masquée, afficher un tooltip “Zone non explorée”. **Événements** : `FOG_HOVER`, `FOG_CLICK_BLOCKED` #### Assets - **Musiques** : `ambience_fog_soft.mp3` (optionnel, très discret). - **Sons** : `fog_whoosh.mp3` (au reveal), `ui_denied.mp3` (clic zone bloquée). - **Graphiques** : Texture Nuages. - **Images** : Masque alpha (bords flous). - **Vidéos** : Effet de brume (particules). - **Animations** : Nuages qui dérivent lentement. - **Couleurs** : Blanc/Gris. - **Textes** : "Zone Inexplorée". - **Formes** : Zone non cliquable.