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:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user