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/*
This commit is contained in:
2026-03-05 02:10:32 +01:00
parent 1d3352455e
commit e92c1355d0
74 changed files with 1519 additions and 550 deletions

View File

@@ -7,6 +7,7 @@ Employé responsable de l'ordre et de la sécurité dans le zoo. Il gère les vi
* **Surveillance :** Patrouille dans les allées pour rassurer les visiteurs (+attractivité).
* **Intervention :** Expulse les visiteurs qui jettent des déchets ou embêtent les animaux.
* **Protection :** Capture les animaux échappés (avec filet ou tranquillisant).
* **Dissuasion :** Sa simple présence réduit la probabilité d'actes de vandalisme dans un rayon donné.
## 3. Icone
* **Représentation :** Écusson ou Casquette de police.
@@ -15,6 +16,7 @@ Employé responsable de l'ordre et de la sécurité dans le zoo. Il gère les vi
## 4. Interactions
* **Recrutement :** Menu "Employés", coût en pièces.
* **Ordre :** Le joueur peut cliquer sur une zone pour envoyer l'agent en priorité.
* **Licenciement :** Possible via le menu employé.
## 5. Annexes Techniques
@@ -24,20 +26,67 @@ Employé responsable de l'ordre et de la sécurité dans le zoo. Il gère les vi
"employee_id": "security_05",
"type": "agent_securite",
"name": "Sgt. Pepper",
"created_at": "timestamp",
"salary": 40,
"hire_cost": 400,
"state": "enum (PATROL, CHASE, REST, INTERACT)",
"position": { "x": 12.5, "y": 14.0 },
"target_position": { "x": 20, "y": 10 },
"stats": {
"intimidation": 10, // Efficacité contre vandales
"speed": 1.1
}
"intimidation": 10,
"speed": 1.1,
"stamina": 100
},
"iso_x": "integer",
"iso_y": "integer",
"z_index": "integer"
}
```
### Règles Métier
* La présence d'agents réduit le taux de "mécontentement" des visiteurs dû à la foule ou aux déchets.
* Nécessaire pour débloquer certains animaux dangereux.
* **Rayon d'action :** 5 cases autour de lui.
* **Fatigue :** Doit se reposer au Staff Room toutes les 4h in-game.
* **Priorité :** Animal échappé > Vandalism > Déchets > Patrouille.
### Algorithme de Comportement (FSM)
```python
def update_security_agent(agent, world):
if agent.state == "REST":
agent.stamina += 5
if agent.stamina >= 100:
agent.state = "PATROL"
return
# Scan des menaces
threat = scan_for_threats(agent.position, radius=10)
if threat:
agent.state = "CHASE"
agent.target = threat.position
move_towards(agent, threat.position, agent.speed * 1.5) # Course
if distance(agent, threat) < 1:
neutralize(threat)
else:
agent.state = "PATROL"
patrol_randomly(agent)
```
## 6. Annexes UX/UI
* **Visuel Carte :** Personnage en uniforme bleu.
* **Animation :** Siffle ou fait des grands gestes.
* **Animation :**
* **Marche :** Calme, mains dans le dos.
* **Course :** Rapide, sifflet à la bouche.
* **Action :** Sort un carnet (amende) ou un filet (animal).
* **Feedback :** Les visiteurs s'écartent sur son passage.
* **Vue Isométrique :** Sprite 8 directions pour des déplacements fluides.
# 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.