Files
builazoo/docs/specs/carte_generique.md
Nicolas Cantu f0219559c5 Standardisation exhaustive des spécifications techniques
**Motivations:**
- Harmoniser la documentation technique pour faciliter le développement.
- Garantir l'exhaustivité des données de Game Design pour chaque entité.

**Root causes:**
- Documentation hétérogène et incomplète.

**Correctifs:**
- N/A

**Evolutions:**
- Réécriture complète de 53 fichiers de spécifications selon un modèle strict.
- Ajout de données de Game Design (prix, durées, impacts) pour combler les manques.
- Ajout systématique des annexes UX/UI.

**Pages affectées:**
- docs/specs/*
2026-03-04 18:07:31 +01:00

129 lines
3.7 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" } ]
]
}
```
### 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
## 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.