**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/*
88 lines
2.9 KiB
Markdown
88 lines
2.9 KiB
Markdown
# Spécifications : Achat et Upgrade des Nurseries
|
|
|
|
## Construction
|
|
- Nécessaire pour faire éclore plus d'œufs simultanément.
|
|
- Peut être construite sur une case vide.
|
|
|
|
## Upgrade (7 Niveaux)
|
|
- **Incubation** : Réduit le temps d'éclosion.
|
|
- **Soins** : Augmente les chances de survie des bébés (réduit l'impact des écarts de température).
|
|
- **Génétique** : (Niveaux élevés) Augmente légèrement la probabilité d'obtenir une rareté supérieure (Shiny/Albinos).
|
|
- **Capacité** : Débloque des slots d'incubation supplémentaires.
|
|
|
|
# Annexes Techniques
|
|
|
|
## 1. Données et États
|
|
### Modèle de Données (Action)
|
|
```json
|
|
{
|
|
"action": "upgrade_nursery",
|
|
"building_id": "uuid",
|
|
"unlocked_slots": 3,
|
|
"incubation_speed_bonus": 0.2
|
|
}
|
|
```
|
|
*Voir `nurserie.md` pour le modèle de données complet.*
|
|
|
|
## 7. Progression
|
|
### Tableau des Upgrades
|
|
*Voir `nurserie.md` pour le tableau détaillé des coûts et effets par niveau.*
|
|
|
|
## 8. Logique et Interfaces
|
|
### Pseudo-code
|
|
```python
|
|
def upgrade_nursery(nursery, player):
|
|
cost = get_upgrade_cost("nursery", nursery.level + 1)
|
|
|
|
if player.money < cost:
|
|
return error("NO_MONEY")
|
|
|
|
player.money -= cost
|
|
nursery.level += 1
|
|
|
|
# Déblocage de slots tous les 2 niveaux
|
|
if nursery.level % 2 == 0:
|
|
nursery.slots.append(create_empty_slot())
|
|
|
|
return success("NURSERY_UPGRADED")
|
|
```
|
|
|
|
### Cas Limites
|
|
- **Incubateurs pleins** : L'upgrade n'affecte pas les œufs en cours (ou réduit leur temps restant proportionnellement).
|
|
- **Max Slots** : Limité à 6 ou 8 slots max pour l'UI.
|
|
|
|
# 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)
|
|
### Extension (Action)
|
|
**Description UX** : Ajouter des slots d'œufs.
|
|
**Description UI** : La grille de slots s'agrandit (nouvelles cases déverrouillées).
|
|
**Emplacement** : Modal Nurserie.
|
|
**Intégration** : UI Grid.
|
|
**Navigation** : Clic Nurserie -> Onglet Extension.
|
|
**Événements** : `UNLOCK_SLOT`.
|
|
|
|
#### Assets
|
|
- **Musiques** : Berceuse douce (boîte à musique).
|
|
- **Sons** : `unlock.mp3`.
|
|
- **Graphiques** : Cadenas qui s'ouvre.
|
|
- **Images** : Icône "Œuf +" (Slot vide).
|
|
- **Vidéos** : Rayon de lumière sur le nouveau slot.
|
|
- **Animations** : Slot qui s'illumine.
|
|
- **Couleurs** : Rose pastel et Bleu ciel.
|
|
- **Textes** : "Slot débloqué".
|
|
- **Formes** : Cercles doux (œufs).
|
|
|
|
### Vue Isométrique
|
|
- **Taille** : Le bâtiment peut s'agrandir visuellement (ajouter une aile) aux niveaux 3 et 5.
|
|
- **Fenêtres** : On peut voir la lumière chaude à travers les fenêtres la nuit (incubateurs).
|