Bibliothèque de script réutilisable

Répondre
rivvers
Goule
Messages : 468
Enregistré le : sam. 21 janv. 2012, 14:36
Statut : Hors ligne

Bibliothèque de script réutilisable

Message par rivvers »

Salut à tous et toutes,

il y a quelques mois, j'avais passé du temps sur le Codex, notamment sur les actions et les triggers.
Cela avait débouché sur pas mal de travail exploratoire et de découvertes en tout genre sur les scripts.

Après quelques recherches, j'ai trouvé que les scripts généralistes (notamment ceux de combat) d'aujourd'hui sont fades et sans aucune créativité. Ce sont de très longues listes de conditions mal pensées.
Chose qui n'était pas le cas dans les années 2000 où ça fourmillait d'idées originales tout en étant RP, même si c'était parfois bancal.


J'ai pu constituer un petit paquet d'idée pour des "snippets" : des bouts de scripts très courts (un ou deux blocs) qui traitent d'un aspect en particulier et qui sont réutilisables dans des scripts plus conséquents.
Certains ont été faits, d'autres ont avancés mais n'auront peut-être pas la possiblité d'être terminé, certains sont tout simplement impossibles. Parfois cela amène une réflexion sans forcément pouvoir "coder" une solution.
Parmi les idées de snippets, il y a de tout :
► Afficher le texte - Comment gérer efficacement les potions de soin en maintenant son moral au plus haut
- En plein combat, comment jouer un mage empoisonné : entre passivité totale et prise de risque extrême
- Négativer la valeur d'une variable
- Forcer l'utilisation d'un objet rapide avant de mourir pour éviter de le donner aux ennemis
- Que faire une fois paniqué ?
- Distinguer le berserk en attente d'ennemi et le berserk actif qui s'en prends à tout le monde
- Savoir génériquement au sein d'un bloc si la créature à une allégance opposée à la mienne
- Savoir si un voleur peut voler sa cible
- Résurection de masse: comment savoir si au moins 3 personnages du groupe sont morts ?
- Cibler les créatures sans protection contre les coups critiques quand on maîtrise le combat à 1 ou 2 mains
- Ressusciter un personnage ne faisant pas parti du groupe
- Comment les rôdeurs peuvent-ils génériquement se focaliser sur les créatures qui sont de leurs races ennemies
- Savoir si on peut réussir une attaque sournoire contre une créature
- Switcher de flèches pour trouver celles qui peuvent blesser une créature
- Après avoir charmé une créature, lui voler une partie de son équipement et si possible, s'en équiper
- Savoir si on peut réussir une attaque d'opportunité contre une créature
- Comment savoir si un carquois infini est équipé
- …


J'ai dépoussiéré ce travail ce week-end.
Je ne suis pas encore sûr de la forme qu'il pourra prendre (réponse ici).
Mais j'ai envie de partager petit à petit ce qui a été fait et de le continuer.
En plus de pouvoir fournir des bouts de scripts sympas, c'est aussi l'occasion d'expliquer pourquoi les choix ont été faits et donc d'apprendre et de partager des connaissances (c'est bien d'avoir un script qui tourne, c'est mieux de savoir pourquoi et de connaître ses limites)
C'est un peu le croisement entre du code, des connaissances sur le moteur de jeu, de la psychologie RP.

Enfin, voici les questions :

Peut-être avez-vous aussi des idées un peu farfelues pour rendre ces scripts plus cools ? Ou un besoin en particulier ? Ou souhaitez simplement réagir ?
Si vous avez quelques expérimentations ou défis, n'hésitez pas à les proposer.

Rappelez-vous, ce sont des bouts de quelques blocs réutilisables, pas des scripts complets de 2000 lignes.
Modifié en dernier par rivvers le ven. 15 août 2025, 14:41, modifié 1 fois.
Vous êtes à la recherche d'un mod merveilleux ? Trouvez votre bonheur sur la liste.
Vous êtes un artisan moddeur et perfectionniste ? Découvrez une traduction corrigée et à jour de DLTCEP.
Vous êtes un explorateur insatiable des mécaniques de l'InfinityEngine ? Plongez dans les secrets du Codex.
Vous recherchez des scripts de qualité, génériques et réutilisables ? Arpentez les templates de script.
Avatar du membre
deratiseur
Flagelleur mental
Messages : 4353
Enregistré le : mer. 05 déc. 2007, 18:35
Localisation : Gap, Hautes alpes
Statut : Hors ligne

Message par deratiseur »

Faire boire des potions de force aux guerriers qui n'ont pas 19
Faire utiliser des huiles de rapidité aux prêtres/voleurs/bardes qui tapent (c'est plus efficace sur des gars à 1 apr que sur des gars à 3+ apr)
Lancer peau de pierre/peau de fer dès que frappé par des dégâts physique.
Lancer Apaisement dès qu'un membre du groupe à peur
Sortir aussi vite que possible des zones de toiles, enchevêtrement, nuage et ne pas chercher à avancer bêtement.
Mes mods sont tous sur Mediafire et Github
Et leurs descriptions sont ici.
Vous trouvez que pour votre ensorceleur il n'y a que 2-3 sorts vraiment utiles par niveaux de sorts ? Installez L'Interplan.

Empêtré dans deux mods en même temps (un an minimum) et déjà deux autres mods dans les cartons...
rivvers
Goule
Messages : 468
Enregistré le : sam. 21 janv. 2012, 14:36
Statut : Hors ligne

Message par rivvers »

Merci pour les idées deratiseur.
Je me disais que certains sorts sont particulièrement intéressants à traiter car il est parfois primordial de connaître si les conditions sont favorables à son utilisation. En te lisant je vois qu'il serait intéressant de faire aussi cela pour les potions, de façon à maximiser leurs effets.

Peau de pierre est l'un de ces sorts intéressant.
Je l'ai déjà un peu travaillé mais sur un autre aspect : comment assurer la succession des sorts peaux de pierre sans attendre de se faire frapper pour lancer le suivant.
Un sort peut être traité sous plusieurs aspects, c'est cool. :)

Très intéressante l'idée pour les zones d'effet. J'ai des doutes sur sa faisabilité mais ça vaut le coup d'y regarder de plus prêt.

Je note tes idées en tout cas, merci.
Vous êtes à la recherche d'un mod merveilleux ? Trouvez votre bonheur sur la liste.
Vous êtes un artisan moddeur et perfectionniste ? Découvrez une traduction corrigée et à jour de DLTCEP.
Vous êtes un explorateur insatiable des mécaniques de l'InfinityEngine ? Plongez dans les secrets du Codex.
Vous recherchez des scripts de qualité, génériques et réutilisables ? Arpentez les templates de script.
rivvers
Goule
Messages : 468
Enregistré le : sam. 21 janv. 2012, 14:36
Statut : Hors ligne

Message par rivvers »

J'ai créé un notebook : https://riwspy.github.io/BCS_Snippets/intro.html

Il est pas très fourni pour le moment mais ça donne un ordre d'idée de ce à quoi ça pourrait ressembler.
J'avoue que pour le moment il y a plus de blabla que de snippet. :whistle:
Il y a un snippet, un sort (Peau de pierre dont on parle juste au-dessus), du dépoussiérage et des explications génériques.

Ça peut évoluer, je teste différentes mises en page pour trouver quelque chose de concis et lisible.
N'hésitez pas à faire des retours.
Vous êtes à la recherche d'un mod merveilleux ? Trouvez votre bonheur sur la liste.
Vous êtes un artisan moddeur et perfectionniste ? Découvrez une traduction corrigée et à jour de DLTCEP.
Vous êtes un explorateur insatiable des mécaniques de l'InfinityEngine ? Plongez dans les secrets du Codex.
Vous recherchez des scripts de qualité, génériques et réutilisables ? Arpentez les templates de script.
Selphira
Adepte de Grondemarteau
Ours des cavernes
Messages : 1178
Enregistré le : dim. 25 juil. 2004, 22:28
Statut : Hors ligne

Message par Selphira »

J'adore cette idée, car j'ai dans mes projets un mod similaire à ItemDispatcher (il n'est pas abandonné, mais actuellement mon temps libre est sur AutoDescription pour lequel je prépare une nouvelle version), mais pour l'IA.
Et tes idées de snippet se marieraient extrêmement bien avec ce que j'ai en tête.

L'idée est de modifier ou créer l'IA des créatures en fonctions de modules comportementaux qu'il serait possible de combiner. Ces modules pourraient être de gros script ou de petits snippet bien spécifiques.
Chaque module pourrait avoir un prérequis pour être appliqué (Ex: un module pour boire une potion n'a pas à être appliqué sur un animal, posséder tel sort, tel équipement, etc.). Le fait que certains prérequis soient vérifiés à l'installation permettra de créer des scripts plus léger in-game.

Je réutiliserai l'outil de sélection et de dispatch créé pour ItemDispatcher afin de déterminer qui aurait quelle IA, et pour combiner les modules.
Le but est, par exemple, que tous les mages génériques ne se comportent pas de la même façon, on pourrait avoir des comportement agressifs, peureux, protecteurs, préférant la distance, préférant le corps à corps, groupés, solos, hit & run, kamikaze, etc.
Chaque combat serait une petite découverte à appréhender d'une manière différente.
Et on pourrait toujours créer des IA bien spécifiques pour que certaines créatures aient un comportement singulier.

Je n'ai pour l'instant aucune proposition de snippet à te faire, mais je ne manquerai pas de les ajouter ici dès que des idées me viendront.
rivvers
Goule
Messages : 468
Enregistré le : sam. 21 janv. 2012, 14:36
Statut : Hors ligne

Message par rivvers »

En effet, ça a l'air d'être deux idées complémentaires.
Typiquement pour la Peau de pierre, il existe actuellement 4 versions, chacune pouvant convenir à un profil de personnage différent.
Et je trouve justement intéressant de pouvoir fournir plusieurs approches à une même situation/capacité.

Si tu as des besoins particuliers, je peux en tenir compte pour orienter mon travail.
Vous êtes à la recherche d'un mod merveilleux ? Trouvez votre bonheur sur la liste.
Vous êtes un artisan moddeur et perfectionniste ? Découvrez une traduction corrigée et à jour de DLTCEP.
Vous êtes un explorateur insatiable des mécaniques de l'InfinityEngine ? Plongez dans les secrets du Codex.
Vous recherchez des scripts de qualité, génériques et réutilisables ? Arpentez les templates de script.
Répondre

Retourner vers « Modding et Outils de développement »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 4 invités