google-code-export / rolisteam

Automatically exported from code.google.com/p/rolisteam
1 stars 0 forks source link

Upgrade du systeme de dés : jet a seuil et jet avec relance #27

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
***Description:
A l'heure actuelle, on ne dispose que de deux type de jet
*-Un jet que je qualifierais de jet additif : on lance un certain nombre de 
dés, on prend les résultats, on additionne, on ajoute un éventuel 
modificateur (qui peut être négatif), et hop-là, roulez jeunesse.

*-Un jet a seuil, mais fixe : on lance un certain nombre de dés a 6 faces et 
on indique combien sont au dessus de 5
NOTA : c'est ce que j'ai cru comprendre de ce que j'ai lu. Comme je n'arrive 
pas a effectuer un lancer Shadowrun style, je ne suis pas sur qu'il fonctionne 
comme cela

***What you want to get / Qu'est-ce que vous voudrez obtenir :
Deux choses.

En premier lieu, pouvoir gérer des dés avec relance. 
Par exemple, prenons que nous voulons effectuer un lancer additif (cf. plus 
haut) de 5d6 avec un modificateur de +2 MAIS que pour chaque dés donnant 5 ou 
plus, nous relançons ce dé, et ce tant qu'il donne 5 ou plus, et que nous 
additionnons chaque nouveau résultat.

A l'heure actuelle nous n'avons pas d'autre choix que de lancer plusieurs jet 
séparés.

Pour effectuer le lancer décrit juste au dessus (5d6+2 avec relance), nous 
pourrions entre la commande suivante : 
!5d6+2r5
ce qui nous donnerait le résultat (imaginé) suivant : 
Vous avez obtenu  23  à  votre jet de dés  [5d6 (9(5,4),4,4,3,1) + 2]

Nous pourrions aussi avoir une valeur de relance par défaut, qui serait le 
nombre de face du dés. La commande !5d6+2r indiquerait donc de relancer 
uniquement les dés faisant 6.

Nous pourrions aussi indiquer le nombre maximum de relance, via le modificateur 
l
Par exemple, !5d6r5l1 limiterait le nombre de relance par dés a une, et 
pourrait donner le résultat suivant
Vous avez obtenu  24  à  votre jet de dés  [5d6 (9(5,5),4,4,3,1) + 2]

Le second jet qui m'est venu a l'esprit est un type de jet a seuil, un peu 
comme le jet Shadowrun, mais ou le seuil est modifiable.

Par exemple, imaginons que nous voulions lancer 5 dés a 6 faces, et ne 
considérer que ceux dont le résultat est égal ou supérieur a3 comme des 
succés. Nous pourrions entrer la commande suivante : 
!5d6s3
Et nous pourrions obtenir le résultat suivant : 
Vous avez obtenu quatre succès à votre jet de dés [5d6 (5,4,4,3,1)]

Bien entendu, avoir les jets ayant donné un succès en rouge (ou autre 
couleur) serait un plus.

Les dés de ce genre de jet pourrait également être relancé, pour atteindre 
des seuils supérieur au nombre de face, et ce suivant la syntaxe décrite plus 
haut.
Par exemple, supposons que nous voulions lancer 5d6, relancer les 5 et les 6, 
pour essayer d'atteindre un seuil de 9, en limitant le nombre de relance a 1. 
Cela se ferait par la commande suivante : 
!5d6s9l1
Et cela pourrait donner le résultat suivant
Vous avez obtenu un succès à votre jet de dés [5d6 (11(5,6),6(5,1),4,3,1)]

En résumé, la commande pour les dés pourrait être décrite ainsi. 

<Dés>d<Faces>[s<Seuil>][r[Relance][l<limite]]

Dés : indique le nombre de dés a lancer
Faces : indique le nombre de faces des dés
Seuil : indique le seuil a atteindre pour chaque dés. Si la commande s<Seuil> 
est absente, le jet est considéré comme étant additif
Relance : indique le résultat minimum a atteindre sur un dés pour que 
celui-ci soit relancé. Si la commande r est présente, mais que [Relance] est 
absente, on considère qu'il est égale a <Faces>. La commande 
limite : indique le nombre maximum de relance pour un dès. Si la commande 
l<limite> est absente, on considère qu'il n'y a pas de limite au nombre de 
relance. Toutefois un nombre max de relance codé en dur doit toutefois être 
présent, pour éviter qu'une commande du style !5d6r1 ne bloque le programme.

Additional informations / Informations Additionnelles :
Bien entendu, je suis près a mettre la main a la pâte pour cette modification.

Original issue reported on code.google.com by pierrick...@gmail.com on 21 Sep 2010 at 12:10

GoogleCodeExporter commented 9 years ago
L'issue 26 est bien entendu en rapport avec celle-ci 
(http://code.google.com/p/rolisteam/issues/detail?id=26)

Original comment by pierrick...@gmail.com on 21 Sep 2010 at 12:12

GoogleCodeExporter commented 9 years ago
Ca me semble bien compliqué.

J'avais proposé à l'époque que pour chaque session, le MJ choisisse un 
format de jet de dés approprié à son jeu, et que ce format spécial soit 
appelé par (par exemple) ":"

Si je joue à SR4, :4d donnerait donc : "Vous avez deux succès et une 
complication (1,1,5,6)"
Si je joue à Vampire 1, :5d7 donnerait donc : "Vous avez 1 succès (1,3,5,7,9)"
Si je joue à Pavillon Noir, :4d6 donnerait donc : "Vous avez 3 succès 
(1,5,8,9)"

Etc.

Même si à terme l'auteur du soft veut aller vers des jets graphiques et qui 
références la fiche de pj (on ne ferait plus !4d6+1-1d8 mais on cliquerait 
sur "jet de perception") c'est à _très_ long terme, et il faut toujours une 
commande texte en fall back (si vous avez testé Fantasy Grounds, vous savez 
que les commandes textes restent infiniment plus pratiques et rapides la 
plupart du temps).

À court/moyen terme, avoir juste un ou deux format additionnel d'entrée de 
lancé "spécial" de dés, avec des formats simples, et un menu où choisir la 
définition/construction de son format spécial (ou choisir son jeu tout 
simplement), me semble de loin le meilleur compromis. Et le travail n'est pas 
perdu pour la V2 en plus.

Imo.

Original comment by poube...@dorem.info on 21 Sep 2010 at 11:49

GoogleCodeExporter commented 9 years ago
J'ai de grand projet pour la gestion des dés mais relativement peu envie de 
les mettre en pratique dans la version 1.0.0 de rolisteam. 

Pour la version 2.0.0.
Effectivement, l'assistant graphique est une des améliorations. 
Le choix de la syntaxe en est une bonne en début de partie. Je pensais à un 
système de plugin de syntaxe ou de fichiers descriptifs.
Je travaille sur la gestion des fiches de perso dans la version 2.0.0

Il est clair et visible que tu y as bien réfléchi. Si tu te sens capable de 
l'implémenter, je ne vais pas te dire non, c'est sur. Si on refait les jets de 
dés de la version 1.0.0, j'aimerai supprimer la syntaxe Shadows run (elle 
serait réalisable par ton système). Il faudra faire une documentation béton 
dessus.

Il y a sur le forum un débat la dessus 
http://forum.rolisteam.org/viewtopic.php?id=21

Cordialement
Renaud 

Original comment by renaud.g...@gmail.com on 22 Sep 2010 at 8:12

GoogleCodeExporter commented 9 years ago
Le problème de limiter les jets a un seul type par partie, c'est qu'on limite 
grandement les possibilités. En effet, imaginons qu'un jeu ai besoin de jet "a 
Seuil" et de jet "Additif" ? Comment qu'on fait ?

Après rien n'empêche le joueur de régler les informations du jet par défaut 
: nombre de faces, le seuil de succès, si les relances sont autorisées, et si 
oui a partir de quel résultat et le nombre de relance autorisées.

Par exemple, en admettant que le jet par défaut est un jet de dés a 6 faces, 
a Seuil, avec un seuil de 5, une relance a 6 et un nombre de relance limitées 
a 1, L'instruction !5d correspondrait a !5d6s5r6l1

Et rien n'empêcherait de modifier les valeurs par défaut pour un jet donné. 
Par exemple, !5ds4 correspondrait a !5d6s4r6l1.

Sinon, comme je l'ai dit, je veux bien me plonger dedans, mais je vais d'abord 
bétonner "l'architecture" des jets (types de jets, etc.). Ensuite, 
j'ajouterais les instructions pour y accéder.

Original comment by pierrick...@gmail.com on 23 Sep 2010 at 7:16

GoogleCodeExporter commented 9 years ago
J'ai une compilation de types de jets (exotiques mais réels), que je dois 
poster sur le forum depuis une éternité. Je vais essayer de retrouver ça.

Sinon, je pense qu'il faut voir ce dont ont a besoin en jeu. Combien de jeux 
ont 3 mécaniques de jets totalement différentes (en plus de la classique 
addition "!") ? 

Et sinon, je pense vraiment que le MJ doit définir cela (quitte à puiser dans 
une bibliothèque pré-définie), et que cela doit s'appliquer à tous par 
propagation automatique (que le MJ soit serveur ou non). Si il faut demander à 
chaque joueur de modifier sa config, qui peut changer de jour en jour en plus 
(différentes parties et jeux), c'est ingérable.

Mais honnêtement, d'expérience, le joueur moyen ne sait pas ouvrir un port, 
ne sait pas utiliser la musique (même après lui avoir expliqué qu'il faut 
pré-ouvrir le bon dossier), ne sait pas regarder son numéro de version, et a 
du mal avec !4d6+2. Alors !5d6s4r6l1 ça ne me semble pas réaliste, il faut 
vraiment à mon sens un système d'alias propagés de façon transparente par 
le MJ.

Original comment by poube...@dorem.info on 23 Sep 2010 at 8:24

GoogleCodeExporter commented 9 years ago
Je ne veux pas limiter un type de jet par partie mais autoriser un système de 
jet (la portée de la limite pourrait être dans un tchat ou même être 
évolutive). 
Si tu veux on aurait un module générique qui gèrerait !5d6s4r6l1 alors que 
le module spécifique d'un jeu en définissant des valeurs de seuil et tout ou 
des règles plus compliqué. Comme la relance d'un dès identifié (Star Wars 
D6). Ou la suppression de succès en cas d'échec de certains dés (MDT1). Il y 
aura aussi la possibilité de définir des règles en fonctions de la fiche du 
personnage. C'est ça que les systèmes par jeu doivent être capable de 
gérer. Ce que tu veux faire serait plutot un système de jet complet et 
générique. Il y aura toujours dès cas non prévus. A la fin, on tapera : 
!init et le jet d'init sera fait, même si le !init se traduit par un 
!5d6s4r6l1 derrière quoi.

Original comment by renaud.g...@gmail.com on 24 Sep 2010 at 12:17

GoogleCodeExporter commented 9 years ago
C'est une question de philosophie (release early release often ou pas), mais 
surtout d'ampleur du chantier.

Parce que gérer une fiche de personnage, çà demande une _brouette_ de 
système d'import/export, une gestion de la révision, de propagation des 
données pj<->mj, etc. Si il faut retaper avec ses petites mimines toute sa 
campagne dans le format interne à Rolisteam, il ne sera presque jamais 
utilisé. Juste ce module là, de gestion de fiche de PJ, est probablement plus 
complexe que tout le reste du logiciel en son entier actuellement.

Sans parler de l'UI. Le prix au pixel carré s'envole :) Skype, + Rolisteam + 
la ou les fenêtres de sources (scénar et aides divers en MJ, fiches en PJ), 
ça fait _beaucoup_. J'ai deux gros écrans et je gère mais sans luxe, j'ose 
pas imaginer avec un unique petit écran de portable par exemple.

Attention je ne dis pas que c'est une mauvaise idée... je dis juste que c'est 
un chantier énorme à des tas de niveau, qui en plus se base sur des fonctions 
qui seraient déjà utiles tout de suite.

Quand au !init, cela me semble irréaliste. Madame Michu va mettre du temps à 
taper "!Perception (Intellectuelle) + Théologie musulmane (7)" pour faire un 
jet, sans compter les fautes qui vont la faire re-taper 4 ou 5 fois. Alors que 
:4s7 serait simple, siiiiii simple :)

Original comment by poube...@dorem.info on 24 Sep 2010 at 2:41

GoogleCodeExporter commented 9 years ago
Clairement, je vise à retrouver un niveau fonctionnel assez rapidement avec la 
version 2.0.0 (il y a encore de gros chantier) Un fois cela terminé 
effectivement on aura un processus de release plus fréquent.
Si on s’obstine à modifier la branche 1.0.0, on va dans le mur. 

J'espère mettre de la complétion automatique dans la saisie des dés et un 
outils graphique. 

Pour la gestion des révisions je ne pense pas que ce soit très utiles de s'en 
préoccuper. Par défaut, je vais ajouter une interface de saisie/visualisation 
des fiches. Le MJ aura tous et les joueurs n'auront que leurs fiches (PJ et 
familier autre). Cette interface par défaut pourra être remplacée par un 
truc plus "sexy" avec un système de plugins. Les interfaces entre le jet de 
dés et les fiches seront globalement: getFieldList() et 
getValue("intelligence"); (sous en tendu la version courante). 

Sinon le forum du site est plus adapté pour ce genre de débat.

Original comment by renaud.g...@gmail.com on 24 Sep 2010 at 3:26

GoogleCodeExporter commented 9 years ago

Original comment by renaud.g...@gmail.com on 10 Oct 2013 at 2:19