**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/*
103 lines
3.9 KiB
Markdown
103 lines
3.9 KiB
Markdown
# Spécifications : Achat et Upgrade des Cases
|
|
|
|
## 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
|
|
- Boutique
|
|
- (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 (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
|
|
### Tableau des Upgrades
|
|
**Changement de Milieu** :
|
|
| Niveau | Coût | Précision | Temps |
|
|
| :--- | :--- | :--- | :--- |
|
|
| 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 |
|
|
| :--- | :--- | :--- | :--- |
|
|
| 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".
|
|
**Description UI** : Palette de couleurs (Biomes) ou Slider (Température).
|
|
**Mode Peinture** : Permet de glisser le doigt pour appliquer le biome/température à plusieurs cases adjacentes rapidement.
|
|
**Emplacement** : Menu Contextuel Case.
|
|
**Intégration** : Outil pinceau ou slider.
|
|
**Navigation** : Clic Case -> Outil -> Appliquer.
|
|
**Événements** : `TERRAFORM_CASE`.
|
|
|
|
#### Assets
|
|
- **Musiques** : Jingle "Travaux Publics" (bruits de chantier rythmés).
|
|
- **Sons** : `digging.mp3` (Biome), `hissing_gas.mp3` (Température).
|
|
- **Graphiques** : Icône Pelle, Thermomètre.
|
|
- **Images** : Textures sol (Herbe, Sable, Neige).
|
|
- **Vidéos** : Animation de transition de biome (morphing de texture).
|
|
- **Animations** : Transition de couleur (Fade) sur la case.
|
|
- **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).
|