Files
builazoo/docs/specs/bot.md
Nicolas Cantu 5143a79890 docs: enrich docs/specs and remove placeholders
**Motivations:**
- Make docs/specs implementation-ready without empty sections or placeholders.

**Root causes:**
- Multiple specs still contained non-actionable placeholders (N/A, “see above”, "..."), and inconsistent “no cache” wording.

**Correctifs:**
- Replace placeholders with explicit tables, structures, and typed examples.
- Align “no cache / no memorization” statements where relevant.

**Evolutions:**
- Add a features doc entry to track the documentation enrichment effort.

**Pages affectées:**
- docs/specs/*
- docs/features/docs-specs-enrichment.md
- docs/leo.md
- docs/plan-enrich-docs-specs.md
2026-03-05 03:08:15 +01:00

7.2 KiB
Raw Blame History

Spécifications : Bot (Profil d'Absence)

Définition

Intelligence Artificielle qui gère un zoo. Peut être un concurrent permanent ou le remplaçant du joueur en cas d'absence.

Profils d'Absence (50 Archétypes)

Le joueur choisit un profil pour gérer son zoo quand il est hors ligne. Sélection hiérarchique : Famille > Spécialisation.

Familles

  1. Les Conservateurs : Priorité survie, achat nourriture, pas d'expansion.
  2. Les Éleveurs : Priorité reproduction, optimisation placements.
  3. Les Commerçants : Priorité achat/vente, spéculation.
  4. Les Expansionnistes : Priorité agrandissement terrain/bâtiments.
  5. Les Scientifiques : Priorité recherche et école.

Fonctionnement

  • Cycle : Agit à chaque tick serveur ou selon sa fréquence définie.
  • Ressources : Utilise les ressources du zoo (pièces) selon les seuils du profil.
  • Indicateurs : Visible sur la carte du monde (Pièces, Parcelle).

Annexes Techniques

1. Données et États

Modèle de Données (JSON)

{
  "id": "integer",
  "family": "enum",
  "name": "string",
  "logic": {
    "buy_food_threshold": "float (0-1)",
    "sell_animal_threshold": "float (price factor)",
    "expand_map_priority": "int (0-10)",
    "research_priority": "int (0-10)"
  },
  "iso_x": "integer",
  "iso_y": "integer",
  "z_index": "integer"
}

Caractéristiques Initiales

Caractéristique Valeur Initiale Type Description
Fréquence min 5 minutes Intervalle minimal entre actions.
Fréquence max 60 minutes Intervalle maximal (profil lent).
Budget action 10% % coins Part des coins max utilisable par action (plafond anti-ruine).

Scores Initiaux

Score Valeur Initiale Plage (Min-Max) Impact
Agressivité marché 50 0-100 Propension à acheter/vendre.
Prudence survie 50 0-100 Propension à acheter nourriture/soins.
Priorité expansion 20 0-100 Propension à agrandir carte/améliorer bâtiments.

2. Cycles de Vie et Apparition

Conditions d'Apparition

Activation par joueur (déconnexion) ou Spawn serveur (Bot permanent).

Conditions de Disparition

Connexion joueur.

Hérédité

Parent Trait Transmis Probabilité Mutation Possible
Profil choisi Paramètres logique 100% Non

3. Impacts Environnementaux

Impact Température

Condition Effet
Froid/Chaud extrême Augmente achats régulation/biome

Impact Milieu (Biome)

Biome Effet
Biome défavorable à la majorité Achats “changement milieu”

Impact Saisons

Saison Effet Modificateur
Printemps Focus reproduction priorité éleveur +
Hiver Focus survie priorité conservateur +

Impact Heure / Jour-Nuit

Période Effet
Nuit Actions limitées

4. Impacts Biologiques et Sociaux

Impact Reproduction

Facteur Effet sur Taux Condition
Score survie élevé Bot tente reproduction profil éleveur

Impact Mort

Cause Conséquence Durée
Série de morts Bot achète nourriture/soins 24h

Impact Nourriture

Facteur Variation Condition
Stock bas Achat immédiat seuil profil

Impact Attractivité (Visiteurs/Animaux)

Action/État Gain Attractivité Rayon d'action
Placements optimisés + zoo du bot

Impact Valeur

Facteur Variation Condition
Profil commerçant Valeur cash + ventes fréquentes

5. Impacts Logistiques et Économiques

Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)

Fréquence Action : 1 action toutes les 5 à 60 minutes (selon profil).

Dépenses (Boutiques/Visiteurs)

Poste Coût Unité Condition
Achats auto nourriture variable coins selon seuil
Achat upgrades variable coins selon priorité

Trajet Visiteurs

Trajet Règle Notes
Rapport dabsence → décisions Script profilé Le bot ne “se déplace” pas : il calcule des actions sur létat du zoo et sur le marché.

6. Événements

Événements du Jeu / Carte / Zoo / Ville / Visiteur

  • Action Bot : Achat/Vente automatisé.

7. Progression

Tableau des Upgrades

Niveau Coût Prérequis Bonus Débloqué
1 0 - Profil basique
2 5000 Réputation 300 Stratégies avancées (arbitrage)

8. Logique et Interfaces

Pseudo-code Impacts

function runBotLogic(bot, zoo):
  if zoo.foodStock < bot.logic.buy_food_threshold:
    buyFood(zoo)
    return

  if bot.family == 'BREEDER':
    optimizePairs(zoo)

  if bot.family == 'TRADER':
    checkMarketArbitrage(zoo)

Messages d'Infos / Alerte

ID Niveau Message
BOT_ACTIVE Info "Le mode automatique est activé."

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)

Sélection du Profil (Configuration)

Description UX : Le joueur choisit comment son zoo sera géré en son absence. Description UI : Interface à deux niveaux. 1. Choix Famille (5 grosses cartes illustrées). 2. Choix Spécialisation (Liste déroulante ou grille de sous-profils). Emplacement : Profil Joueur -> Onglet Absence. Intégration : Modal dédiée. Navigation : Clic Famille -> Clic Spécialisation -> Valider. Événements : SELECT_BOT_PROFILE.

Assets

  • Musiques : ui_bot_family_pick.mp3 (jingle court).
  • Sons : card_flip.mp3.
  • Graphiques : Illustrations des familles (ex: Conservateur avec bouclier, Commerçant avec bourse).
  • Images : Portraits Bots.
  • Vidéos : bot_family_cards.webm (1s loop, optionnel).
  • Animations : Flip de carte au choix.
  • Couleurs : Code couleur par famille (Vert=Conservateur, Jaune=Commerçant, etc.).
  • Textes : Titres et Descriptions courtes.
  • Formes : Cartes rectangulaires.

Feedback Activité (Passif)

Description UX : Le joueur revient et voit ce que le bot a fait. Description UI : Rapport de connexion ("Pendant votre absence, le bot a : Vendu 2 lapins, Acheté 100 nourriture"). Emplacement : Écran de connexion (Popup). Intégration : Bloquant au démarrage. Navigation : Lire -> Fermer. Événements : SHOW_REPORT.

Assets

  • Musiques : ui_report_open.mp3 (jingle court).
  • Sons : notification.mp3.
  • Graphiques : Icône Robot.
  • Images : icon_robot.png, report_bg.png.
  • Vidéos : report_scroll.webm (0.8s loop, optionnel).
  • Animations : Apparition slide-in + highlight des lignes importantes.
  • Couleurs : Gris/Métal.
  • Textes : Liste des actions.
  • Formes : Liste à puces.