Customisation par XML

Character Builder : bugs, fonctionnalités, ergonomie, etc
User avatar
blueace
Admin
Admin
Posts: 1641
Joined: Fri Feb 21, 2014 1:41 am
Location: Mexico DF

Customisation par XML

Post by blueace » Wed Oct 10, 2018 3:58 pm

Salut à tous,

Je bosse sur le Character Builder afin que l'on puisse ajouter via un fichier XML de nouvelles races, sous classes et historiques. Ça marche déjà pas mal !
À terme on peut penser au même principe pour ajouter des armes, etc
Ca devrait aussi permettre aux fans de H&D de se servir du Character Builder.

Mais là j'ai une question de conception à régler sur le XML.
Disons que une sous classe ressemble à

Code: Select all

<new type="subclasse">
	<classe>***</classe>
	<name>Chasseur urbain</name>
	<lvl id="3">
		<c>Capacité 1 niv 3</c>
		<c>Capacité 2 niv 3</c>
	</lvl>
	<lvl id="7">
		<c>Capacité 3 niv 7</c>
	</lvl>
	<lvl id="10">
		<c>Capacité 4 niv 10</c>
	</lvl>
	<lvl id="15">
		<c>Capacité 5 niv 15</c>
	</lvl>
	<lvl id="18">
		<c>Capacité 7 niv 18</c>
	</lvl>
</new>
Le point à définir est QUE METTRE À LA PLACE DES *** pour indiquer que c'est une sous classe de rôdeur ?

On peut mettre un numéro, par exemple 8. Dans ce cas ça oblige à se référer à une sorte de catalogue où j'indique le numéro de chaque classe, catalogue qui serait dispo sur le forum par exemple.
Ou bien j'indique en texte le nom de la classe. Mais ça pose le problème de devoir écrire le nom exactement comme le programme l'attend. Par exemple rodeur (sans le ^) ne sera pas traité car l'appli attend rôdeur (avec ^).

Qu'en pensez vous ?
Pour ceux qui ont l'expérience de fichiers XML de configuration pour d'autres appli, quel est le concept généralement utilisé ?

User avatar
Beren
Niv 6 - Défonceur de minotaures
Niv 6 - Défonceur de minotaures
Posts: 54
Joined: Mon Feb 05, 2018 7:35 pm

Re: Customisation par XML

Post by Beren » Wed Oct 10, 2018 6:18 pm

Salut !

Je n'ai pas de solution élégante à proposer, par contre je conseillerais d'inclure un minimum de "doc" directement dans le template XML sous forme de commentaire.
par exemple « <!-- nom de la classe, en minuscule, accent requis --> »
ou encore « <!-- id classe, 1:barbare, 2:barde, 3:clerc [...] --> »
Dans les deux cas, cela éviterait de se casser la tête a chercher la correspondance id/classe ou encore de s'arracher les cheveux à cause d'un accent oublié. (hérésie ! caractère non ascii !)

Défauts : ça alourdit le xml, et si tu change l'implémentation il faut changer les commentaires dans le template.

En tout cas chapeau bas, c'est une super idée que tu as :ok:

User avatar
Neb
Niv 13 - Fléau des vampires
Niv 13 - Fléau des vampires
Posts: 563
Joined: Mon Apr 17, 2017 8:33 am
Location: Normandie, France

Re: Customisation par XML

Post by Neb » Wed Oct 10, 2018 7:08 pm

Je suis de l'avis de Beren. Je préfère ne pas avoir à me référer à un document extérieur mais disposer de toutes les informations au même endroit donc s'il était possible d'insérer un texte explicatif en commentaire, ce serait parfait. Sinon, je pense qu'écrire le nom de la classe est plus pratique qu'utiliser un catalogue; il y a quand même peu de pièges orthographiques et s'il est précisé de faire attention aux majuscules et aux accents, alors il ne devrait pas y avoir de problème.
En tout cas, c'est une très bonne idée, bravo! :ok:

OliM
Niv 6 - Défonceur de minotaures
Niv 6 - Défonceur de minotaures
Posts: 54
Joined: Sun Aug 05, 2018 10:56 pm
Location: La Garde, Var

Re: Customisation par XML

Post by OliM » Wed Oct 10, 2018 10:07 pm

Je suis aussi de l'avis de Beren. Même si ça alourdit le XML, il vaut mieux que tout soit intégré dedans...
Par contre, est-ce qu'il sera aussi possible d'ajouter de l'équipement (nouvelles armes, armures, objets magiques...) ?

User avatar
blueace
Admin
Admin
Posts: 1641
Joined: Fri Feb 21, 2014 1:41 am
Location: Mexico DF

Re: Customisation par XML

Post by blueace » Wed Oct 10, 2018 10:56 pm

OliM wrote:
Wed Oct 10, 2018 10:07 pm
Par contre, est-ce qu'il sera aussi possible d'ajouter de l'équipement (nouvelles armes, armures, objets magiques...) ?
A terme oui

OliM
Niv 6 - Défonceur de minotaures
Niv 6 - Défonceur de minotaures
Posts: 54
Joined: Sun Aug 05, 2018 10:56 pm
Location: La Garde, Var

Re: Customisation par XML

Post by OliM » Thu Oct 11, 2018 4:52 am

Cool :)
Et un grand merci pour ton travail ! (et joli code au passage ;-))

User avatar
blueace
Admin
Admin
Posts: 1641
Joined: Fri Feb 21, 2014 1:41 am
Location: Mexico DF

Re: Customisation par XML

Post by blueace » Tue Oct 16, 2018 2:20 pm

Ok, j'ai une version fonctionnelle. Je vous passe l'URL pour que vous commenciez à jouer avec et à me remonter vos observations.

https://www.aidedd.org/dnd-builder-xml/

Je ne donne pas de mode d'emploi ici afin de voir si les indications sur la page sont suffisantes.
Juste une chose : ne loupez pas le lien dans le menu en haut à droite.

Ce que je souhaite pour le moment c'est valider la conception. Dites moi si c'est intuitif, facile, etc.

OliM
Niv 6 - Défonceur de minotaures
Niv 6 - Défonceur de minotaures
Posts: 54
Joined: Sun Aug 05, 2018 10:56 pm
Location: La Garde, Var

Re: Customisation par XML

Post by OliM » Wed Oct 17, 2018 10:24 am

Merci blueace :) Je testerai ça à la maison, à tête reposée...
Voici ce que j'ai pour l'instant repéré :
- Pour l'ability modifier, est-il possible de mettre un ajustement négatif (par exemple, <int>-1</int>) ?
- Les boutons précédent et suivant restent "Prev" et "Next", même pour la version française
- Lors de l'étape de la création du personnage, il y a un souci d'affichage pour langues (exemple pour le haut-elfe : Langues. 0,99. 0,99. une langue de votre choix. )
- (css) Qu'apporte la classe "gris" des <select> de l'étape "maîtrise", parce que par rapport aux <select> classiques, leur affichage est du coup complètement différent (de l'aspect léché "moderne" on passe à un aspect très "vieux web" en fond gris...)
- Toujours à l'étape "maîtrise", même problème avec les langues qu'indiqué ci-dessus (<select id="lang0_2" name="lang_0"><option value="0" disabled="disabled">0,99</option><option value="1" disabled="disabled">0,99</option><option value="2" selected="selected">0,1,99</option><option value="3">0,1</option><option value="4">0,1</option><option value="5">0,5</option><option value="6">0,5</option><option value="7">0,6</option><option value="8">0,6</option><option value="9">0,3</option><option value="10">0,3</option><option value="11">0,1,99</option><option value="12">0,7</option><option value="13">0,11</option><option value="14">0,12</option></select>)
- Pour le pack de départ, le choix par défaut (a) n'affiche pas le contenu à droite. En plus, c'est dommage d'avoir un "tout a" ou "tout b" sachant que normalement on peut prendre "un parmi les choix" pour chacun des objets...
- Pour les spécialités de l'historique, il y aurait moyen de les afficher à droite quand on clique sur le champ ? :-)

Voilou ^^ A suivre... ;-)

User avatar
blueace
Admin
Admin
Posts: 1641
Joined: Fri Feb 21, 2014 1:41 am
Location: Mexico DF

Re: Customisation par XML

Post by blueace » Wed Oct 17, 2018 12:38 pm

OliM wrote:
Wed Oct 17, 2018 10:24 am
- Pour l'ability modifier, est-il possible de mettre un ajustement négatif (par exemple, <int>-1</int>) ?
Oui bien sur. Il faut juste ne pas mettre le + pour les positifs. Donc c'est -1 pour négatif ou 1 pour positif.
OliM wrote:
Wed Oct 17, 2018 10:24 am
- Les boutons précédent et suivant restent "Prev" et "Next", même pour la version française
Modifié !
OliM wrote:
Wed Oct 17, 2018 10:24 am
- Lors de l'étape de la création du personnage, il y a un souci d'affichage pour langues (exemple pour le haut-elfe : Langues. 0,99. 0,99. une langue de votre choix. )
Corrigé !
OliM wrote:
Wed Oct 17, 2018 10:24 am
- (css) Qu'apporte la classe "gris" des <select> de l'étape "maîtrise", parce que par rapport aux <select> classiques, leur affichage est du coup complètement différent (de l'aspect léché "moderne" on passe à un aspect très "vieux web" en fond gris...)
Alors c'est juste pour dire que ce n'est pas un choix, que l'option est fixe. Hésite pas à proposer un autre "code" visuel pour l'indication.
OliM wrote:
Wed Oct 17, 2018 10:24 am
- Pour le pack de départ, le choix par défaut (a) n'affiche pas le contenu à droite. En plus, c'est dommage d'avoir un "tout a" ou "tout b" sachant que normalement on peut prendre "un parmi les choix" pour chacun des objets...
Le pack n'est qu'une idée de départ, un moyen de poser une base. Ensuite on a tout loisir de changer le matériel.
OliM wrote:
Wed Oct 17, 2018 10:24 am
- Pour les spécialités de l'historique, il y aurait moyen de les afficher à droite quand on clique sur le champ ? :-)
Ok, je regarde ça. Ça y était dans la version précédente mais je pensais que ca n'apportait pas grand chose. Je me posais d'ailleurs toujours la question de l'utilité des colonnes de gauche et de droite...

Merci pour tes retours.

OliM
Niv 6 - Défonceur de minotaures
Niv 6 - Défonceur de minotaures
Posts: 54
Joined: Sun Aug 05, 2018 10:56 pm
Location: La Garde, Var

Re: Customisation par XML

Post by OliM » Wed Oct 17, 2018 1:23 pm

Pour les choix fixes, plutôt que par exemple :
<select id="comp0_1" name="comp_0" class="gris"><option value="16">Survie</option></select>

On pourrait avoir un affichage "texte" plus classique :
<input id="comp0_1" name="comp_0" value="16" type="hidden">Survie

Ou un effet de transparence :
<select id="comp0_1" name="comp_0" disabled><option value="16">Survie</option></select>

Ou un (petit peu) de couleur :
<input id="comp0_1" name="comp_0" value="16" type="hidden"><span style="border-radius:12px;padding:0.5em; margin:0.5em; background-color:lightblue;box-shadow:2px 2px 2px silver">Survie</span>
(l'idéal est bien sûr si tu peux créer une classe (admettons .choix) dans ta feuille de style)
.choix { border-radius:12px;padding:0.5em; margin:0.5em; background-color:lightblue;box-shadow:2px 2px 2px silver } et hop ^_^ <span class='choix'>Survie</span> ...

(après, bien sûr, les goûts et les couleurs... j'aime bien ce lightblue ;-))