**Motivations:** - Make docs/specs implementation-ready without empty sections or placeholders. **Root causes:** - Multiple specs still contained non-actionable placeholders (N/A, “see above”, "..."), and inconsistent “no cache” wording. **Correctifs:** - Replace placeholders with explicit tables, structures, and typed examples. - Align “no cache / no memorization” statements where relevant. **Evolutions:** - Add a features doc entry to track the documentation enrichment effort. **Pages affectées:** - docs/specs/* - docs/features/docs-specs-enrichment.md - docs/leo.md - docs/plan-enrich-docs-specs.md
187 lines
6.6 KiB
Markdown
187 lines
6.6 KiB
Markdown
# Spécifications : Carte du Monde
|
|
|
|
## Définition
|
|
La carte du monde est l'espace multijoueur où sont situés les zoos des joueurs, des bots, les villes et les laboratoires.
|
|
|
|
## Structure
|
|
- **Grille** : Fixe, avec des positions définies pour chaque entité.
|
|
- **Fond** : Reprend les biomes de la carte du zoo (Prairie/Océan/Montagne) en fond.
|
|
- **Zoom** : Niveau de zoom dépendant de l'upgrade "Agrandir la carte". Pas de pan manuel.
|
|
|
|
## Contenu Initial (Lancement)
|
|
- 1 Case Agrandissement de la carte (Payable en unités de recherche)
|
|
- 1 Compteur de bébés à vendre
|
|
- 1 Compteur d'animaux à vendre
|
|
- 1 Compteur de laboratoires
|
|
- 1 Compteur de zoos
|
|
- 1 Compteur de villes
|
|
- 1 Case Accueil nouveaux animaux (Haut gauche)
|
|
- 1 Case Nourriture générale (Haut gauche)
|
|
- 1 Case Camion (Haut gauche)
|
|
- 24 Cases de terrain (3 couleurs différentes)
|
|
|
|
## Entités Visibles
|
|
- **Zoos Joueurs** : Nom, icône, indicateurs.
|
|
- **Zoos Bots** : Identiques aux joueurs.
|
|
- **Villes** : Sources de visiteurs.
|
|
- **Laboratoires** : Sources d'œufs/bébés rares.
|
|
- **Camions** : En transit entre les entités.
|
|
|
|
## Mécaniques
|
|
- **Navigation** : Vue d'ensemble du marché.
|
|
- **Interactions** : Achat d'œufs/animaux via le camion.
|
|
|
|
# Annexes Techniques
|
|
|
|
## 1. Données et États
|
|
### Modèle de Données (JSON)
|
|
```json
|
|
{
|
|
"id": "world_map",
|
|
"width": "integer (très grand)",
|
|
"height": "integer",
|
|
"sites": [ { "id": "uuid", "type": "zoo|city|lab", "pos": { "x": "int", "y": "int" } } ],
|
|
"trucks": [ { "id": "uuid", "owner_id": "uuid", "pos": { "x": "float", "y": "float" }, "target": "uuid" } ],
|
|
"iso_x": "integer",
|
|
"iso_y": "integer",
|
|
"z_index": "integer"
|
|
}
|
|
```
|
|
|
|
### Caractéristiques Initiales
|
|
| Caractéristique | Valeur Initiale |
|
|
| :--- | :--- |
|
|
| Rayon Visible | 500km (simulé) |
|
|
| Nb Villes | 10 (dans rayon départ) |
|
|
| Nb Labos | 2 (dans rayon départ) |
|
|
|
|
### Scores Initiaux
|
|
**Score Exploration** : 0% (Carte dévoilée).
|
|
|
|
## 2. Cycles de Vie et Apparition
|
|
### Conditions d'Apparition
|
|
Unique (Singleton serveur).
|
|
|
|
### Conditions de Disparition
|
|
Jamais.
|
|
|
|
### Hérédité
|
|
**Cartographie** : Les zones découvertes restent visibles après un reset (Connaissance acquise).
|
|
|
|
## 3. Impacts Environnementaux
|
|
### Impact Température
|
|
**Météo Globale** : Nuages, Pluie ou Neige visibles sur la carte (Effet visuel + Gameplay).
|
|
|
|
### Impact Milieu (Biome)
|
|
**Diversité** : Les biomes influencent le type de zoo bot (ex: Zoo Polaire au Nord, Zoo Tropical à l'Équateur).
|
|
|
|
### Impact Saisons
|
|
**Visuel** : La carte change de teinte (Blanc en Hiver, Orange en Automne, Vert vif au Printemps).
|
|
|
|
### Impact Heure / Jour-Nuit
|
|
**Cycle Jour/Nuit** : Assombrissement global. Les villes et zoos s'allument (Pixel Art lumineux).
|
|
|
|
## 4. Impacts Biologiques et Sociaux
|
|
### Impact Reproduction
|
|
**Migration** : En saison des amours, des troupeaux sauvages (décoratifs) migrent sur la carte.
|
|
|
|
### Impact Mort
|
|
**Cimetière des Éléphants** : Lieu légendaire caché (Easter Egg) donnant un bonus si découvert.
|
|
|
|
### Impact Nourriture
|
|
**Ressources** : Les villes produisent de la nourriture (Champs autour des villes).
|
|
|
|
### Impact Attractivité (Visiteurs/Animaux)
|
|
**Rayonnement** : Un zoo très attractif (> 10k visiteurs) émet un halo doré visible de loin.
|
|
|
|
### Impact Valeur
|
|
**Économie** : Les prix du marché fluctuent selon l'offre globale (Loi de l'offre et la demande simulée).
|
|
|
|
## 5. Impacts Logistiques et Économiques
|
|
### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)
|
|
**Voyage Rapide** : Coût en pièces pour téléportation instantanée (si module "Héliport" débloqué).
|
|
|
|
### Dépenses (Boutiques/Visiteurs)
|
|
**Péages** : Taxe de passage sur certaines routes commerciales (1% valeur cargaison).
|
|
|
|
### Trajet Visiteurs
|
|
Calcul des distances Ville -> Zoo pour l'attractivité. Les visiteurs prennent le chemin le plus court.
|
|
|
|
## 6. Événements
|
|
### Événements du Jeu / Carte / Zoo / Ville / Visiteur
|
|
* **Spawn Bot** : Apparition nouveau zoo bot.
|
|
* **Spawn Truck** : Camion visible.
|
|
* **Embouteillage** : Ralentissement sur les routes principales.
|
|
|
|
## 7. Progression
|
|
### Tableau des Upgrades
|
|
Voir `agrandissement_carte.md`.
|
|
|
|
## 8. Logique et Interfaces
|
|
### Pseudo-code Impacts
|
|
```javascript
|
|
function updateWorldMap(map, deltaTime):
|
|
for truck in map.trucks:
|
|
moveTruck(truck, deltaTime)
|
|
if hasArrived(truck):
|
|
processTransaction(truck)
|
|
|
|
updateWeather(map)
|
|
updateDayNightCycle(map)
|
|
```
|
|
|
|
### Messages d'Infos / Alerte
|
|
| ID | Niveau | Message |
|
|
| :--- | :--- | :--- |
|
|
| `MAP_EVENT` | Info | "Un événement météo touche la région Nord." |
|
|
|
|
# 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)
|
|
### Vue Globale (Passif)
|
|
**Description UX** : Le joueur voit les autres acteurs et les flux économiques.
|
|
**Description UI** : Carte style "Google Maps" simplifiée ou grille hexagonale. Icônes (Maisons, Gratte-ciels, Fioles). **Flux** : Petites particules (voitures/points) voyageant entre les villes et les zoos attractifs.
|
|
**Emplacement** : Écran Carte Monde.
|
|
**Intégration** : Plein écran.
|
|
**Navigation** : Bouton Retour Zoo.
|
|
**Événements** : `OPEN_WORLD_MAP`.
|
|
|
|
#### Assets
|
|
- **Musiques** : Thème Aventure/Voyage.
|
|
- **Sons** : Vent, Bruit lointain trafic.
|
|
- **Graphiques** : Fond carte (Biomes flous).
|
|
- **Images** : Icônes Sites.
|
|
- **Vidéos** : Nuages dynamiques (shader).
|
|
- **Animations** : Camions qui bougent.
|
|
- **Couleurs** : Desaturées (pour faire ressortir les icônes).
|
|
- **Textes** : Noms des villes/zoos.
|
|
- **Formes** : Pins/Marqueurs.
|
|
|
|
### Brouillard de Guerre (Passif)
|
|
**Description UX** : Les zones inexplorées sont cachées.
|
|
**Description UI** : Nuages ou zone sombre en périphérie.
|
|
**Emplacement** : Bords Carte.
|
|
**Intégration** : Mask.
|
|
**Navigation** : Zoom-out via upgrade carte ; au clic sur une zone masquée, afficher un tooltip “Zone non explorée”.
|
|
**Événements** : `FOG_HOVER`, `FOG_CLICK_BLOCKED`
|
|
|
|
#### Assets
|
|
- **Musiques** : `ambience_fog_soft.mp3` (optionnel, très discret).
|
|
- **Sons** : `fog_whoosh.mp3` (au reveal), `ui_denied.mp3` (clic zone bloquée).
|
|
- **Graphiques** : Texture Nuages.
|
|
- **Images** : Masque alpha (bords flous).
|
|
- **Vidéos** : Effet de brume (particules).
|
|
- **Animations** : Nuages qui dérivent lentement.
|
|
- **Couleurs** : Blanc/Gris.
|
|
- **Textes** : "Zone Inexplorée".
|
|
- **Formes** : Zone non cliquable.
|