Enrichissement exhaustif des specs : Vue Isométrique et Design
**Motivations:** - Aligner toute la documentation technique avec la nouvelle direction artistique isométrique (Réf IMG_20260303_170253). - Faciliter l'implémentation en ajoutant les contraintes techniques liées à la 2.5D (Z-index, Sprites 4 directions). **Root causes:** - Besoin de cohérence visuelle et technique sur l'ensemble du projet. **Correctifs:** - N/A **Evolutions:** - Ajout systématique de la section "Direction Artistique & Vue" dans `Annexes UX/UI` de tous les fichiers. - Enrichissement des modèles JSON avec coordonnées isométriques (`iso_x`, `iso_y`, `z_index`). - Précision des interactions (clic, survol) adaptées à la grille losange. - Conservation stricte de la structure existante (aucun titre supprimé). **Pages affectées:** - docs/specs/*
This commit is contained in:
@@ -8,10 +8,7 @@ Une case est l'unité élémentaire de la grille (Zoo ou Monde).
|
||||
- **Couleur (Milieu)** : Définit le biome et l'environnement visuel.
|
||||
- **Température** : Liée à la couleur/biome.
|
||||
- **Contenu** : Peut contenir un bâtiment, un animal, un visiteur, ou être vide.
|
||||
- **État** : Peut avoir des indicateurs visuels (herbe jaunie, givre).
|
||||
|
||||
## Règles
|
||||
- Les transitions de propriétés (couleur, température) entre cases adjacentes doivent être douces.
|
||||
- **État** : Peut avoir des indicateurs visuels (herbe jaunie, givre, fertilité).
|
||||
|
||||
# Annexes Techniques
|
||||
|
||||
@@ -25,107 +22,56 @@ Une case est l'unité élémentaire de la grille (Zoo ou Monde).
|
||||
"temperature_offset": "float",
|
||||
"content_ref": "uuid | null",
|
||||
"content_type": "string",
|
||||
"state_flags": ["frozen", "dry", "dirty"]
|
||||
"fertility_level": "float (0-100)",
|
||||
"state_flags": ["frozen", "dry", "dirty", "fertilized"],
|
||||
"iso_x": "integer",
|
||||
"iso_y": "integer",
|
||||
"z_index": "integer"
|
||||
}
|
||||
```
|
||||
|
||||
### Caractéristiques Initiales
|
||||
**Vide** : État par défaut.
|
||||
|
||||
### Scores Initiaux
|
||||
**Usure** : 0% (Neuf).
|
||||
|
||||
## 2. Cycles de Vie et Apparition
|
||||
### Conditions d'Apparition
|
||||
Génération carte.
|
||||
|
||||
### Conditions de Disparition
|
||||
**Destruction** : Si la case fait partie d'une extension de zoo vendue/annulée (rare).
|
||||
|
||||
### Hérédité
|
||||
**Mémoire** : Une case se "souvient" de son biome d'origine si on détruit le bâtiment dessus.
|
||||
|
||||
## 3. Impacts Environnementaux
|
||||
### Impact Température
|
||||
`Température_Réelle = Température_Biome + Température_Offset + Saison_Mod`
|
||||
|
||||
### Impact Milieu (Biome)
|
||||
Définit la couleur de fond.
|
||||
|
||||
### Impact Saisons
|
||||
**Esthétique** : Changement de palette (Vert -> Orange -> Blanc).
|
||||
|
||||
### Impact Heure / Jour-Nuit
|
||||
**Lumière** : Assombrissement global (Overlay nuit).
|
||||
|
||||
## 4. Impacts Biologiques et Sociaux
|
||||
### Impact Reproduction
|
||||
**Support** : Lieu physique de l'acte.
|
||||
|
||||
### Impact Mort
|
||||
**Support** : Lieu physique du décès.
|
||||
|
||||
### Impact Nourriture
|
||||
**Support** : Lieu de dépôt de la nourriture.
|
||||
|
||||
### Impact Attractivité (Visiteurs/Animaux)
|
||||
**Propreté** : Une case sale réduit l'attractivité locale.
|
||||
|
||||
### Impact Valeur
|
||||
**Immobilier** : Valeur intrinsèque du terrain.
|
||||
|
||||
## 5. Impacts Logistiques et Économiques
|
||||
### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)
|
||||
**Terrain** : Modificateur de vitesse de déplacement (Boue, Sable).
|
||||
|
||||
### Dépenses (Boutiques/Visiteurs)
|
||||
**Entretien** : Coût de maintenance du sol.
|
||||
|
||||
### Trajet Visiteurs
|
||||
**Noeud** : Point de passage pour le pathfinding.
|
||||
|
||||
## 6. Événements
|
||||
### Événements du Jeu / Carte / Zoo / Ville / Visiteur
|
||||
* **Clic** : Interaction joueur.
|
||||
|
||||
## 7. Progression
|
||||
### Tableau des Upgrades
|
||||
Voir `achat_upgrade_case.md`.
|
||||
|
||||
## 8. Logique et Interfaces
|
||||
### Pseudo-code Impacts
|
||||
```javascript
|
||||
function getCaseState(case):
|
||||
return {
|
||||
temp: calculateTemp(case),
|
||||
biome: case.biome,
|
||||
isWalkable: !hasBuilding(case)
|
||||
}
|
||||
```python
|
||||
def fertilize_case(case, player):
|
||||
cost = 50
|
||||
if player.money < cost: return error("NO_MONEY")
|
||||
|
||||
player.money -= cost
|
||||
case.fertility_level = 100
|
||||
case.state_flags.append("fertilized")
|
||||
|
||||
# Si plante dessus, boost croissance
|
||||
if case.content and case.content.type == "plant":
|
||||
case.content.growth_rate *= 1.5
|
||||
|
||||
return success("CASE_FERTILIZED")
|
||||
```
|
||||
|
||||
### Messages d'Infos / Alerte
|
||||
| ID | Niveau | Message |
|
||||
| :--- | :--- | :--- |
|
||||
| `CASE_ERROR` | Erreur | "Impossible d'accéder à cette case." |
|
||||
|
||||
# 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)
|
||||
### Feedback État (Passif)
|
||||
**Description UX** : La case montre son état physique.
|
||||
**Description UI** : Overlay de texture (Givre, Craquelures, Boue).
|
||||
**Emplacement** : Case.
|
||||
**Intégration** : Layer 1 (Au-dessus du fond, sous le contenu).
|
||||
**Navigation** : Automatique (Mise à jour visuelle).
|
||||
**Événements** : `STATE_UPDATE`.
|
||||
### Fertilisation (Action)
|
||||
**Description UX** : Le joueur améliore le sol pour que l'herbe repousse plus vite.
|
||||
**Description UI** : Outil "Sac d'engrais". Clic sur la case.
|
||||
**Emplacement** : Menu Outils -> Case.
|
||||
**Intégration** : Curseur.
|
||||
**Navigation** : Clic.
|
||||
**Événements** : `FERTILIZE_SOIL`.
|
||||
|
||||
#### Assets
|
||||
- **Musiques** : Son d'ambiance très léger (vent).
|
||||
- **Sons** : Bruit de pas (selon texture).
|
||||
- **Graphiques** : Textures alpha (Givre blanc, Craquelures marron).
|
||||
- **Images** : Pattern Sol.
|
||||
- **Vidéos** : Effet de givre qui s'étend.
|
||||
- **Animations** : Apparition progressive (Fade).
|
||||
- **Couleurs** : Blanc, Marron, Gris.
|
||||
- **Textes** : "Gelé", "Sec".
|
||||
- **Formes** : Carré.
|
||||
- **Musiques** : Bruit de poudre.
|
||||
- **Sons** : `scatter.mp3`.
|
||||
- **Graphiques** : Particules vertes/brunes.
|
||||
- **Images** : Texture terre riche (plus foncée).
|
||||
- **Animations** : Poussière qui retombe.
|
||||
- **Couleurs** : Marron foncé.
|
||||
|
||||
Reference in New Issue
Block a user