554 lines
15 KiB
Markdown
554 lines
15 KiB
Markdown
# Spécifications : Case de Monde (Générique)
|
|
|
|
## Définition
|
|
Case spécifique à la grille du monde, servant de support aux sites et aux compteurs.
|
|
|
|
## Types de Contenu Possibles
|
|
- **Sites** : Zoo (Joueur/Bot), Ville, Laboratoire.
|
|
- **Compteurs** : Bébés à vendre, Animaux à vendre, Labos, Zoos, Villes.
|
|
- **Zones Fonctionnelles** : Agrandissement carte, Camion (zone de dépôt/vente).
|
|
|
|
## Propriétés Spécifiques
|
|
- **Fixité** : Le contenu des cases monde est généralement fixe (sites) ou fonctionnel (zones d'interface).
|
|
- **Navigation** : Les camions naviguent de case en case entre les sites.
|
|
|
|
# Annexes Techniques
|
|
|
|
## 1. Données et États
|
|
### Modèle de Données (JSON)
|
|
Hérite de `Case (Générique)`.
|
|
Pas de propriétés supplémentaires spécifiques.
|
|
|
|
### Caractéristiques Initiales
|
|
**Vide** : Par défaut, une case monde est du vide spatial (ou océan) sauf si un site est généré dessus.
|
|
|
|
### Scores Initiaux
|
|
**Trafic** : 0 camions passés.
|
|
|
|
## 2. Cycles de Vie et Apparition
|
|
### Conditions d'Apparition
|
|
Génération monde.
|
|
|
|
### Conditions de Disparition
|
|
**Jamais** : La grille est immuable.
|
|
|
|
### Hérédité
|
|
**Routes** : Les chemins empruntés fréquemment deviennent des "routes" visibles (bonus vitesse) au fil des resets.
|
|
|
|
## 3. Impacts Environnementaux
|
|
### Impact Température
|
|
**Météo Locale** : La case porte la météo de la région (Nuage, Pluie).
|
|
|
|
### Impact Milieu (Biome)
|
|
**Fond** : Définit le coût de traversée (Montagne > Plaine).
|
|
|
|
### Impact Saisons
|
|
**Visuel** : La case change de couleur selon la saison globale.
|
|
|
|
### Impact Heure / Jour-Nuit
|
|
**Luminosité** : S'assombrit la nuit.
|
|
|
|
## 4. Impacts Biologiques et Sociaux
|
|
### Impact Reproduction
|
|
**Faune locale** : Reproduction simulée en arrière-plan pour les animaux sauvages (décoratif).
|
|
|
|
### Impact Mort
|
|
**Cycle naturel** : Les animaux sauvages meurent et disparaissent.
|
|
|
|
### Impact Nourriture
|
|
**Ressources** : Certaines cases contiennent des buissons de baies.
|
|
|
|
### Impact Attractivité (Visiteurs/Animaux)
|
|
**Influence** : Si proche d'une ville, la case a une "Valeur de Passage" élevée.
|
|
|
|
### Impact Valeur
|
|
**Terrain** : Prix fictif au m² (pour le lore).
|
|
|
|
## 5. Impacts Logistiques et Économiques
|
|
### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)
|
|
**Frottement** : Ralentit les camions selon le biome (Sable = lent).
|
|
|
|
### Dépenses (Boutiques/Visiteurs)
|
|
**Péage** : Traverser certaines zones coûte des pièces.
|
|
|
|
### Trajet Visiteurs
|
|
**Flux** : Visualisation des flux migratoires.
|
|
|
|
## 6. Événements
|
|
### Événements du Jeu / Carte / Zoo / Ville / Visiteur
|
|
* **Météo** : Orage sur la case.
|
|
|
|
## 7. Progression
|
|
### Tableau des Upgrades
|
|
| Niveau | Coût | Effet |
|
|
| :--- | :--- | :--- |
|
|
| 1 | 1000 | Route pavée (Vitesse +10%) |
|
|
|
|
## 8. Logique et Interfaces
|
|
### Pseudo-code Impacts
|
|
```javascript
|
|
function getTravelCost(case):
|
|
return baseCost * biomeMultiplier
|
|
```
|
|
|
|
### Messages d'Infos / Alerte
|
|
| ID | Niveau | Message |
|
|
| :--- | :--- | :--- |
|
|
| `ZONE_DISCOVERED` | Info | "Nouvelle zone découverte !" |
|
|
|
|
# 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)
|
|
### Survol (Passif)
|
|
**Description UX** : Explorer la carte du monde.
|
|
**Description UI** : Curseur main. Tooltip au survol des sites.
|
|
**Emplacement** : Carte Monde.
|
|
**Intégration** : Standard.
|
|
**Navigation** : Mouse move.
|
|
**Événements** : `HOVER_WORLD_CASE`.
|
|
|
|
#### Assets
|
|
- **Musiques** : Thème "Exploration".
|
|
- **Sons** : `hover_soft.mp3`.
|
|
- **Graphiques** : Highlight case.
|
|
- **Images** : Texture Biome.
|
|
- **Vidéos** : Effet de brillance au survol.
|
|
- **Animations** : Légère surbrillance.
|
|
- **Couleurs** : Blanc (Alpha).
|
|
- **Textes** : Coordonnées X,Y.
|
|
- **Formes** : Carré/Hexagone.
|
|
|
|
## Définition
|
|
|
|
| Champ | Valeur |
|
|
|---|---|
|
|
| Concept | Case “monde” : tuile de la grille globale supportant sites fixes (zoo/ville/labo) et widgets fonctionnels (compteurs, upgrade carte). |
|
|
| Rôle | Assurer une base de navigation camion (node du graphe), afficher des informations au survol, et porter des modificateurs de traversée (biome). |
|
|
| Portée | Carte du monde, immuable structurellement (les cases persistent), contenu majoritairement fixe. |
|
|
| Contrainte | Routes et coûts de déplacement calculés à la volée (pas de cache/mémorisation) ; aucun péage/incidence silencieux (message + event). |
|
|
|
|
## Fonctions (tableau détaillé)
|
|
|
|
| Fonction | Déclencheur | Entrées | Sorties | Règles | Observabilité |
|
|
|---|---|---|---|---|---|
|
|
| Survol case monde | hover | x,y | tooltip | affiche coord + type | Event `HOVER_WORLD_CASE` |
|
|
| Résoudre contenu | rendu | case | marker | type site/compteur | Event `WORLD_CASE_RENDERED` |
|
|
| Calculer coût traversée | path camion | biome | cost | multiplicateur biome | Event `WORLD_TRAVEL_COST_COMPUTED` |
|
|
| Marquer route visible | trafic | count | route flag | si trafic > seuil | Event `WORLD_ROUTE_MARKED` |
|
|
|
|
## Icone de base
|
|
|
|
| Élément | Spécification |
|
|
|---|---|
|
|
| Représentation | Tuile + pin |
|
|
| Couleur dominante | selon biome |
|
|
| Variantes | `icon_world_tile.png`, `icon_world_pin.png` |
|
|
| États | normal, highlighted, route |
|
|
|
|
## Interactions (tableau détaillé)
|
|
|
|
| Interaction | Type | Préconditions | Étapes UI | Résultat | Erreurs / Messages |
|
|
|---|---|---|---|---|---|
|
|
| Hover | Consultation | - | survol | tooltip | - |
|
|
| Clic site | Navigation | case contient site | clic | ouvre panneau | `ZONE_NOT_EXPLORED` |
|
|
|
|
## Annexes Techniques
|
|
|
|
### 1. Données et États (tableau détaillé)
|
|
|
|
| Donnée / État | Type | Exemple | Source | Contraintes |
|
|
|---|---|---|---|---|
|
|
| `content.site_id` | uuid_v4 \| null | `uuid_v4` | DB | null si vide |
|
|
| `content.site_type` | enum \| null | `city` | DB | `zoo/city/lab` |
|
|
| `content.counter_type` | enum \| null | `animals_for_sale` | DB | compteur |
|
|
| `traffic.trucks_passed` | int | 0 | DB | cumul |
|
|
| `travel_cost_multiplier` | float | 1.0 | config | >=1.0 |
|
|
|
|
#### Caractéristiques Initiales (tableau détaillé)
|
|
|
|
| Caractéristique | Valeur initiale | Unité | Notes |
|
|
|---|---:|---|---|
|
|
| Trafic | 0 | count | init |
|
|
| Péage | 0 | % | par défaut |
|
|
|
|
#### Scores Initiaux (tableau détaillé)
|
|
|
|
| Score | Valeur initiale | Plage | Impact |
|
|
|---|---:|---|---|
|
|
| Valeur de passage | 0 | 0..100 | influence routes |
|
|
|
|
### 2. Cycles de Vie et Apparition (tableau détaillé)
|
|
|
|
| Phase | Déclencheur | Entrées | Sorties | Invariants |
|
|
|---|---|---|---|---|
|
|
| Génération | monde | seed | cases | immuables |
|
|
| Marquage routes | trafic | count | flag | observable |
|
|
|
|
#### Conditions d'Apparition (tableau détaillé)
|
|
|
|
| Condition | Seuil | Opérateur | Résultat |
|
|
|---|---:|---|---|
|
|
| Génération monde | true | est | case existe |
|
|
|
|
#### Conditions de Disparition (tableau détaillé)
|
|
|
|
| Condition | Seuil | Opérateur | Résultat |
|
|
|---|---:|---|---|
|
|
| - | - | - | jamais |
|
|
|
|
#### Hérédité (tableau détaillé)
|
|
|
|
| Élément | Hérité | Règle |
|
|
|---|---|---|
|
|
| Routes visibles | Oui | persist reset |
|
|
|
|
### 3. Impacts Environnementaux
|
|
|
|
#### Impact Température (tableau détaillé)
|
|
|
|
| Condition | Effet | Notes |
|
|
|---|---|---|
|
|
| Orage | vitesse camion - | météo |
|
|
|
|
#### Impact Milieu (Biome) (tableau détaillé)
|
|
|
|
| Biome | Effet | Notes |
|
|
|---|---|---|
|
|
| montagne | cost + | traversée |
|
|
|
|
#### Impact Saisons (tableau détaillé)
|
|
|
|
| Saison | Effet | Notes |
|
|
|---|---|---|
|
|
| hiver | neige | visuel |
|
|
|
|
#### Impact Heure / Jour-Nuit (tableau détaillé)
|
|
|
|
| Période | Effet | Notes |
|
|
|---|---|---|
|
|
| nuit | luminosité - | rendu |
|
|
|
|
### 4. Impacts Biologiques et Sociaux
|
|
|
|
#### Impact Reproduction (tableau détaillé)
|
|
|
|
| Facteur | Effet sur taux | Condition |
|
|
|---|---|---|
|
|
| faune décor | 0 | visuel |
|
|
|
|
#### Impact Mort (tableau détaillé)
|
|
|
|
| Cas | Effet | Condition |
|
|
|---|---|---|
|
|
| cycle naturel | 0 | décor |
|
|
|
|
#### Impact Nourriture (tableau détaillé)
|
|
|
|
| Ressource | Effet | Condition |
|
|
|---|---|---|
|
|
| baies | décor | région |
|
|
|
|
#### Impact Attractivité(Visiteurs (tableau détaillé)
|
|
|
|
| Action/État | Gain | Rayon | Notes |
|
|
|---|---:|---:|---|
|
|
| proche ville | valeur passage + | monde | trafic |
|
|
|
|
#### Impact Attractivité Animaux) (tableau détaillé)
|
|
|
|
| Action/État | Effet animaux | Condition |
|
|
|---|---|---|
|
|
| - | neutre | - |
|
|
|
|
#### Impact Valeur (tableau détaillé)
|
|
|
|
| Facteur | Variation | Condition |
|
|
|---|---:|---|
|
|
| lore terrain | + | descriptif |
|
|
|
|
### 5. Impacts Logistiques et Économiques
|
|
|
|
#### Vitesse (Camion) (tableau détaillé)
|
|
|
|
| Paramètre | Effet | Condition |
|
|
|---|---|---|
|
|
| frottement | vitesse - | sable |
|
|
|
|
#### Vitesse (Nurserie) (tableau détaillé)
|
|
|
|
| Paramètre | Effet | Condition |
|
|
|---|---|---|
|
|
| - | neutre | - |
|
|
|
|
#### Vitesse (Accueil) (tableau détaillé)
|
|
|
|
| Paramètre | Effet | Condition |
|
|
|---|---|---|
|
|
| - | neutre | - |
|
|
|
|
#### Vitesse (Recherche) (tableau détaillé)
|
|
|
|
| Paramètre | Effet | Condition |
|
|
|---|---|---|
|
|
| route pavée | +10% | upgrade |
|
|
|
|
#### Vitesse (Labo) (tableau détaillé)
|
|
|
|
| Paramètre | Effet | Condition |
|
|
|---|---|---|
|
|
| - | neutre | - |
|
|
|
|
#### Vitesse (Visite) (tableau détaillé)
|
|
|
|
| Paramètre | Effet | Condition |
|
|
|---|---|---|
|
|
| flux migratoire | visuel | overlay |
|
|
|
|
#### Dépenses (Billeterie) (tableau détaillé)
|
|
|
|
| Poste | Coût | Unité | Condition |
|
|
|---|---:|---|---|
|
|
| péage | 1 | % | zones |
|
|
|
|
#### Dépenses (Boutiques) (tableau détaillé)
|
|
|
|
| Poste | Coût | Unité | Condition |
|
|
|---|---:|---|---|
|
|
| - | 1 | coins | lore |
|
|
|
|
#### Dépenses (Visiteurs) (tableau détaillé)
|
|
|
|
| Poste | Coût | Unité | Condition |
|
|
|---|---:|---|---|
|
|
| - | 1 | coins | lore |
|
|
|
|
#### Dépenses (Employés) (tableau détaillé)
|
|
|
|
| Poste | Coût | Unité | Condition |
|
|
|---|---:|---|---|
|
|
| - | 1 | coins | lore |
|
|
|
|
#### Dépenses (Boutiques) (tableau détaillé)
|
|
|
|
| Poste | Coût | Unité | Condition |
|
|
|---|---:|---|---|
|
|
| section dupliquée | 1 | coins | conservée |
|
|
|
|
#### Dépenses (Nurseries) (tableau détaillé)
|
|
|
|
| Poste | Coût | Unité | Condition |
|
|
|---|---:|---|---|
|
|
| - | 1 | coins | lore |
|
|
|
|
#### Dépenses (Nourriture) (tableau détaillé)
|
|
|
|
| Poste | Coût | Unité | Condition |
|
|
|---|---:|---|---|
|
|
| - | 1 | coins | lore |
|
|
|
|
#### Dépenses (Acceuil des animaux) (tableau détaillé)
|
|
|
|
| Poste | Coût | Unité | Condition |
|
|
|---|---:|---|---|
|
|
| - | 1 | coins | lore |
|
|
|
|
#### Dépenses (Camion) (tableau détaillé)
|
|
|
|
| Poste | Coût | Unité | Condition |
|
|
|---|---:|---|---|
|
|
| usure | 1 | coins | lore |
|
|
|
|
#### Trajet Visiteurs
|
|
|
|
##### Trajet Visiteurs vers/depuis la ville (tableau détaillé)
|
|
|
|
| Source | Destination | Déclencheur | Effet |
|
|
|---|---|---|---|
|
|
| ville | zoo | attractivité | flux |
|
|
|
|
##### Trajet Visiteurs vers/depuis les animaux (tableau détaillé)
|
|
|
|
| Source | Destination | Déclencheur | Effet |
|
|
|---|---|---|---|
|
|
| zoo | animaux | visite | - |
|
|
|
|
##### Trajet Visiteurs vers/depuis les boutiques (tableau détaillé)
|
|
|
|
| Source | Destination | Déclencheur | Effet |
|
|
|---|---|---|---|
|
|
| zoo | boutiques | besoins | - |
|
|
|
|
##### Trajet Visiteurs vers/depuis la billeterie (entrées/sorties du zoo) (tableau détaillé)
|
|
|
|
| Source | Destination | Déclencheur | Effet |
|
|
|---|---|---|---|
|
|
| zoo | sortie | fin | - |
|
|
|
|
### 6. Événements
|
|
|
|
#### Événements du Jeu (tableau détaillé)
|
|
|
|
| Event | Déclencheur | Payload | Effet |
|
|
|---|---|---|---|
|
|
| `ZONE_DISCOVERED` | reveal | coord | visible |
|
|
| `WORLD_ROUTE_MARKED` | trafic | count | route |
|
|
|
|
#### Événements du Carte (tableau détaillé)
|
|
|
|
| Event | Déclencheur | Effet |
|
|
|---|---|---|
|
|
| `HOVER_WORLD_CASE` | hover | tooltip |
|
|
|
|
#### Événements du Zoo (tableau détaillé)
|
|
|
|
| Event | Déclencheur | Effet |
|
|
|---|---|---|
|
|
| `WORLD_CASE_RENDERED` | render | marker |
|
|
|
|
#### Événements du Ville / Visiteur (tableau détaillé)
|
|
|
|
| Event | Déclencheur | Effet |
|
|
|---|---|---|
|
|
| `WORLD_TRAVEL_COST_COMPUTED` | route | cost |
|
|
|
|
#### Événements du Visiteur (tableau détaillé)
|
|
|
|
| Event | Déclencheur | Effet |
|
|
|---|---|---|
|
|
| `ZONE_NOT_EXPLORED` | click | denied |
|
|
|
|
#### Événements du Joueur (tableau détaillé)
|
|
|
|
| Event | Déclencheur | Effet |
|
|
|---|---|---|
|
|
| `PLAYER_CLICKS_SITE` | click | open |
|
|
|
|
### 7. Progression
|
|
|
|
#### Tableau des Upgrades (tableau détaillé)
|
|
|
|
| Niveau | Coût | Effet | Débloque |
|
|
|---|---:|---|---|
|
|
| 1 | 1000 | route pavée +10% | speed |
|
|
|
|
### 8. Logique et Interfaces
|
|
|
|
#### Pseudo-code Impacts (tableau détaillé)
|
|
|
|
| Fonction | Entrées | Sorties | Notes |
|
|
|---|---|---|---|
|
|
| `getTravelCost` | case | float | multiplicateur |
|
|
|
|
#### Messages d'Infos / Alerte (tableau détaillé)
|
|
|
|
| ID | Niveau | Message | Condition |
|
|
|---|---|---|---|
|
|
| `ZONE_DISCOVERED` | Info | "Nouvelle zone découverte." | reveal |
|
|
| `ZONE_NOT_EXPLORED` | Warning | "Zone non explorée." | fog |
|
|
|
|
## Annexes UX/UI
|
|
|
|
### 1. Expérience Utilisateur (UX)
|
|
|
|
#### Description UX (tableau détaillé)
|
|
|
|
| Parcours | But | Friction | Réduction clics |
|
|
|---|---|---|---|
|
|
| Explorer | trouver sites | info | tooltip sur hover |
|
|
|
|
#### Description UI (tableau détaillé)
|
|
|
|
| Composant | Contenu | États |
|
|
|---|---|---|
|
|
| Highlight | outline | hover |
|
|
| Tooltip | coord/type | visible |
|
|
|
|
#### Emplacement (tableau détaillé)
|
|
|
|
| Zone UI | Position | Notes |
|
|
|---|---|---|
|
|
| Carte monde | cases | iso |
|
|
|
|
#### Intégration (tableau détaillé)
|
|
|
|
| Intégration | Contrat | Notes |
|
|
|---|---|---|
|
|
| `carte_monde.md` | usage | world |
|
|
|
|
#### Navigation (tableau détaillé)
|
|
|
|
| Action | Chemin | Résultat |
|
|
|---|---|---|
|
|
| Hover | souris | tooltip |
|
|
|
|
#### Événements (tableau détaillé)
|
|
|
|
| Event UI | Déclencheur | Effet |
|
|
|---|---|---|
|
|
| `HOVER_WORLD_CASE` | hover | tooltip |
|
|
|
|
#### Assets Skinables
|
|
|
|
##### Musiques (tableau détaillé)
|
|
|
|
| Asset | Usage | Durée | Notes |
|
|
|---|---|---:|---|
|
|
| `world_exploration_loop.mp3` | monde | loop | discret |
|
|
|
|
##### Sons (tableau détaillé)
|
|
|
|
| Asset | Usage | Volume |
|
|
|---|---|---|
|
|
| `hover_soft.mp3` | hover | bas |
|
|
|
|
##### Graphiques (tableau détaillé)
|
|
|
|
| Asset | Usage | Contraintes |
|
|
|---|---|---|
|
|
| `world_tile_highlight.png` | outline | alpha |
|
|
|
|
##### Images (tableau détaillé)
|
|
|
|
| Asset | Usage |
|
|
|---|---|
|
|
| `biome_texture.png` | fond |
|
|
|
|
##### Vidéos (tableau détaillé)
|
|
|
|
| Asset | Usage | Durée |
|
|
|---|---|---:|
|
|
| `shine_hover.webm` | hover | 0.6s |
|
|
|
|
##### Animations (tableau détaillé)
|
|
|
|
| Animation | Déclencheur | Notes |
|
|
|---|---|---|
|
|
| glow | hover | léger |
|
|
|
|
##### Couleurs (tableau détaillé)
|
|
|
|
| Token | Valeur | Usage |
|
|
|---|---|---|
|
|
| `hover_white` | #FFFFFF | outline |
|
|
|
|
##### Textes (tableau détaillé)
|
|
|
|
| Clé | FR | EN |
|
|
|---|---|---|
|
|
| `world.coords` | Coordonnées X,Y | Coordinates X,Y |
|
|
|
|
##### Formes (tableau détaillé)
|
|
|
|
| Élément | Forme | Notes |
|
|
|---|---|---|
|
|
| Tuile | losange | iso |
|