Files
builazoo/docs/specs/agrandissement_carte.md
Nicolas Cantu e92c1355d0 Enrichissement exhaustif des specs : Vue Isométrique et Design
**Motivations:**
- Aligner toute la documentation technique avec la nouvelle direction artistique isométrique (Réf IMG_20260303_170253).
- Faciliter l'implémentation en ajoutant les contraintes techniques liées à la 2.5D (Z-index, Sprites 4 directions).

**Root causes:**
- Besoin de cohérence visuelle et technique sur l'ensemble du projet.

**Correctifs:**
- N/A

**Evolutions:**
- Ajout systématique de la section "Direction Artistique & Vue" dans `Annexes UX/UI` de tous les fichiers.
- Enrichissement des modèles JSON avec coordonnées isométriques (`iso_x`, `iso_y`, `z_index`).
- Précision des interactions (clic, survol) adaptées à la grille losange.
- Conservation stricte de la structure existante (aucun titre supprimé).

**Pages affectées:**
- docs/specs/*
2026-03-05 02:10:32 +01:00

3.4 KiB

Spécifications : Agrandissement de la Carte du Monde

Concept

La carte du monde est vaste, mais le joueur ne voit initialement qu'une petite zone autour de son zoo.

Mécanique

  • Coût : Ne se paie pas en pièces, mais en Unités de Recherche produites par les Centres de Recherche.
  • Palier : Chaque niveau d'agrandissement coûte plus cher.
  • Effet : Dézoome la carte / Débloque le brouillard de guerre, révélant de nouveaux zoos, villes et laboratoires plus lointains.
  • Intérêt : Accès à plus de marchés (achat/vente), plus de villes (visiteurs potentiels).

Annexes Techniques

1. Données et États

Modèle de Données (JSON)

Propriété view_radius sur Zoo ou Player.

{
  "player_id": "uuid",
  "world_map_state": {
    "view_radius_km": 100,
    "unlocked_zones": ["zone_0_0", "zone_0_1"],
    "fog_of_war_mask": "bitmask_string"
  }
}

Caractéristiques Initiales

Caractéristique Valeur Initiale
Rayon Vue 100 km

7. Progression

Tableau des Upgrades

Niveau Coût (Points Recherche) Rayon Vue
1 0 100 km
2 100 200 km
3 250 350 km
4 500 550 km
5 1000 800 km
6 2500 1200 km
7 5000 2000 km

8. Logique et Interfaces

Algorithme d'Exploration

def explore_world(player):
    next_level = get_next_exploration_level(player.exploration_level)
    cost = next_level.cost
    
    if player.research_points < cost:
        return error("NOT_ENOUGH_RP", "Points de recherche insuffisants.")
        
    player.research_points -= cost
    player.exploration_level += 1
    player.view_radius = next_level.radius
    
    # Révéler les POI dans le nouveau rayon
    new_pois = find_pois_in_radius(player.zoo_location, player.view_radius)
    notify_discovery(new_pois)
    
    return success("EXPLORATION_SUCCESS")

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)

Découverte (Passif/Action)

Description UX : En payant des points de recherche, le brouillard de guerre recule sur la carte du monde. Description UI : Animation de nuages qui s'écartent. De nouvelles icônes (Villes, Zoos) apparaissent. Emplacement : Carte Monde. Intégration : Vue globale. Navigation : Bouton "Explorer" (HUD) -> Animation. Événements : EXPLORE_WORLD.

Assets

  • Musiques : Jingle découverte (style Zelda/Civ).
  • Sons : wind_whoosh.mp3.
  • Graphiques : Nuages (Brouillard de guerre).
  • Images : Carte au trésor (Icône).
  • Vidéos : Effet de dissipation de brume.
  • Animations : Fade out des nuages. Scale up de la vue (Dezoom).
  • Couleurs : Blanc/Gris (Nuages).
  • Textes : "Nouvelle zone découverte !".
  • Formes : Cercle (Rayon de vue).

Vue Isométrique

  • Carte : La carte du monde peut être stylisée comme une carte papier posée sur une table, ou un globe holographique.
  • Bords : Les bords de la zone connue sont flous ou déchirés.