Agent de Sécurité
1. Définition
Employé responsable de l'ordre et de la sécurité dans le zoo. Il gère les visiteurs indisciplinés, prévient le vandalisme et peut intervenir en cas d'évasion d'animal (si fonctionnalité présente). Achetable avec des pièces.
2. Fonctions
- 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.
- Couleur dominante : Bleu marine et Jaune.
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
Données (JSON)
Règles Métier
- 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)
6. Annexes UX/UI
- Visuel Carte : Personnage en uniforme bleu.
- 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.
Affichage contextuel (modules)
L’agent de sécurité sert de personnage contextuel lors des incidents d’ordre/sécurité.
Déclencheurs (exemples)
| Event |
Condition |
Effet UI personnage |
VANDALISM_ALERT / VANDALISM_DETECTED |
menace détectée |
bulle “Incident” + CTA “Envoyer sécurité” |
ESCAPE_ALERT / ESCAPE_DETECTED |
évasion détectée |
bulle “Évasion” + CTA focus zone |
ZONE_BLOCKED |
zone bloquée |
message explicite + explication détour |
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.
Définition
| Champ |
Valeur |
| Entité |
Employé “Agent de sécurité” |
| Rôle |
Maintenir l’ordre, réduire vandalisme/incidents, gérer visiteurs indisciplinés, intervenir (si feature) sur évasions. |
| IA |
FSM/priority queue : Évasion > Vandalisme > Déchets > Patrouille. |
| Vue |
Isométrique 2.5D, sprite 4 directions (le bloc “8 directions” existant est conservé comme option d’animation), hitbox base-sprite. |
Fonctions (tableau détaillé)
| Fonction |
Déclencheur |
Entrées |
Sorties |
Règles |
Observabilité |
| Patrouille |
Tick agent |
routes, densité |
présence |
Choisit chemins (visiteurs attirés chemins) |
Event SECURITY_PATROL_TICK |
| Dissuasion vandalisme |
proximité incident |
intimidation, rayon |
proba vandalisme - |
Effet plafonné ; dépend densité |
Event SECURITY_DETERRENCE_APPLIED |
| Intervention visiteur |
visiteur “indiscipliné” |
target |
expulsion/stop |
Temps action ; cooldown |
Event SECURITY_INTERACT_START/END |
| Gestion évasion (option) |
animal ESCAPED |
animal pos |
capture |
Nécessite équipement (filet) ou tranquillisant |
Event SECURITY_CAPTURE |
| Gestion fatigue |
temps actif |
stamina |
REST |
Repos staff room obligatoire |
Event SECURITY_REST_START/END |
Icone de base
| Élément |
Spécification |
| Représentation |
Écusson / casquette |
| Couleur dominante |
Bleu marine / jaune |
| Variantes |
icon_security_badge.png, icon_security_cap.png |
| États |
Badge “alerte” (rouge), “patrouille” (pas), “recherche” (loupe) |
Interactions (tableau détaillé)
| Interaction |
Type |
Préconditions |
Étapes UI |
Résultat |
Erreurs / Messages |
| Recruter |
Action |
coins ≥ hire_cost |
Menu Employés → Sécurité → Confirmer |
agent créé |
INSUFFICIENT_FUNDS, EMPLOYEE_CAP_REACHED |
| Envoyer en priorité |
Action |
zone/cible valide |
clic carte → “Envoyer sécurité” |
target prioritaire |
NO_SECURITY_AVAILABLE, INVALID_TARGET |
| Licencier |
Action |
pas en capture verrouillée |
panel agent → “Licencier” |
suppression |
ACTION_BLOCKED |
| Inspecter incidents |
Consultation |
- |
panel → incidents |
liste + ETA |
- |
| Activer mode “strict” |
Configuration |
upgrade / coût |
toggle |
intervention + mais visiteurs stress + |
LOCKED_FEATURE |
Annexes Techniques
1. Données et États (tableau détaillé)
| Donnée / État |
Type |
Exemple |
Source |
Contraintes |
employee_id |
string |
security_05 |
DB |
unique |
type |
enum |
agent_securite |
DB |
constante |
created_at |
timestamp |
- |
DB |
- |
salary |
int |
40 |
config |
coins/jour |
hire_cost |
int |
400 |
config |
one-shot |
state |
enum |
`PATROL |
CHASE |
REST |
position |
object |
{x,y} |
runtime |
monde |
target_position |
object |
{x,y} |
runtime |
chase |
stats.intimidation |
int |
10 |
DB |
[1..100] |
stats.speed |
float |
1.1 |
DB |
déplacement |
stats.stamina |
int |
100 |
runtime |
0..100 |
radius |
int |
5 |
config |
action |
grid |
object |
{x,y} |
runtime |
position grille zoo |
iso_x/iso_y |
int |
- |
rendu |
projection |
z_index |
int |
- |
rendu |
profondeur |
hitbox |
enum |
base_sprite |
rendu |
click base |
Caractéristiques Initiales (tableau détaillé)
| Caractéristique |
Valeur initiale |
Unité |
Notes |
| Rayon action |
5 |
cases |
règle existante |
| Vitesse |
1.1 |
coef |
- |
| Stamina max |
100 |
points |
- |
| Temps repos |
15 |
min in-game |
par cycle repos |
| Priorité |
4 niveaux |
- |
évasion > vandalisme > déchets > patrouille |
Scores Initiaux (tableau détaillé)
| Score |
Valeur initiale |
Plage |
Impact |
| Incidents résolus/jour |
0 |
0..∞ |
satisfaction + |
| Vandalisme évité |
0 |
0..∞ |
réputation + |
| Temps réponse moyen |
0 |
0..∞ |
performance |
2. Cycles de Vie et Apparition (tableau détaillé)
| Phase |
Déclencheur |
Entrées |
Sorties |
Invariants |
| Apparition |
embauche |
coins |
entité |
PATROL |
| Chase |
menace détectée |
target |
déplacement |
sprint consomme stamina |
| Interact |
contact menace |
menace |
neutralisée |
cooldown |
| Rest |
stamina bas |
temps |
stamina + |
staff room |
| Disparition |
licenciement |
- |
suppression |
stop chase |
Conditions d'Apparition (tableau détaillé)
| Condition |
Seuil |
Opérateur |
Résultat |
| Achat |
coins ≥ hire_cost |
vrai |
création |
Conditions de Disparition (tableau détaillé)
| Condition |
Seuil |
Opérateur |
Résultat |
| Licenciement |
action joueur |
vrai |
suppression |
| Zoo supprimé |
- |
vrai |
suppression |
Hérédité (tableau détaillé)
| Élément |
Hérité |
Règle |
| Stats |
Oui |
persistées |
| Stamina |
Non |
reset quotidien |
3. Impacts Environnementaux
Impact Température (tableau détaillé)
| Température |
Effet |
Condition |
| Extrême |
patrouille - |
fatigue + |
| Tempérée |
neutre |
- |
Impact Milieu (Biome) (tableau détaillé)
| Biome |
Effet |
Notes |
| Chemins |
déplacement + |
patrouille efficace |
| Pont étroit |
congestion |
éviter chase sur pont |
Impact Saisons (tableau détaillé)
| Saison |
Effet |
Modificateur |
| Été |
foule + |
incidents + |
| Hiver |
affluence - |
incidents - |
Impact Heure / Jour-Nuit (tableau détaillé)
| Période |
Effet |
Règle |
| Jour |
patrouille |
- |
| Nuit |
sécurité renforcée |
incidents peur + si pas d’éclairage |
4. Impacts Biologiques et Sociaux
Impact Reproduction (tableau détaillé)
| Facteur |
Effet sur taux |
Condition |
| Bruit intervention |
- |
près enclos |
Impact Mort (tableau détaillé)
| Cas |
Effet |
Condition |
| Évasion non gérée |
risque mort + |
collisions/ville |
Impact Nourriture (tableau détaillé)
| Ressource |
Effet |
Condition |
| - |
aucun |
agent n’alimente pas |
Impact Attractivité(Visiteurs (tableau détaillé)
| État |
Effet |
Condition |
| Présence sécurité |
confort + |
rayon action |
| Interventions fréquentes |
confort - |
stress visiteurs |
Impact Attractivité Animaux) (tableau détaillé)
| Action |
Effet animaux |
Condition |
| Capture évasion |
stress + puis - |
fin incident |
Impact Valeur (tableau détaillé)
| Facteur |
Variation |
Condition |
| Zoo sûr |
+ |
réputation/flux visiteurs |
5. Impacts Logistiques et Économiques
Vitesse (Camion) (tableau détaillé)
| Paramètre |
Effet |
Condition |
| Livraison équipements |
+ |
si feature |
Vitesse (Nurserie) (tableau détaillé)
| Paramètre |
Effet |
Condition |
| - |
aucun |
- |
Vitesse (Accueil) (tableau détaillé)
| Paramètre |
Effet |
Condition |
| Gestion sortie |
+ |
si foule panique |
Vitesse (Recherche) (tableau détaillé)
| Paramètre |
Effet |
Condition |
| Tech caméras |
incidents - |
si débloqué |
Vitesse (Labo) (tableau détaillé)
| Paramètre |
Effet |
Condition |
| - |
aucun |
- |
Vitesse (Visite) (tableau détaillé)
| Paramètre |
Effet |
Condition |
| Déplacement visiteurs |
- |
si zones bloquées |
Dépenses (Billeterie) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| - |
0 |
- |
- |
Dépenses (Boutiques) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| Vente souvenirs “police” |
revenu + |
coins |
option |
Dépenses (Visiteurs) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| Remboursement peur |
-coins |
coins |
incidents peur |
Dépenses (Employés) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| Salaire |
40 |
coins/jour |
actif |
Dépenses (Boutiques) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| Section dupliquée |
0 |
- |
conservée |
Dépenses (Nurseries) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| - |
0 |
- |
- |
Dépenses (Nourriture) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| - |
0 |
- |
- |
Dépenses (Acceuil des animaux) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| dégâts évasion |
100 |
coins |
réparation |
Dépenses (Camion) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| capture matériel |
50 |
coins |
filet |
Trajet Visiteurs
Trajet Visiteurs vers/depuis la ville (tableau détaillé)
| Source |
Destination |
Déclencheur |
Effet |
| Ville |
Zoo |
réputation |
sécurité augmente confiance |
Trajet Visiteurs vers/depuis les animaux (tableau détaillé)
| Source |
Destination |
Déclencheur |
Effet |
| Incident |
Enclos |
évasion |
zone bloquée |
Trajet Visiteurs vers/depuis les boutiques (tableau détaillé)
| Source |
Destination |
Déclencheur |
Effet |
| Visiteurs |
Boutique |
after incident |
achats - |
Trajet Visiteurs vers/depuis la billeterie (entrées/sorties du zoo) (tableau détaillé)
| Source |
Destination |
Déclencheur |
Effet |
| Panique |
sortie |
peur |
départ massif |
6. Événements
Événements du Jeu (tableau détaillé)
| Event |
Déclencheur |
Payload |
Effet |
VANDALISM_DETECTED |
scan |
pos |
chase |
ESCAPE_DETECTED |
animal escaped |
animal_id |
chase |
Événements du Carte (tableau détaillé)
| Event |
Déclencheur |
Effet |
SECURITY_CHASE |
menace |
animation course |
Événements du Zoo (tableau détaillé)
| Event |
Déclencheur |
Effet |
ZONE_BLOCKED |
intervention |
pathing détour |
Événements du Ville / Visiteur (tableau détaillé)
| Event |
Déclencheur |
Effet |
VISITOR_CALMED |
sécurité proche |
satisfaction + |
Événements du Visiteur (tableau détaillé)
| Event |
Déclencheur |
Effet |
VISITOR_EXPELLED |
interaction |
sortie immédiate |
Événements du Joueur (tableau détaillé)
| Event |
Déclencheur |
Effet |
PLAYER_SEND_SECURITY |
clic zone |
priorité chase |
7. Progression
Tableau des Upgrades (tableau détaillé)
| Niveau |
Coût |
Effet |
Débloque |
| 1 |
0 |
patrouille base |
- |
| 2 |
1500 |
intimidation +2 |
dissuasion |
| 3 |
3000 |
speed +0.1 |
réponse |
| 4 |
6000 |
équipement capture |
gestion évasion |
8. Logique et Interfaces
Pseudo-code Impacts (tableau détaillé)
| Fonction |
Entrées |
Sorties |
Notes |
scan_for_threats |
position, radius |
threat |
existant |
neutralize |
threat |
resolved |
expulsion/capture |
apply_deterrence |
intimidation |
proba- |
clamp |
Messages d'Infos / Alerte (tableau détaillé)
| ID |
Niveau |
Message |
Condition |
SECURITY_BUSY |
Warning |
"Agent occupé." |
chase/interact |
ESCAPE_ALERT |
Alerte |
"Évasion détectée !" |
animal escaped |
VANDALISM_ALERT |
Warning |
"Vandalisme !" |
incident |
Annexes UX/UI
1. Expérience Utilisateur (UX)
Description UX (tableau détaillé)
| Parcours |
But |
Friction |
Réduction clics |
| Envoyer agent |
résoudre incident |
localisation |
action contextuelle sur incident |
| Voir sécurité |
confiance |
info |
badges sur carte |
Description UI (tableau détaillé)
| Composant |
Contenu |
États |
| Panel agent |
stamina, état, target |
patrol/chase/rest |
| Badge incident |
type |
priorité |
Emplacement (tableau détaillé)
| Zone UI |
Position |
Notes |
| Carte |
sprite agent |
sélection base |
| Incidents |
bulles |
clic direct |
Intégration (tableau détaillé)
| Intégration |
Contrat |
Notes |
| Pathfinding |
zones bloquées |
pas de fallback |
| Incidents visiteurs |
expulsion |
- |
Navigation (tableau détaillé)
| Action |
Chemin |
Résultat |
| Ouvrir panel |
clic agent |
panel |
| Envoyer |
clic incident |
target |
Événements (tableau détaillé)
| Event UI |
Déclencheur |
Effet |
OPEN_SECURITY_PANEL |
clic |
panel |
CLICK_SEND_SECURITY |
clic zone |
send |
Assets Skinables
Musiques (tableau détaillé)
| Asset |
Usage |
Durée |
Notes |
security_loop.mp3 |
ambiance |
loop |
discret |
Sons (tableau détaillé)
| Asset |
Usage |
Volume |
whistle.mp3 |
chase |
moyen |
ui_alert.mp3 |
alerte |
moyen |
Graphiques (tableau détaillé)
| Asset |
Usage |
Contraintes |
security_sprite_[dir].png |
sprite |
4 dirs |
fx_alert_ring.png |
FX |
overlay |
Images (tableau détaillé)
| Asset |
Usage |
icon_security_badge.png |
icône |
portrait_security.png |
panel |
Vidéos (tableau détaillé)
| Asset |
Usage |
Durée |
security_alert.webm |
popup |
0.9s |
Animations (tableau détaillé)
| Animation |
Déclencheur |
Notes |
| ring alerte |
incident |
loop |
| dash |
chase |
burst |
Couleurs (tableau détaillé)
| Token |
Valeur |
Usage |
security_primary |
#1B3B6F |
UI |
security_accent |
#F1C40F |
badge |
Textes (tableau détaillé)
| Clé |
FR |
EN |
security.send |
Envoyer |
Send |
security.busy |
Occupé |
Busy |
Formes (tableau détaillé)
| Élément |
Forme |
Notes |
| Badge alerte |
triangle arrondi |
lisible |
| Panel |
bottom sheet |
standard |