**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/*
129 lines
3.7 KiB
Markdown
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.
|