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:
@@ -3,6 +3,7 @@
|
||||
## Construction
|
||||
- Sur une case vide de type "Terrain", le joueur peut acheter un bâtiment.
|
||||
- Le coût dépend du type de bâtiment.
|
||||
- **Pré-requis** : Certaines cases peuvent nécessiter un déblayage (rochers, arbres) avant construction.
|
||||
|
||||
## Types Constructibles
|
||||
- Nurserie
|
||||
@@ -10,12 +11,22 @@
|
||||
- (Les autres bâtiments comme Billeterie/Recherche sont souvent uniques et upgradables, mais on peut imaginer en construire d'autres si le design le permet).
|
||||
|
||||
## Upgrade de Case (Terrain)
|
||||
- **Changement de Milieu** : Payer pour changer la couleur (Biome) d'une case.
|
||||
- **Changement de Température** : Payer pour installer un régulateur thermique sur une case.
|
||||
- **Changement de Milieu (Terraforming)** : Payer pour changer la couleur (Biome) d'une case.
|
||||
- **Changement de Température** : Payer pour installer un régulateur thermique sur une case (invisible ou petit objet technique).
|
||||
|
||||
# Annexes Techniques
|
||||
|
||||
## 1. Données et États
|
||||
### Modèle de Données (Modification Case)
|
||||
```json
|
||||
{
|
||||
"tile_id": "x_y_coords",
|
||||
"action": "terraform",
|
||||
"target_biome": "savanna",
|
||||
"cost": 500,
|
||||
"duration_ms": 2000
|
||||
}
|
||||
```
|
||||
Voir `case_zoo.md` et `achat_upgrade_generique.md`.
|
||||
|
||||
## 7. Progression
|
||||
@@ -23,8 +34,8 @@ Voir `case_zoo.md` et `achat_upgrade_generique.md`.
|
||||
**Changement de Milieu** :
|
||||
| Niveau | Coût | Précision | Temps |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| 1 | 500 | Changement vers biome adjacent | 0s |
|
||||
| 7 | 5000 | Changement vers n'importe quel biome | 0s |
|
||||
| 1 | 500 | Changement vers biome adjacent uniquement | 5s |
|
||||
| 7 | 5000 | Changement vers n'importe quel biome (Terraformation avancée) | 2s |
|
||||
|
||||
**Régulateur Thermique** :
|
||||
| Niveau | Coût | Plage Réglage | Temps |
|
||||
@@ -32,8 +43,38 @@ Voir `case_zoo.md` et `achat_upgrade_generique.md`.
|
||||
| 1 | 200 | +/- 5°C | 0s |
|
||||
| 7 | 2000 | +/- 50°C | 0s |
|
||||
|
||||
## 8. Logique et Interfaces
|
||||
### Algorithme de Terraformation
|
||||
```python
|
||||
def terraform_tile(tile, target_biome, player):
|
||||
# Vérifier adjacence (si niveau bas)
|
||||
if player.terraform_level < 7:
|
||||
neighbors = get_neighbors(tile)
|
||||
if target_biome not in [n.biome for n in neighbors]:
|
||||
return error("BIOME_NOT_ADJACENT", "Vous devez étendre un biome existant.")
|
||||
|
||||
if player.money < get_terraform_cost(target_biome):
|
||||
return error("NO_MONEY")
|
||||
|
||||
player.money -= get_terraform_cost(target_biome)
|
||||
tile.biome = target_biome
|
||||
update_visuals(tile)
|
||||
check_animal_compatibility(tile) # Alerte si un animal est dessus
|
||||
|
||||
return success()
|
||||
```
|
||||
|
||||
# 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)
|
||||
### Modification Terrain (Action)
|
||||
**Description UX** : Le joueur sélectionne une case et choisit "Modifier Biome" ou "Température".
|
||||
@@ -54,3 +95,8 @@ Voir `case_zoo.md` et `achat_upgrade_generique.md`.
|
||||
- **Couleurs** : Vert, Jaune, Blanc.
|
||||
- **Textes** : "Coût : X".
|
||||
- **Formes** : Curseur Pinceau.
|
||||
|
||||
### Vue Isométrique
|
||||
- **Grid Overlay** : Lors de l'édition, afficher la grille en surbrillance pour bien délimiter les cases.
|
||||
- **Feedback Visuel** : La case "saute" légèrement ou émet de la poussière lors du changement de biome.
|
||||
- **Bords** : Gérer les transitions douces (blends) entre deux cases de biomes différents pour éviter l'effet damier trop strict (sauf si style voxel strict).
|
||||
|
||||
Reference in New Issue
Block a user