532 lines
16 KiB
Markdown
532 lines
16 KiB
Markdown
# 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 |
|