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

100 lines
3.4 KiB
Markdown

# 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`.
```json
{
"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
```python
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.