# 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) ```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 | priorité survie + | ### Impact Milieu (Biome) | Biome | Effet | |---|---| | Biome défavorable à la majorité | Achats “changement milieu” | priorité survie + | ### 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 | fréquence + lente | ## 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 d’absence → 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.