Bon alors je creuse je creuse. Je vais essayer de te décrire dans tout les détails le logiciel tel que je le vois coté utilisateur.
Le MJ, après avoir acheté ton joli petit logiciel, l’installera (ou pas), puis lancera l’éditeur de feuille de perso. La il tombera sur une interface on ne peut plus classique, une grande fenetre vide avec quelques menus déroulant en haut. Il aura alors la possibilité pour commencer de créer une nouvelle fiche de perso ou d’en éditez une déjà existante. Pour l’édition ca sera extrèmement simple a faire, il suffit de suivre le processus de création en utilisant les variables d’une fiche déjà existante. Pour la création, la première étape sera de choisir le jeu auquel s’adaptera la fiche. Et la on en vient a la première grande partie :
Les librairies.
Le logiciel viendra avec toute une liste de librairies, chaque librairie correspondant a un jeu de role. Il sera bien entendu possible d’en télécharger de nouvelles sur le net (ou d’en mettre a jour directement depuis le logiciel par un petit menu). Ces librairies seront en fait le coeur du logiciel, car elles contiendront toutes les règles de création de perso du jeux de role en question. Ca sera surement la première grosse difficulté a programmer, car il faudra :
- se taper tout les bouquins de règles pour les convertir
- uniformiser toutes les règles afin de ne créer qu’un seul algo et pas un par jdr (par exemple je connais un jeu du nom de Deadlands dont la détermination des carac se fait avec des cartes, il faudra jouer un peu avec les proba pour convertir ca en jets de dés)
- l’idéal serait de mettre également a disposition un outil permettant de créer ces librairies (ca serait bien sur pour les utilisateurs plus expérimentés, et pourquoi pas, créer un langage de prog juste pour créer des librairies, qui serait correctement interprété par le compilateur, un peu comme - je crois - NSIS installer ou un truc du genre, un logiciel qui te permet de créer des installation en tapant du code définit par eux. Bref on s’égare)
Une fois la librairie chargée il faut définir la fiche de perso : tu importes une feuille de perso qui sera imprimée (ou tu utilises celle par défaut inclue dans la librairie). Sur cette feuille de perso tu définit des zones auxquelles tu attribueras un nom particulier et un type de zone que l’on retrouvera par la suite. Un peu a la quick menu builder si tu connais.
Donc après en switchant sur un autre onglet ou sur un autre espace de travail tu peux définir tout ce qui apparaitra dans les zones (en fonction du type de zone : nom, caractéristique, magie, équipement etc… tu pourras faire des batchs, c a d attribuer des valeurs de la meme facons pour plusieurs endroit, pratique pour les carac. Tu peux aussi choisir le type de zone en fonction de ce que te propose par défaut la librairie qui intégrera tout cela) que tu as défini précédemment. La il y a plusieurs méthodes :
- le MJ choisit lui meme
- tu fais tout de manière automatique (pratique pour des pnj)
- tu laisses plusieurs choix au joueur (genre répartition des jets de carac, ou alors possibilité de relancer un certain nombre de fois)
- choix direct dans une liste (pour la race ou l’équipement de base par exemple)
- tu laisses toute latitude au joueur (pour des choses anodines genre nom, age, poids etc… Tu peux aussi améliorer la chose en interdisant/autorisant certains types de caractères : exemple que des caractères numérique pour l’age et le poids, tout les caractères alphanumériques pour le nom.)
Tu peux évidemment combiner différents types d’attribution (choix dans une liste OU remplissage a la main).
Un petit exemple pratique:
Tu créés une fiche de perso faite uniquement pour des elfes dans warham’. Tu utilises donc la librairie warham (en vérifiant que ya pas eu de mise a jour), tu sélectionnes la fiche de perso par défaut. La hop tu définit tes différentes zones sur la fiche de perso : Pour la race tu ne laisses aucun choix possible, c’est elfe. Dans le nom tu laisses au joueur le choix de remplir lui meme ou de faire un remplissage automatique (avec un générateur de nom a la con). Pour le poids/taille/couleur des yeux/cheveux : idem. Il peut tout définir lui meme (pour les couleur il a accès a une liste inclue dans la librairie ou alors tape celle qu’il veut) ou alors il peut générer automatiquement le poids en fonction de la taille et inversement. Puis pour les caractéristiques tu définit toute une série de zone “caractéristique” et tu définit la facon dont elles vont etre sélectionnées : soit en laissant les règles par défaut de la librairie, soit en les personnalisant. Idem pour les compétences etc…
Quelques petits détails : tout ce qui est listes et générateurs de noms/dés seront inclus dans la librairie et souvent propre au jeu ou a quelques autres facteurs. Ainsi un générateur de nom de la librairie warham générera des noms assez homogène avec le monde de warham en fonction de la race du joueur. Dans mon exemple au dessus j’ai laissé la possibilité de taper la couleur que l’on veux pour les cheveux/yeux mais ce n’est pas une obligation. On peut le laisser uniquement choisir dans une liste (si on a des joueurs un peu turbulents qui font n’importe quoi) qui sera importé de la librairie.
Ensuite il ne reste plus qu’a “compiler” tout ca. Le projet sera enregistré sous un .fp qui contiendra : le chemin de l’image de la feuille de perso, le masque sur lequel on aura définit toutes les zones (sous forme de coordonnées), la définition de chacune de ces zones (avec une structure en fichier ini pour la simplicité), ainsi que les différents composantes de la librairie qui seront utiles (les listes pour les couleurs/lieux de naissance, l’algo de génération de noms ou une liste de noms etc…). Une fois ce fichier compilé il ne restera plus qu’un .exe qui contiendra tout ce qu’il y a au dessus (avec l’image de la feuille de perso et non pas simplement le chemin).
En le lancant on tombe simplement sur une interface unique: la feuille de perso avec les différentes zones. En cliquant sur chacune d’elle on effectue l’action par défaut si il y en a une (c a d : tirage au sort de la valeur, menu déroulant contenant la liste forcée etc…) ou alors une petite fenetre s’ouvre avec les différents choix a la suite (premier cadre : taper ce qu’on veut, deuxième cadre : une liste, troixième cadre : un générateur; avec un petit bouton radio pour choisir le mode). Tout ceci ayant été définit par le MJ avec l’éditeur. On peut aussi inclure quelques petites options genre : tout automatique (si permis par le MJ) ou un petit reset. Et un petit bouton imprimer (ca aussi ca risque de pas etre facile a programmer) ou alors une exportation sous forme jpeg (mais faut faire gaffe aux marges après).
Et hop une petite fiche de perso toute faite. L’intérêt de l’éditeur/client est plutot limité dans un cas comme ca, mais on peut ainsi facilement créer des fiches “typiques” pour chaque jeu et les réutiliser sur 400 perso différents. Et on peut également générer très rapidement des PNJ en utilisant ces fiches qu’on aura définit pour nos joueurs. L’intérêt de “bloquer” une race par exemple, c’est d’alléger le client final en intégrant uniquement les algo dont il aura besoin et en intégrant pas toute la librairie du jeu en lui meme.
Pour en revenir sur un petit détail des librairies : on peut faire un système de combinaison entre les librairies, qui sera très pratique pour les extensions. Ainsi par exemple le mj peut choisir d’utiliser uniquement la librairie de Rolemaster, ou alors de la combiner avec celle du compagnon 1 et 4, sans les autres. Ca permet la encore de ne pas utiliser les règles avec lesquelles le mj ne veut pas jouer.
Voila le logiciel tel que je le vois. Bien sur ce système est largement perfectible, et beaucoup plus complexe que ce que j’ai présenté, car beaucoup de jeux utilisent plusieurs feuilles de perso, il y a les options de magies avec les sorts, l’historique des personnages, l’équipement etc… Tout ceci sera a prendre en compte. Le plus dur sera de créer les librairies intégrant les listes de magie, les listes d’équipement, les options d’historique etc…
PS : je ne parle ici que de la partie création du personnage car il n’y a que la que j’ai des idées, mais bien entendu tu peux y adjoindre pleins d’autres petits progs pour aider a la résolution des combats ou le calcul des trajets, la gestion du temps etc… Et tu peux également réutiliser les librairies (qui seront a compléter) pour ce genre de régles. Après ca sera au mj d’utiliser ou non tel module pour ses parties.