Files
builazoo/docs/specs/joueur.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

178 lines
5.0 KiB
Markdown

# Spécifications : Joueur
## Définition
L'utilisateur humain.
## Propriétés
- **Compte** : Authentifié par clé privée (pas de mot de passe).
- **Ressources** : Pièces, Unités de recherche.
- **Zoo** : Possède et gère un unique zoo.
- **Démarrage** : Commence avec 200 pièces et 3 couples reproducteurs basiques.
## Actions
- Achat/Vente.
- Placement/Déplacement.
- Upgrade bâtiments/carte.
- Gestion des incidents visiteurs.
- Configuration du profil d'absence (Bot).
# Annexes Techniques
## 1. Données et États
### Modèle de Données (JSON)
```json
{
"id": "uuid",
"public_key": "string (ed25519)",
"username": "string",
"created_at": "timestamp",
"last_login": "timestamp",
"resources": {
"coins": "integer",
"research_points": "integer"
},
"settings": {
"music_enabled": "boolean",
"bot_profile_id": "integer"
},
"iso_x": "integer",
"iso_y": "integer",
"z_index": "integer"
}
```
### Caractéristiques Initiales
| Caractéristique | Valeur Initiale |
| :--- | :--- |
| Pièces | 200 |
| Recherche | 0 |
| Animaux | 3 couples (6 animaux) |
### Scores Initiaux
**Niveau Joueur** : 1.
## 2. Cycles de Vie et Apparition
### Conditions d'Apparition
Inscription.
### Conditions de Disparition
Suppression compte.
### Hérédité
**Héritage** : Le joueur garde son niveau et ses recherches après un reset.
## 3. Impacts Environnementaux
### Impact Température
**Confort** : Le joueur doit gérer la température pour ses animaux.
### Impact Milieu (Biome)
**Stratégie** : Le joueur choisit les biomes à développer.
### Impact Saisons
**Planification** : Le joueur adapte sa stratégie aux saisons.
### Impact Heure / Jour-Nuit
**Gestion** : Le joueur gère les cycles d'ouverture.
## 4. Impacts Biologiques et Sociaux
### Impact Reproduction
**Démarrage autonome** : Le joueur reçoit 3 couples reproducteurs basiques (Lapins/Poules/Canards selon biome) pour garantir une reproduction immédiate et alimenter le marché bas prix.
### Impact Mort
**Gestion Crise** : Le joueur doit réagir aux décès.
### Impact Nourriture
**Logistique** : Le joueur achète la nourriture.
### Impact Attractivité (Visiteurs/Animaux)
**Objectif** : Maximiser l'attractivité.
### Impact Valeur
**Finance** : Gérer le budget.
## 5. Impacts Logistiques et Économiques
### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)
N/A
### Dépenses (Boutiques/Visiteurs)
N/A
### Trajet Visiteurs
**Design** : Le joueur trace les routes.
## 6. Événements
### Événements du Jeu / Carte / Zoo / Ville / Visiteur
* **Connexion** : Chargement état.
* **Quête** : Validation.
## 7. Progression
### Tableau des Upgrades
| Niveau | Coût | Avantage |
| :--- | :--- | :--- |
| 1 | 0 | Accès de base |
| 2 | 1000 | Accès statistiques avancées |
## 8. Logique et Interfaces
### Pseudo-code Impacts
```javascript
function playerAction(action):
if checkResources(action.cost):
execute(action)
```
### Messages d'Infos / Alerte
| ID | Niveau | Message |
| :--- | :--- | :--- |
| `WELCOME` | Info | "Bienvenue dans votre nouveau zoo !" |
| `NO_MONEY` | Alerte | "Fonds insuffisants." |
# 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)
### HUD Principal (Permanent)
**Description UX** : Le joueur voit en permanence ses ressources et accès rapides.
**Description UI** : Barre supérieure avec Compteurs (Pièces, Recherche, Réputation). Barre inférieure ou latérale avec Menus (Construction, Carte Monde, Inventaire, Profil).
**Emplacement** : Écran (Overlay).
**Intégration** : Fixe.
**Navigation** : Clic Menu -> Ouverture Panneau.
**Événements** : `UI_CLICK`.
#### Assets
- **Musiques** : N/A
- **Sons** : `ui_click.mp3`.
- **Graphiques** : Style UI "Bois et Pierre" ou "Moderne Clean".
- **Images** : Icônes (Pièce, Fiole, Marteau, Carte).
- **Vidéos** : N/A
- **Animations** : Compteurs qui défilent quand gain/perte.
- **Couleurs** : Or, Bleu, Blanc.
- **Textes** : Chiffres, Labels menus.
- **Formes** : Barres, Boutons ronds.
### Profil & Bot (Configuration)
**Description UX** : Le joueur configure son avatar et son bot d'absence.
**Description UI** : Modal Profil. Onglet "Gestion Absence" avec sélecteur de Bot (Famille > Spécialisation).
**Emplacement** : Menu Profil.
**Intégration** : Modal.
**Navigation** : Profil -> Bot -> Sauvegarder.
**Événements** : `SAVE_PROFILE`.
#### Assets
- **Musiques** : N/A
- **Sons** : `save_success.mp3`.
- **Graphiques** : Portraits de bots.
- **Images** : Avatars joueurs.
- **Vidéos** : N/A
- **Animations** : Checkmark vert.
- **Couleurs** : Bleu UI.
- **Textes** : Description des bots ("Le Conservateur : Achète de la nourriture...").
- **Formes** : Cartes de sélection.