**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/*
8.6 KiB
Spécifications : Accueil des Animaux
Définition
Zone tampon pour les nouveaux animaux arrivant dans le zoo (achats adultes ou transferts). C'est le point d'entrée unique pour tout animal avant son placement en enclos.
Fonctionnalités
- Acclimatation : Période obligatoire avant de pouvoir placer l'animal sur la grille active.
- Stockage temporaire : Évite de devoir placer immédiatement un animal acheté si le terrain n'est pas prêt.
- Inspection : Permet au joueur de voir les stats de l'animal avant placement.
Niveaux d'Amélioration (7 niveaux)
- Coût : Progressif par palier.
- Effet : Réduit le temps d'acclimatation. Améliore le potentiel reproducteur de l'animal entrant.
- Ratio : 1 unité couvre 1 animal en cours d'accueil.
Annexes Techniques
1. Données et États
Modèle de Données (JSON)
{
"id": "uuid",
"type": "building_reception",
"created_at": "timestamp",
"updated_at": "timestamp",
"level": "integer (1-7)",
"position": { "x": "integer", "y": "integer" },
"slots": [
{
"slot_id": "integer (0-index)",
"animal_id": "uuid (nullable)",
"status": "enum (EMPTY, OCCUPIED, READY)",
"arrival_time": "timestamp",
"acclimatization_end_time": "timestamp",
"bonus_applied": "boolean"
}
],
"iso_x": "integer",
"iso_y": "integer",
"z_index": "integer"
}
Caractéristiques Initiales
| Caractéristique | Valeur Initiale (Niv 1) | Valeur Max (Niv 7) |
|---|---|---|
| Temps Acclimatation | 600 secondes (10 min) | 0 secondes (Instantané) |
| Capacité | 1 animal | 7 animaux |
Scores Initiaux
N/A
2. Cycles de Vie et Apparition
Conditions d'Apparition
Présent au démarrage du jeu (Tutorial ou Nouvelle Partie). Position fixe généralement près de l'entrée.
Conditions de Disparition
Indestructible. Ne peut pas être vendu ni déplacé (sauf si feature de réaménagement global).
Hérédité
N/A
3. Impacts Environnementaux
Impact Température
Zone neutre (T° idéale simulée). Les animaux ne subissent pas de dégâts de température ici.
Impact Milieu (Biome)
Zone neutre. Compatible avec tous les biomes d'animaux.
Impact Saisons
Protégé des intempéries.
Impact Heure / Jour-Nuit
Fonctionne 24/7. Pas de pénalité la nuit.
4. Impacts Biologiques et Sociaux
Impact Reproduction
Bonus Repro : Un animal passant par un accueil de haut niveau gagne un bonus temporaire de fertilité.
- Niv 1-3 : +0%
- Niv 4-6 : +10% fertilité (durée 2 jours in-game)
- Niv 7 : +25% fertilité (durée 5 jours in-game)
Impact Mort
Pas de mort possible en zone d'accueil (Stase). Les jauges de faim/soif/santé sont gelées.
Impact Nourriture
Nourri automatiquement (coût nul ou inclus dans les frais de gestion globaux).
Impact Attractivité (Visiteurs/Animaux)
N/A - Les visiteurs ne voient pas l'intérieur de l'accueil.
Impact Valeur
N/A
5. Impacts Logistiques et Économiques
Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)
Réduction Temps Acclimatation :
| Niveau | Temps Base | Réduction % |
|---|---|---|
| 1 | 10 min | 0% |
| 2 | 8 min | 20% |
| 3 | 6 min | 40% |
| 4 | 4 min | 60% |
| 5 | 2 min | 80% |
| 6 | 1 min | 90% |
| 7 | Instantané | 100% |
Dépenses (Boutiques/Visiteurs)
N/A
Trajet Visiteurs
N/A - Bâtiment administratif.
6. Événements
Événements du Jeu / Carte / Zoo / Ville / Visiteur
- Arrivée (
ANIMAL_ARRIVAL) : Animal livré par camion, entre dans un slot libre. - Prêt (
ANIMAL_READY) : Le temps d'acclimatation est écoulé. - Placement (
ANIMAL_PLACED) : Le joueur sort l'animal de l'accueil vers un enclos.
7. Progression
Tableau des Upgrades
| Niveau | Coût (Pièces) | Capacité | Temps Acclimatation | Temps Construction |
|---|---|---|---|---|
| 1 | 100 | 1 | 10 min | 0s |
| 2 | 200 | 2 | 8 min | 10s |
| 3 | 400 | 3 | 6 min | 30s |
| 4 | 800 | 4 | 4 min | 1m |
| 5 | 1600 | 5 | 2 min | 2m |
| 6 | 3200 | 6 | 1 min | 5m |
| 7 | 6400 | 7 | 0 min | 10m |
8. Logique et Interfaces
Pseudo-code Impacts
def update_reception(reception_center, current_time):
# Vérification de l'intégrité
if not reception_center or not reception_center.slots:
return error("Invalid reception center")
for slot in reception_center.slots:
if slot.status == "OCCUPIED":
# Vérifier si le temps est écoulé
if current_time >= slot.acclimatization_end_time:
slot.status = "READY"
trigger_event("ANIMAL_READY", {"animal_id": slot.animal_id})
def add_animal_to_reception(reception_center, animal):
# Trouver un slot vide
empty_slot = find_first_empty_slot(reception_center.slots)
if not empty_slot:
return error("RECEPTION_FULL")
# Calcul du temps selon le niveau
duration = get_acclimatization_duration(reception_center.level)
empty_slot.animal_id = animal.id
empty_slot.arrival_time = now()
empty_slot.acclimatization_end_time = now() + duration
empty_slot.status = "OCCUPIED"
return success()
Messages d'Infos / Alerte
| ID | Niveau | Message | Condition |
|---|---|---|---|
ANIMAL_READY |
Info | "Un nouvel animal est prêt à rejoindre le zoo !" | slot.status passe à READY |
RECEPTION_FULL |
Warning | "Accueil saturé, impossible d'acheter." | Tentative d'achat sans slot libre |
PLACEMENT_ERROR |
Error | "Impossible de placer ici (Enclos plein / Biome incompatible)." | Drag & Drop invalide |
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)
Arrivée Animal (Passif)
Description UX : Le camion décharge un animal. Il apparaît dans l'Accueil en mode "Attente".
Description UI : Notification "Livraison effectuée". L'icône de l'Accueil change (ex: porte fermée -> porte avec caisse devant).
Notification Push : "Votre [Animal] est arrivé à l'accueil !" envoyée si le joueur est hors ligne.
Emplacement : Case Accueil.
Intégration : Suite de l'action Camion.
Navigation : N/A
Événements : DELIVERY_COMPLETE.
Assets
- Musiques : N/A
- Sons :
truck_door.mp3,crate_drop.mp3. - Graphiques : Sprite Caisse en bois.
- Images : N/A
- Vidéos : N/A
- Animations : Camion qui repart.
- Couleurs : Marron (Caisse).
- Textes : N/A
- Formes : N/A
Consultation & Acclimatation (Consultation)
Description UX : Le joueur vérifie le temps restant avant de pouvoir placer l'animal.
Description UI : Bottom Sheet listant les animaux en transit. Barre de progression "Acclimatation" pour chacun.
Emplacement : Modal Accueil.
Intégration : Liste verticale.
Navigation : Clic Accueil -> Modal.
Événements : OPEN_RECEPTION.
Assets
- Musiques : N/A
- Sons :
ui_open.mp3 - Graphiques : Style "Quarantaine" ou "Étable propre".
- Images : Portrait animal.
- Vidéos : N/A
- Animations : Barre de progression qui avance.
- Couleurs : Orange (En cours), Vert (Prêt).
- Textes : "Prêt dans X min".
- Formes : Barres arrondies.
Transfert vers Zoo (Action)
Description UX : L'animal est prêt. Le joueur le glisse vers le zoo.
Description UI : Bouton "Placer" ou Drag & Drop depuis la liste.
Alternative : Tap to Select -> Tap to Place.
Emplacement : Modal Accueil -> Carte Zoo.
Intégration : Mode placement (comme Nurserie).
Navigation : Drag -> Drop.
Événements : PLACE_ANIMAL.
Assets
- Musiques : N/A
- Sons :
animal_happy.mp3(cri de l'animal). - Graphiques : Sprite Animal.
- Images : N/A
- Vidéos : N/A
- Animations : Animal qui saute de joie au placement.
- Couleurs : N/A
- Textes : N/A
- Formes : N/A
Vue Isométrique
- Sprite Bâtiment : 4 directions (Nord, Sud, Est, Ouest) pour s'aligner avec la route.
- Occlusion : Le bâtiment doit être semi-transparent si le joueur passe la souris derrière (pour voir les objets cachés).
- Indicateur d'état : Une icône flottante (bulle) au-dessus du bâtiment indique si un animal est prêt (point d'exclamation vert) ou en cours (sablier).
- Z-Index : Doit être trié correctement par rapport aux visiteurs passant devant.