**Motivations:** - Harmoniser la documentation technique pour faciliter le développement. - Garantir l'exhaustivité des données de Game Design pour chaque entité. **Root causes:** - Documentation hétérogène et incomplète. **Correctifs:** - N/A **Evolutions:** - Réécriture complète de 53 fichiers de spécifications selon un modèle strict. - Ajout de données de Game Design (prix, durées, impacts) pour combler les manques. - Ajout systématique des annexes UX/UI. **Pages affectées:** - docs/specs/*
168 lines
5.7 KiB
Markdown
168 lines
5.7 KiB
Markdown
# Spécifications : Carte du Zoo
|
|
|
|
## Définition
|
|
La carte du zoo est l'espace principal de gestion du joueur où il place ses bâtiments et ses animaux.
|
|
|
|
## Structure
|
|
- **Grille** : Composée de cases individuelles.
|
|
- **Biomes** : Divisée en tiers de largeur :
|
|
- Gauche : Prairie
|
|
- Milieu : Océan
|
|
- Droite : Montagne
|
|
- **Dégradés** : Couleurs et températures varient doucement au sein des biomes.
|
|
|
|
## Contenu Initial (Lancement)
|
|
- 1 Case Agrandissement du zoo (+1 case, payant)
|
|
- 1 Case Recherche (Coin haut gauche)
|
|
- 1 Case Billeterie (Coin haut gauche)
|
|
- 1 Case Nurserie (Coin haut gauche)
|
|
- 1 Case Accueil nouveaux animaux (Coin haut gauche)
|
|
- 1 Case Nourriture générale (Coin haut gauche)
|
|
- 1 Case Camion (Coin haut gauche)
|
|
- 24 Cases de terrain (3 couleurs différentes réparties selon les biomes)
|
|
|
|
## Mécaniques
|
|
- **Placement** : Le joueur peut placer des œufs, des animaux et des bâtiments sur les cases vides.
|
|
- **Déplacement** : Glisser-déposer pour réorganiser.
|
|
- **Visiteurs** : Les visiteurs se déplacent sur la grille.
|
|
- **Feedbacks** : L'état du terrain (herbe jaunie, givre) reflète l'adéquation avec les animaux.
|
|
|
|
# Annexes Techniques
|
|
|
|
## 1. Données et États
|
|
### Modèle de Données (JSON)
|
|
```json
|
|
{
|
|
"id": "uuid",
|
|
"owner_id": "uuid",
|
|
"width": "integer (init 5)",
|
|
"height": "integer (init 6)",
|
|
"cases": [ ... ]
|
|
}
|
|
```
|
|
|
|
### Caractéristiques Initiales
|
|
| Caractéristique | Valeur Initiale |
|
|
| :--- | :--- |
|
|
| Taille | 30 cases (5x6 approx) |
|
|
| Biomes | 3 (Tiers) |
|
|
|
|
### Scores Initiaux
|
|
**Score Aménagement** : 0/100 (Utilisation de l'espace).
|
|
|
|
## 2. Cycles de Vie et Apparition
|
|
### Conditions d'Apparition
|
|
Création du compte joueur.
|
|
|
|
### Conditions de Disparition
|
|
**Reset Joueur** : Suppression du compte ou Faillite totale.
|
|
|
|
### Hérédité
|
|
**Fondations** : Les extensions de terrain achetées sont conservées en cas de "Soft Reset" (Prestige).
|
|
|
|
## 3. Impacts Environnementaux
|
|
### Impact Température
|
|
**Micro-climats** : Les cases adjacentes à l'Océan sont plus fraîches (-2°C). Celles en Montagne sont plus froides (-5°C).
|
|
|
|
### Impact Milieu (Biome)
|
|
**Bonus Synergie** : Placer 4 cases de même biome en carré crée un "Super Biome" (+10% efficacité).
|
|
|
|
### Impact Saisons
|
|
**Décor** : Les arbres (décoration) changent de couleur (Vert -> Orange -> Blanc -> Bourgeons).
|
|
|
|
### Impact Heure / Jour-Nuit
|
|
**Lumières** : Les lampadaires et bâtiments s'allument la nuit (Ambiance).
|
|
|
|
## 4. Impacts Biologiques et Sociaux
|
|
### Impact Reproduction
|
|
**Intimité** : Les buissons (décoration) placés autour d'un enclos augmentent la fertilité (+5%).
|
|
|
|
### Impact Mort
|
|
**Compost** : Un animal mort fertilise le sol. L'herbe devient plus verte sur cette case après disparition du corps.
|
|
|
|
### Impact Nourriture
|
|
**Pousse** : L'herbe (nourriture gratuite) repousse lentement sur les cases Prairie vides.
|
|
|
|
### Impact Attractivité (Visiteurs/Animaux)
|
|
**Beauté** : +1 Attractivité par élément de décoration (Arbre, Banc, Fontaine).
|
|
|
|
### Impact Valeur
|
|
**Foncier** : Chaque case achetée augmente la valeur théorique du zoo.
|
|
|
|
## 5. Impacts Logistiques et Économiques
|
|
### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)
|
|
**Chemins** : Augmentent la vitesse de déplacement des visiteurs (+50%).
|
|
|
|
### Dépenses (Boutiques/Visiteurs)
|
|
**Entretien Espaces Verts** : Coût hebdomadaire pour garder le zoo propre (1 pièce/case).
|
|
|
|
### Trajet Visiteurs
|
|
Support du pathfinding (A* sur la grille). Les visiteurs évitent les obstacles (Rochers, Eau profonde).
|
|
|
|
## 6. Événements
|
|
### Événements du Jeu / Carte / Zoo / Ville / Visiteur
|
|
* **Agrandissement** : Ajout d'une colonne/ligne ou case adjacente.
|
|
* **Catastrophe** : Inondation (Océan déborde) ou Éboulement (Montagne).
|
|
|
|
## 7. Progression
|
|
### Tableau des Upgrades
|
|
Voir `achat_upgrade_case_zoo.md`.
|
|
|
|
## 8. Logique et Interfaces
|
|
### Pseudo-code Impacts
|
|
```javascript
|
|
function initZooMap():
|
|
width = 6
|
|
height = 5
|
|
for x in 0..width:
|
|
for y in 0..height:
|
|
biome = getBiomeByColumn(x, width)
|
|
createCase(x, y, biome)
|
|
```
|
|
|
|
### Messages d'Infos / Alerte
|
|
| ID | Niveau | Message |
|
|
| :--- | :--- | :--- |
|
|
| `MAP_EXPAND` | Succès | "Le zoo s'agrandit ! Nouvelles terres disponibles." |
|
|
|
|
# Annexes UX/UI
|
|
|
|
## 1. Expérience Utilisateur (UX)
|
|
### Interaction Grille (Action)
|
|
**Description UX** : Le joueur clique sur une case pour voir son contenu ou construire.
|
|
**Description UI** : Surbrillance de la case au survol. Clic ouvre un **Panneau Latéral (Bottom Sheet)** non bloquant (Info/Construire).
|
|
**Emplacement** : Grille.
|
|
**Intégration** : Curseur.
|
|
**Navigation** : Clic -> Menu.
|
|
**Événements** : `CLICK_CASE`.
|
|
|
|
#### Assets
|
|
- **Musiques** : Son "Pop" discret.
|
|
- **Sons** : `click_tile.mp3`.
|
|
- **Graphiques** : Cadre de sélection blanc/brillant.
|
|
- **Vidéos** : Effet de "Pop" au clic.
|
|
- **Animations** : Pulsation du cadre.
|
|
- **Couleurs** : Blanc.
|
|
- **Textes** : Nom de l'objet sélectionné.
|
|
- **Formes** : Carré.
|
|
|
|
### Mode Construction (Action)
|
|
**Description UX** : Le joueur place un bâtiment ou modifie le terrain.
|
|
**Description UI** : Grille visible. Cases valides en vert, invalides en rouge.
|
|
**Mode Peinture** : Le joueur peut glisser son doigt (Drag) pour construire/modifier plusieurs cases d'affilée (ex: peindre un biome ou poser une route).
|
|
**Alternative Accessibilité** : Tap to Select (Bâtiment) -> Tap to Place (Case) pour éviter le Drag & Drop.
|
|
**Emplacement** : Grille.
|
|
**Intégration** : Overlay.
|
|
**Navigation** : Drag -> Drop.
|
|
**Événements** : `ENTER_BUILD_MODE`.
|
|
|
|
#### Assets
|
|
- **Musiques** : Musique "Mode Édition" (calme, boucle).
|
|
- **Sons** : `grid_snap.mp3`.
|
|
- **Graphiques** : Grille semi-transparente.
|
|
- **Vidéos** : Effet de grille holographique.
|
|
- **Animations** : Snap to grid.
|
|
- **Couleurs** : Vert/Rouge (Alpha 0.5).
|
|
- **Textes** : "Placer ici".
|
|
- **Formes** : Carrés.
|