**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
180 lines
5.3 KiB
Markdown
180 lines
5.3 KiB
Markdown
# Spécifications : Site (Générique)
|
||
|
||
## Définition
|
||
Un site est un lieu d'intérêt positionné sur la Carte du Monde.
|
||
|
||
## Types de sites
|
||
1. **Zoo** : Espace de gestion d'un joueur ou d'un bot.
|
||
2. **Ville** : Zone résidentielle générant des visiteurs.
|
||
3. **Laboratoire** : Lieu de production d'animaux spéciaux/rares.
|
||
|
||
## Propriétés Communes
|
||
- **Position** : Coordonnées fixes (x, y) sur la grille du monde.
|
||
- **Nom** : Identifiant unique ou généré.
|
||
- **Représentation** : Icône spécifique + Informations contextuelles (Offres, stats).
|
||
|
||
# Annexes Techniques
|
||
|
||
## 1. Données et États
|
||
### Modèle de Données (JSON)
|
||
```json
|
||
{
|
||
"id": "uuid",
|
||
"type": "enum",
|
||
"name": "string",
|
||
"position": { "x": "int", "y": "int" },
|
||
"iso_x": "integer",
|
||
"iso_y": "integer",
|
||
"z_index": "integer"
|
||
}
|
||
```
|
||
|
||
### Caractéristiques Initiales
|
||
| Caractéristique | Valeur Initiale | Type | Description |
|
||
|---|---:|---|---|
|
||
| Visibilité | 100 | 0-100 | Probabilité d’être visible/affichable selon fog-of-war et zoom. |
|
||
| Interactions activées | true | bool | Désactivable pour sites “décoratifs”. |
|
||
|
||
### Scores Initiaux
|
||
| Score | Valeur Initiale | Plage (Min-Max) | Impact |
|
||
|---|---:|---|---|
|
||
| Popularité | 0 | 0-100 | Pour ville : influence flux ; pour zoo : reflète attractivité. |
|
||
| Danger | 0 | 0-100 | Pour labos/événements : risque d’incident. |
|
||
|
||
## 2. Cycles de Vie et Apparition
|
||
### Conditions d'Apparition
|
||
Génération procédurale ou création joueur.
|
||
|
||
### Conditions de Disparition
|
||
| Condition | Seuil | Opérateur | Résultat |
|
||
|---|---:|---|---|
|
||
| Type “événement” | fin timer | >= | Site supprimé (si événement temporaire). |
|
||
|
||
### Hérédité
|
||
| Parent | Trait Transmis | Probabilité | Mutation Possible |
|
||
|---|---|---:|---|
|
||
| Monde | Découverte | 100% | Non |
|
||
|
||
## 3. Impacts Environnementaux
|
||
### Impact Température
|
||
| Condition | Effet |
|
||
|---|---|
|
||
| Tempête régionale | modifie les flux/visites | impact de contexte |
|
||
|
||
### Impact Milieu (Biome)
|
||
| Biome | Effet |
|
||
|---|---|
|
||
| Biome ville | type de visiteurs | modifie budget moyen |
|
||
|
||
### Impact Saisons
|
||
| Saison | Effet |
|
||
|---|---|
|
||
| Hiver | routes plus lentes | dist effective + |
|
||
|
||
### Impact Heure / Jour-Nuit
|
||
| Période | Effet |
|
||
|---|---|
|
||
| Nuit | lumières sites | rendu + |
|
||
|
||
## 4. Impacts Biologiques et Sociaux
|
||
### Impact Reproduction
|
||
| Facteur | Effet sur Taux | Condition |
|
||
|---|---|---|
|
||
| Labo événement | boost génétique | si lab actif |
|
||
|
||
### Impact Mort
|
||
| Cause | Conséquence | Durée |
|
||
|---|---|---|
|
||
| Catastrophe sur site | fermeture | 24h |
|
||
|
||
### Impact Nourriture
|
||
| Facteur | Variation | Condition |
|
||
|---|---|---|
|
||
| Ville agricole | stock nourriture + | économie |
|
||
|
||
### Impact Attractivité (Visiteurs/Animaux)
|
||
| Action/État | Gain Attractivité | Rayon d'action |
|
||
|---|---:|---:|
|
||
| Zoo halo | + | visibilité monde |
|
||
|
||
### Impact Valeur
|
||
| Facteur | Variation | Condition |
|
||
|---|---|---|
|
||
| Emplacement premium | + | proche villes |
|
||
|
||
## 5. Impacts Logistiques et Économiques
|
||
### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)
|
||
| Domaine | Paramètre | Valeur | Unité | Notes |
|
||
|---|---|---:|---|---|
|
||
| Survol/tooltip | délai | 200 | ms | évite popups instantanés |
|
||
|
||
### Dépenses (Boutiques/Visiteurs)
|
||
| Poste | Coût | Unité | Condition |
|
||
|---|---:|---|---|
|
||
| Taxe régionale | 1% | transaction | route commerciale |
|
||
|
||
### Trajet Visiteurs
|
||
| Trajet | Condition | Effet | Notes |
|
||
|---|---|---|---|
|
||
| Ville→Zoo | attraction | flux | cf. attractivité |
|
||
|
||
## 6. Événements
|
||
### Événements du Jeu / Carte / Zoo / Ville / Visiteur
|
||
| Event | Déclencheur | Effet | Durée |
|
||
|---|---|---|---|
|
||
| `SITE_HOVER` | survol | tooltip | tant que hover |
|
||
| `SITE_SELECTED` | clic | panneau détail | jusqu’à fermeture |
|
||
|
||
## 7. Progression
|
||
### Tableau des Upgrades
|
||
| Niveau | Coût | Prérequis | Bonus Débloqué |
|
||
|---|---:|---|---|
|
||
| 1 | 0 | - | Tooltips |
|
||
|
||
## 8. Logique et Interfaces
|
||
### Pseudo-code Impacts
|
||
```text
|
||
onHoverSite(site):
|
||
showTooltip(site.name, site.type, site.keyMetric)
|
||
|
||
onClickSite(site):
|
||
openDetailPanel(site)
|
||
```
|
||
|
||
### Messages d'Infos / Alerte
|
||
| Type | Message | Condition | Priorité |
|
||
|---|---|---|---:|
|
||
| Info | "Site sélectionné." | clic | 2 |
|
||
| Warn | "Site indisponible." | fermé/lock | 4 |
|
||
|
||
# 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)
|
||
### Info-bulle (Consultation)
|
||
**Description UX** : Survoler un site donne ses détails.
|
||
**Description UI** : Tooltip avec Nom, Type, et Info clé (ex: Population pour Ville, Offre pour Zoo).
|
||
**Emplacement** : Carte Monde.
|
||
**Intégration** : Tooltip souris / Tap hold mobile.
|
||
**Navigation** : Survol.
|
||
**Événements** : `HOVER_SITE`.
|
||
|
||
#### Assets
|
||
- **Musiques** : `ui_tooltip_soft.mp3` (jingle discret).
|
||
- **Sons** : `pop.mp3` léger.
|
||
- **Graphiques** : Fond noir semi-transparent.
|
||
- **Images** : `site_icon_zoo.png`, `site_icon_city.png`, `site_icon_lab.png`.
|
||
- **Vidéos** : `tooltip_fade.webm` (0.6s loop, optionnel).
|
||
- **Animations** : Fade in rapide.
|
||
- **Couleurs** : Blanc sur Noir.
|
||
- **Textes** : "Paris (1M hab.)".
|
||
- **Formes** : Rectangle arrondi.
|