Files
builazoo/docs/specs/achat_upgrade_centre_recherche.md
Nicolas Cantu e92c1355d0 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/*
2026-03-05 02:10:32 +01:00

88 lines
3.2 KiB
Markdown

# Spécifications : Achat et Upgrade des Centres de Recherche
## Upgrade (7 Niveaux)
- **Production** : Augmente le nombre d'Unités de Recherche générées par heure.
- **Portée** : Augmente le rayon de visibilité sur les offres des autres zoos (voir les détails des animaux lointains).
- **Vitesse** : Réduit le temps nécessaire pour compléter une recherche technologique.
# Annexes Techniques
## 1. Données et États
### Modèle de Données (Transaction)
```json
{
"action": "upgrade_research_center",
"building_id": "uuid",
"current_level": 2,
"cost": 1500,
"currency": "coins",
"timestamp": "timestamp"
}
```
*Voir `centre_recherche.md` pour le modèle de données complet.*
## 7. Progression
### Tableau des Upgrades
*Voir `centre_recherche.md` pour le tableau détaillé des coûts et effets par niveau.*
## 8. Logique et Interfaces
### Pseudo-code Interaction
```python
def upgrade_research_center(center, player):
# Vérifier si une recherche est en cours (bloquant ?)
if center.current_research_project:
return error("RESEARCH_BUSY", "Attendez la fin du projet en cours.")
cost = get_upgrade_cost("research_center", center.level + 1)
if player.money < cost:
return error("INSUFFICIENT_FUNDS")
player.money -= cost
center.level += 1
center.production_rate *= 1.2 # +20% par niveau
center.range += 1 # +1 case de rayon
return success("UPGRADE_COMPLETE")
```
### Cas Limites
- **Recherche Active** : L'upgrade ne doit pas annuler la recherche en cours, mais peut la mettre en pause ou simplement s'appliquer après. (Choix : S'applique immédiatement sur le taux de production restant).
- **Max Level** : Désactiver le bouton.
# 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)
### Arbre Technologique (Consultation)
**Description UX** : Visualiser les paliers de recherche.
**Description UI** : Arbre vertical ou liste de niveaux avec cadenas (verrouillé/déverrouillé).
**Emplacement** : Modal Recherche.
**Intégration** : Onglet "Améliorations".
**Navigation** : Clic Recherche -> Onglet Upgrade.
**Événements** : `VIEW_TECH_TREE`.
#### Assets
- **Musiques** : Ambiance "Laboratoire High-Tech" (boucle subtile).
- **Sons** : `lab_hum.mp3`, `data_process.mp3`.
- **Graphiques** : Lignes de connexion.
- **Images** : Icônes Radar, Fiole.
- **Vidéos** : Hologramme rotatif de la technologie sélectionnée.
- **Animations** : Cadenas qui saute.
- **Couleurs** : Bleu (Science).
- **Textes** : "Niveau Suivant : Portée +10km".
- **Formes** : Hexagones.
### Vue Isométrique
- **Antennes** : À chaque niveau, des antennes paraboliques ou des équipements s'ajoutent sur le toit.
- **Lumières** : Les lumières du bâtiment changent (plus intenses, clignotantes) pour montrer l'activité accrue.
- **Animation** : Les antennes tournent en boucle.