Files
builazoo/docs/specs/carte_generique.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

141 lines
4.1 KiB
Markdown

# 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)
```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
```javascript
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.