# Chercheur ## 1. Définition Employé travaillant dans le Centre de Recherche pour générer des points de science (ou débloquer des technologies). Il est distinct du personnel de laboratoire (qui s'occupe de la génétique/bébés). Achetable avec des pièces. ## 2. Fonctions * **Recherche :** Génère passivement des points de recherche. * **Découverte :** Accélère le déblocage de nouveaux animaux, bâtiments ou améliorations. * **Collaboration :** Travaille plus efficacement en équipe (bonus de synergie). ## 3. Icone * **Représentation :** Microscope ou Atome. * **Couleur dominante :** Bleu ciel et Blanc. ## 4. Interactions * **Recrutement :** Menu "Employés", coût en pièces. * **Assignation :** Doit être assigné à un Centre de Recherche (max 3 par centre). * **Formation :** Peut être envoyé en stage pour augmenter son intelligence (coût + temps). ## 5. Annexes Techniques ### Données (JSON) ```json { "employee_id": "researcher_01", "type": "chercheur", "name": "Dr. Curie", "salary": 60, "hire_cost": 600, "assigned_building": "research_center_01", "fatigue_level": "float (0-100)", "current_task": "enum (IDLE, RESEARCHING, TRAINING)", "stats": { "intelligence": 10, // Points de recherche par cycle "specialty": "genetics" // Bonus dans un domaine }, "iso_x": "integer", "iso_y": "integer", "z_index": "integer" } ``` ### Règles Métier * **Limite :** Maximum 3 chercheurs par bâtiment "Centre de Recherche". * **Fatigue :** L'efficacité diminue si la fatigue > 80%. Doit prendre des pauses. * **Synergie :** 3 chercheurs de la même spécialité dans un centre = Bonus +20%. ## 6. Annexes UX/UI * **Visuel Carte :** Visible à travers les fenêtres du Centre de Recherche ou entrant/sortant. * **Interface Bâtiment :** Slots d'employés (0/3) dans le menu du Centre de Recherche. * **Feedback :** Bulles de science (fioles, atomes) s'élevant du bâtiment quand ils travaillent. # 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é “Chercheur” | | Rôle | Générer des unités de recherche (science) via `centre_recherche.md` ; distinct du laboratoire de la carte monde. | | Capacité | Max 3 chercheurs par centre de recherche (contrainte métier). | | Vue | Isométrique 2.5D, sprite 4 directions, sélection base-sprite. | ## Fonctions (tableau détaillé) | Fonction | Déclencheur | Entrées | Sorties | Règles | Observabilité | |---|---|---|---|---|---| | Production recherche | Tick centre | `intelligence`, fatigue, bonus centre | `research_units +` | Production réduite si fatigue élevée ; pause obligatoire | Event `RESEARCH_TICK`, métriques /jour | | Spécialisation | Assignation | `specialty` | bonus ciblé | Bonus appliqué aux recherches du domaine | Event `RESEARCH_SPECIALTY_APPLIED` | | Synergie | 3 chercheurs | spécialité identique | +20% | Uniquement si même centre | Event `RESEARCH_SYNERGY_ON/OFF` | | Formation | Action joueur | coût, temps | `intelligence +` | Immobilise le chercheur pendant training | Event `RESEARCHER_TRAIN_START/END` | ## Icone de base | Élément | Spécification | |---|---| | Représentation | Microscope / atome | | Couleur dominante | Bleu ciel / blanc | | Variantes | `icon_research_microscope.png`, `icon_research_atom.png` | | États | Badge “en recherche” (fioles), “en stage” (diplôme), “fatigué” (Zzz) | ## Interactions (tableau détaillé) | Interaction | Type | Préconditions | Étapes UI | Résultat | Erreurs / Messages | |---|---|---|---|---|---| | Recruter | Action | coins ≥ `hire_cost` | Menu Employés → Chercheur → Confirmer | Chercheur créé (non assigné) | `INSUFFICIENT_FUNDS`, `EMPLOYEE_CAP_REACHED` | | Assigner au centre | Action | centre dispo, slots < 3 | Centre → Slots → Sélectionner → Assigner | Prod active | `RESEARCH_CENTER_FULL`, `NO_PATH` | | Démarrer formation | Action | coins ≥ coût, centre présent | Panel chercheur → “Former” → Confirmer | état `TRAINING` | `COOLDOWN_ACTIVE`, `INSUFFICIENT_FUNDS` | | Changer spécialité | Action (si permis) | stage débloqué | Panel → spécialité | bonus différent | `SPECIALTY_LOCKED` | | Inspecter production | Consultation | - | Centre → onglet Recherche | graphiques / taux | - | ## Annexes Techniques ### 1. Données et États (tableau détaillé) | Donnée / État | Type | Exemple | Source | Contraintes | |---|---|---|---|---| | `employee_id` | string | `researcher_01` | DB | Unique | | `type` | enum | `chercheur` | DB | Constante | | `salary` | int | 60 | config | coins/jour | | `hire_cost` | int | 600 | config | one-shot | | `assigned_building` | uuid/string | `research_center_01` | runtime | null si non assigné | | `fatigue_level` | float | 0..100 | runtime | réduit prod | | `current_task` | enum | `IDLE|RESEARCHING|TRAINING` | runtime | transitions contrôlées | | `stats.intelligence` | int | 10 | DB | unités/cycle | | `stats.specialty` | enum | `genetics|ecology|marketing|logistics` | DB | 1 parmi n | | `grid` | object | `{x,y}` | runtime | position (si visible) | | `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 | |---|---:|---|---| | Production brute | 10 | units/cycle | `intelligence` | | Fatigue départ | 0 | % | - | | Seuil fatigue malus | 80 | % | prod -30% au-delà | | Pause | 15 | min in-game | après cycle long | | Synergie | +20% | prod | si 3 mêmes spécialités | #### Scores Initiaux (tableau détaillé) | Score | Valeur initiale | Plage | Impact | |---|---:|---|---| | Units/jour | 0 | 0..∞ | progression recherches | | Efficacité centre | 100 | 0..200 | résume bonus/malus | | Coût salarial/jour | 60 | 0..∞ | dépenses employé | ### 2. Cycles de Vie et Apparition (tableau détaillé) | Phase | Déclencheur | Entrées | Sorties | Invariants | |---|---|---|---|---| | Apparition | embauche | coins | entité | `IDLE` | | Assignation | action centre | slot dispo | `RESEARCHING` | max 3/centre | | Training | action joueur | coins + temps | `intelligence +` | immobilisé | | Disparition | licenciement (si prévu) | - | suppression | stop production | #### Conditions d'Apparition (tableau détaillé) | Condition | Seuil | Opérateur | Résultat | |---|---:|---|---| | Achat | coins ≥ `hire_cost` | vrai | création | | Centre existant | optionnel | - | assignation possible | #### 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 | |---|---|---| | Spécialité | Oui | persistée | | Intelligence | Oui | persistée | | Fatigue | Non | recalcul / reset quotidien | ### 3. Impacts Environnementaux #### Impact Température (tableau détaillé) | Température | Effet sur prod | Condition | |---|---|---| | Extrême | -10% | si bâtiment non amélioré (isolation) | | Tempéré | 0 | - | #### Impact Milieu (Biome) (tableau détaillé) | Biome | Effet | Notes | |---|---|---| | Ville/route | neutre | centre en intérieur | | Zone humide | malus | humidité (option visuelle) | #### Impact Saisons (tableau détaillé) | Saison | Effet | Modificateur | |---|---|---| | Hiver | chauffage coûte + | prod stable | | Été | canicule | fatigue +5%/jour | #### Impact Heure / Jour-Nuit (tableau détaillé) | Période | Effet | Règle | |---|---|---| | Jour | prod normale | - | | Nuit | prod réduite | -20% si “horaires normaux”, 0% si centre fermé | ### 4. Impacts Biologiques et Sociaux #### Impact Reproduction (tableau détaillé) | Facteur | Effet | Condition | |---|---|---| | Recherche “fertilité” | +taux | si tech débloquée | #### Impact Mort (tableau détaillé) | Cas | Effet | Condition | |---|---|---| | Accident labo | none | chercheur ≠ labo monde | #### Impact Nourriture (tableau détaillé) | Ressource | Effet | Condition | |---|---|---| | Café (option) | fatigue - | mécanique employé | #### Impact Attractivité(Visiteurs (tableau détaillé) | Action/État | Gain | Rayon | Notes | |---|---:|---:|---| | Centre actif visible | +5 | 2 cases | bulles science | #### Impact Attractivité Animaux) (tableau détaillé) | Action/État | Effet animaux | Condition | |---|---|---| | Aucun effet direct | aucun | le chercheur n’interagit pas directement avec les animaux | #### Impact Valeur (tableau détaillé) | Facteur | Variation | Condition | |---|---:|---| | Recherche débloquée | + | débloque upgrades, économie | ### 5. Impacts Logistiques et Économiques #### Vitesse (Camion) (tableau détaillé) | Paramètre | Effet | Condition | |---|---|---| | Livraison composants | - | si mécanique ravitaillement centre | #### Vitesse (Nurserie) (tableau détaillé) | Paramètre | Effet | Condition | |---|---|---| | Recherche incub | + | si tech appliquée | #### Vitesse (Accueil) (tableau détaillé) | Paramètre | Effet | Condition | |---|---|---| | - | aucun | - | #### Vitesse (Recherche) (tableau détaillé) | Paramètre | Effet | Condition | |---|---|---| | Production units | + | intelligence/synergie | #### Vitesse (Labo) (tableau détaillé) | Paramètre | Effet | Condition | |---|---|---| | - | indirect | via tech | #### Vitesse (Visite) (tableau détaillé) | Paramètre | Effet | Condition | |---|---|---| | - | indirect | via attractivité centre | #### Dépenses (Billeterie) (tableau détaillé) | Poste | Coût | Unité | Condition | |---|---:|---|---| | - | 0 | - | - | #### Dépenses (Boutiques) (tableau détaillé) | Poste | Coût | Unité | Condition | |---|---:|---|---| | Vente “science kit” | +revenu | coins | boutique souvenirs | #### Dépenses (Visiteurs) (tableau détaillé) | Poste | Coût | Unité | Condition | |---|---:|---|---| | - | 0 | - | - | #### Dépenses (Employés) (tableau détaillé) | Poste | Coût | Unité | Condition | |---|---:|---|---| | Salaire | `salary` | coins/jour | actif | | Stage | 300 | coins | par formation | #### 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 | |---|---:|---|---| | - | 0 | - | - | #### Dépenses (Camion) (tableau détaillé) | Poste | Coût | Unité | Condition | |---|---:|---|---| | - | 0 | - | - | #### Trajet Visiteurs ##### Trajet Visiteurs vers/depuis la ville (tableau détaillé) | Source | Destination | Déclencheur | Effet | |---|---|---|---| | Ville | Zoo | attractivité/réputation | chercheur indirect | ##### Trajet Visiteurs vers/depuis les animaux (tableau détaillé) | Source | Destination | Déclencheur | Effet | |---|---|---|---| | Centre | Enclos | curiosité | détour si FX visibles | ##### Trajet Visiteurs vers/depuis les boutiques (tableau détaillé) | Source | Destination | Déclencheur | Effet | |---|---|---|---| | Centre | Boutique | achat souvenir | dépense + | ##### Trajet Visiteurs vers/depuis la billeterie (entrées/sorties du zoo) (tableau détaillé) | Source | Destination | Déclencheur | Effet | |---|---|---|---| | Entrée | Centre | halo science | visite guidée | ### 6. Événements #### Événements du Jeu (tableau détaillé) | Event | Déclencheur | Payload | Effet | |---|---|---|---| | `RESEARCH_UNIT_GAINED` | tick | amount | progression | #### Événements du Carte (tableau détaillé) | Event | Déclencheur | Effet | |---|---|---| | `BUILDING_ACTIVE_FX` | centre actif | bulles science | #### Événements du Zoo (tableau détaillé) | Event | Déclencheur | Effet | |---|---|---| | `RESEARCH_CENTER_FULL` | slots=3 | bloque assignation | #### Événements du Ville / Visiteur (tableau détaillé) | Event | Déclencheur | Effet | |---|---|---| | `VISITOR_INTEREST_SCIENCE` | centre proche | temps séjour + | #### Événements du Visiteur (tableau détaillé) | Event | Déclencheur | Effet | |---|---|---| | `VISITOR_PHOTO` | FX visibles | satisfaction + | #### Événements du Joueur (tableau détaillé) | Event | Déclencheur | Effet | |---|---|---| | `PLAYER_START_TRAINING` | bouton | start stage | ### 7. Progression #### Tableau des Upgrades (tableau détaillé) | Niveau | Coût | Effet | Débloque | |---|---:|---|---| | 1 | 0 | recrutement | base | | 2 | 1500 | intelligence +2 | prod + | | 3 | 3000 | fatigue -10% | endurance | | 4 | 6000 | spécialités avancées | nouveaux domaines | ### 8. Logique et Interfaces #### Pseudo-code Impacts (tableau détaillé) | Fonction | Entrées | Sorties | Notes | |---|---|---|---| | `update_researcher` | fatigue, intelligence | units | clamp + pause | | `apply_synergy` | team | multiplier | 3 mêmes | #### Messages d'Infos / Alerte (tableau détaillé) | ID | Niveau | Message | Condition | |---|---|---|---| | `RESEARCH_CENTER_FULL` | Warning | "Centre complet." | slots=3 | | `RESEARCHER_FATIGUED` | Warning | "Chercheur fatigué." | fatigue>80 | | `RESEARCH_UNLOCKED` | Info | "Recherche débloquée." | units seuil | ## Annexes UX/UI ### 1. Expérience Utilisateur (UX) #### Description UX (tableau détaillé) | Parcours | But | Friction | Réduction clics | |---|---|---|---| | Assigner chercheurs | augmenter production | slots | drag & drop dans slots | | Former | améliorer prod | coût/temps | bouton direct sur carte employé | #### Description UI (tableau détaillé) | Composant | Contenu | États | |---|---|---| | Panel centre | slots 0/3, prod/h | actifs/plein | | Carte chercheur | spécialité, fatigue | researching/training | #### Emplacement (tableau détaillé) | Zone UI | Position | Notes | |---|---|---| | Menu Employés | HUD | liste | | Centre recherche | carte | sélection | #### Intégration (tableau détaillé) | Intégration | Contrat | Notes | |---|---|---| | Système unités | accumulation | pas de cache | | Upgrades | coût/effet | via `achat_upgrade_*` | #### Navigation (tableau détaillé) | Action | Chemin | Résultat | |---|---|---| | Ouvrir centre | clic bâtiment | panel | | Assigner | slot → choisir | start prod | #### Événements (tableau détaillé) | Event UI | Déclencheur | Effet | |---|---|---| | `OPEN_RESEARCH_CENTER` | clic centre | panel | | `ASSIGN_RESEARCHER` | drag/drop | assign | #### Assets Skinables ##### Musiques (tableau détaillé) | Asset | Usage | Durée | Notes | |---|---|---:|---| | `research_center_loop.mp3` | ambiance centre | loop | discret | ##### Sons (tableau détaillé) | Asset | Usage | Volume | |---|---|---| | `science_bubble.mp3` | FX | faible | | `ui_assign.mp3` | assignation | faible | ##### Graphiques (tableau détaillé) | Asset | Usage | Contraintes | |---|---|---| | `fx_atoms.png` | bulles science | overlay | | `researcher_sprite_[dir].png` | sprite | 4 dirs | ##### Images (tableau détaillé) | Asset | Usage | |---|---| | `icon_microscope.png` | icône | | `portrait_researcher.png` | panel | ##### Vidéos (tableau détaillé) | Asset | Usage | Durée | |---|---|---:| | `research_unlock.webm` | pop unlock | 1.0s | ##### Animations (tableau détaillé) | Animation | Déclencheur | Notes | |---|---|---| | fioles qui montent | production | loop | | badge “+units” | tick | 0.4s | ##### Couleurs (tableau détaillé) | Token | Valeur | Usage | |---|---|---| | `research_primary` | #6EC6FF | UI | | `research_accent` | #FFFFFF | highlights | ##### Textes (tableau détaillé) | Clé | FR | EN | |---|---|---| | `research.assign` | Assigner | Assign | | `research.train` | Former | Train | ##### Formes (tableau détaillé) | Élément | Forme | Notes | |---|---|---| | Slots employés | cartes | drag target | | Badge unités | pill | lisible |