**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/*
148 lines
4.5 KiB
Markdown
148 lines
4.5 KiB
Markdown
# Spécifications : Case de Zoo (Générique)
|
|
|
|
## Définition
|
|
Case spécifique à la grille du zoo, pouvant accueillir les éléments de gestion.
|
|
|
|
## Types de Contenu Possibles
|
|
- **Bâtiments** : Billeterie, Nurserie, Boutique, Centre de Recherche, École, Accueil Animaux.
|
|
- **Animaux** : Bébés matures, Animaux adultes.
|
|
- **Éléments Mobiles** : Visiteurs, Camion (sur sa zone dédiée).
|
|
- **Vide** : Terrain libre pour construction ou placement.
|
|
|
|
## Propriétés Spécifiques
|
|
- **Occupation** : Une case ne peut contenir qu'un seul élément principal (bâtiment/animal) à la fois.
|
|
- **Visite** : Enregistre la date de dernier passage d'un visiteur (pour la règle de disparition).
|
|
- **Qualité** : Indicateur visuel d'adéquation avec l'animal posé dessus (Jaunissement, Givre).
|
|
|
|
## Liste des Cases Spéciales (cf. Carte Zoo)
|
|
- Agrandissement
|
|
- Recherche
|
|
- Billeterie
|
|
- Nurserie
|
|
- Accueil
|
|
- Nourriture
|
|
- Camion
|
|
|
|
# Annexes Techniques
|
|
|
|
## 1. Données et États
|
|
### Modèle de Données (JSON)
|
|
Hérite de `Case (Générique)`.
|
|
```json
|
|
{
|
|
"last_visit_time": "timestamp",
|
|
"quality_score": "float (0-100)"
|
|
}
|
|
```
|
|
|
|
### Caractéristiques Initiales
|
|
| Caractéristique | Valeur Initiale |
|
|
| :--- | :--- |
|
|
| Dernière Visite | Création du zoo |
|
|
| Qualité | 100 |
|
|
|
|
### Scores Initiaux
|
|
**Passages** : 0 (Heatmap de fréquentation).
|
|
|
|
## 2. Cycles de Vie et Apparition
|
|
### Conditions d'Apparition
|
|
Génération zoo.
|
|
|
|
### Conditions de Disparition
|
|
**Jamais** : Une case ne disparaît pas, elle change juste de contenu.
|
|
|
|
### Hérédité
|
|
**Qualité du Sol** : Un sol bien entretenu (fertilisé) garde ses bonus après un reset partiel.
|
|
|
|
## 3. Impacts Environnementaux
|
|
### Impact Température
|
|
Voir `case_generique.md`.
|
|
|
|
### Impact Milieu (Biome)
|
|
Voir `case_generique.md`.
|
|
|
|
### Impact Saisons
|
|
**Neige** : La case devient blanche en hiver (si T° < 0).
|
|
|
|
### Impact Heure / Jour-Nuit
|
|
**Ombres** : Les ombres des objets sur la case tournent avec le soleil.
|
|
|
|
## 4. Impacts Biologiques et Sociaux
|
|
### Impact Reproduction
|
|
**Lieu de rencontre** : Les cases "Buissons" favorisent les rencontres.
|
|
|
|
### Impact Mort
|
|
**Lieu de décès** : Une case où un animal est mort garde une "odeur" (malus stress) pendant 24h.
|
|
|
|
### Impact Nourriture
|
|
**Pâturage** : Une case herbeuse peut être broutée (devient terreuse).
|
|
|
|
### Impact Attractivité (Visiteurs/Animaux)
|
|
**Vue** : Une case "Point de Vue" (hauteur) augmente l'attractivité des animaux alentour.
|
|
|
|
### Impact Valeur
|
|
**Emplacement** : Une case proche de l'entrée vaut plus cher (emplacement premium pour boutiques).
|
|
|
|
## 5. Impacts Logistiques et Économiques
|
|
### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)
|
|
**Revêtement** : Herbe (Lent), Terre (Moyen), Pavés (Rapide).
|
|
|
|
### Dépenses (Boutiques/Visiteurs)
|
|
**Nettoyage** : Coût si la case est sale (déchets visiteurs).
|
|
|
|
### Trajet Visiteurs
|
|
**Obstacle** : Une case occupée par un bâtiment ou de l'eau est infranchissable (sauf pont).
|
|
|
|
## 6. Événements
|
|
### Événements du Jeu / Carte / Zoo / Ville / Visiteur
|
|
* **Passage Visiteur** : Met à jour `last_visit_time`.
|
|
* **Salissure** : Apparition d'un déchet.
|
|
|
|
## 7. Progression
|
|
### Tableau des Upgrades
|
|
Voir `achat_upgrade_case.md`.
|
|
|
|
## 8. Logique et Interfaces
|
|
### Pseudo-code Impacts
|
|
```
|
|
function checkAnimalDisappearance(case):
|
|
if currentTime - case.last_visit_time > MAX_TIME_WITHOUT_VISIT:
|
|
removeAnimal(case.content)
|
|
```
|
|
|
|
### Messages d'Infos / Alerte
|
|
| ID | Niveau | Message |
|
|
| :--- | :--- | :--- |
|
|
| `CASE_DIRTY` | Info | "Une case est sale." |
|
|
|
|
# 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)
|
|
### Sélection (Action)
|
|
**Description UX** : Clic sur une case zoo.
|
|
**Description UI** : Highlight + Menu contextuel adapté au contenu (Animal -> Stats, Bâtiment -> Upgrade, Vide -> Construire).
|
|
**Emplacement** : Grille.
|
|
**Intégration** : Standard.
|
|
**Navigation** : Clic.
|
|
**Événements** : `SELECT_ZOO_CASE`.
|
|
|
|
#### Assets
|
|
- **Musiques** : Son "Click".
|
|
- **Sons** : `select_soft.mp3`.
|
|
- **Graphiques** : Cadre sélection.
|
|
- **Images** : Icône Menu Contextuel.
|
|
- **Vidéos** : Effet de sélection (contour brillant).
|
|
- **Animations** : Rebondissement léger du contenu.
|
|
- **Couleurs** : Blanc.
|
|
- **Textes** : "Case [X,Y]".
|
|
- **Formes** : Carré.
|