Pour garantir une qualité cohérente des fiches de personnage dans le référentiel, toutes les soumissions doivent respecter les exigences minimales ci-dessous.
1. Code de conduite
- Le Code de conduite de Roll20s'applique aux fiches de personnages et elles doivent s'y conformer.
- Ne portez pas atteinte à la propriété intellectuelle. Les fiches de personnage communautaires ne doivent pas inclure la création ou l'évolution des personnages en raison de restrictions potentielles liées aux droits d'auteur. Les fiches 'By Roll20' peuvent inclure ce contenu grâce à nos partenariats avec les créateurs de jeux. Les feuilles développées à partir du code d'une feuille "By Roll20" devront s'assurer que tout code d'options de création ou d'avancement de personnage est supprimé. Il est possible d'avoir des attributs qui se calculent automatiquement en fonction d'autres attributs (y compris le niveau actuel). Nous vous informerons si la feuille que vous avez soumise enfreint cette règle.
- Il existe une exigence spécifique pour les fiches de personnage. Toutes les soumissions de nouvelles demandes d'extraction pour toutes les fiches de personnage contenant un espace réservé pour le « genre » devront en faire une entrée de texte ouverte (par opposition à un menu déroulant contenant une liste prédéfinie d'options). Ce guide est le reflet de nos efforts continus pour être inclusifs dans notre approche de la facilitation du jeu - nous voulons que le maximum de personnes puissent jouer de la manière qui leur procure le plus de plaisir. Dans ce cas, prendre le temps de faire cette petite modification de programmation fait une énorme différence pour notre communauté.
2. Bon code
- Style minimal. Toutes les fiches de personnage doivent avoir une petite quantité de CSS & de style HTML pour les rendre esthétiquement agréables et utilisables. Par exemple, les éléments ne doivent pas se chevaucher involontairement lorsqu'une fenêtre est redimensionnée. La fiche devrait être familière aux joueurs habitués à voir la version papier de cette fiche. Elle n'a pas besoin d'être identique à la version papier et ne doit pas violer les droits d'auteur, mais elle ne doit pas non plus être présentée de manière si confuse que les joueurs auront du mal à comprendre comment l'utiliser. Priorisez la facilité d'utilisation avant tout.
-
La syntaxe HTML correcte. Il est recommandé d'utiliser une syntaxe HTML correcte pour améliorer l'accessibilité et rendre le code maintenable pour les contributions communautaires. Toutes les nouvelles fiches doivent utiliser des éléments de conteneur appropriés tels que
<div>
et<span>
. Votre fichier HTML ne doit pas utiliser<head>
ou<body>
, sinon votre fiche de personnage peut ne pas se charger dans le jeu de rôle en ligne.
-
Pas de
<table>
utilisé pour la disposition. En tant que standard général, un<table>
élément ne devrait être utilisé que pour les données tabulaires. La table<>
ne doit pas être utilisée pourlayouts. VoirConception de la mise en page de la fiche de personnagepour des alternatives.
- La compatibilité avec les serveurs Unix est requise.Tous les fichiers CSS, HTML et JSON doivent être soumis avec des fins de ligne Unix (LF). Une recherche Google peut vous dire comment le configurer dans votre éditeur de texte préféré. De plus, chaque soumission doit inclure un fichier valide sheet.json et une image de prévisualisation. Les instructions pour créer un sheet.json approprié se trouvent dans leREADME GitHub.
- Chrome & Firefox compatible. The two official supported browsers of Roll20 are Chrome & Firefox. All character sheets need to be tested for functionality and styling in these two browsers.
3. A Satisfactory Experience
- Character Sheets must be standalone by default. All basic sheet functionality must be usable without external requirements such as images or fonts hosted outside Roll20, and Mod (API) companion scripts. Mod (API) companions are a welcome supplement for character sheets, but to ensure accessibility & functionality to community members at all of subscription levels, the sheet must be usable by default without outside requirements.
- Functional roll buttons. The best sheets not only keep track of character stats, they have the most common rolls for the game system embedded in them. This makes it much easier for new players to play the game by adding intuitive functionality. While you don't have to include every roll in the whole system, including frequently used rolls where appropriate can elevate your sheet to the next level. Les jeux qui n'ont pas de lancers de dés, commeAmber Diceless Roleplaying Jeu, ne sont pas tenus de respecter cette norme. Si vous concevez une fiche pour un système où cette exigence ne s'applique pas, veuillez inclure un commentaire dans votre demande de tirage.
-
Entrées & champs de texte pour le suivi des données. Les feuilles de personnages pour les systèmes de jeux qui ont des attributs et des statistiques doivent inclure des éléments
<input>
pour permettre aux utilisateurs de suivre leurs données. Dans la mesure du possible, utilisez des noms standard pour les attributs, en les écrivant en toutes lettres. Par exemple, "intelligence", "force" et "sagesse". C'est important pour que, si un personnage est importé dans un jeu avec une fiche différente, la plupart des valeurs puissent être transférées. Si les noms des attributs sont tous différents, alors rien ne peut être importé. Le mieux est de regarder les fiches existantes pour ce système et d'utiliser autant que possible les mêmes noms d'attributs déjà utilisés. De même, les balises<textarea>
doivent être incluses lorsque cela est possible pour permettre aux utilisateurs d'ajouter des notes ou des descriptions. Cette exigence est très variable en fonction du système et si cette exigence n'est pas applicable au système de jeu pour lequel vous créez une feuille, veuillez inclure un commentaire dans votre demande de retrait.
- Les règles doivent être facilement accessibles. Les feuilles peuvent être soumises pour des jeux indépendants et des systèmes personnalisés. Les jeux personnalisés devront veiller à ne pas violer les droits d'auteur de leur système de jeu respectif. Dans les deux cas, les règles doivent être facilement accessibles en ligne au public.
Au-delà du minimum
Les suggestions ci-dessous ne sont pas requises pour les nouvelles fiches de personnage qui souhaitent être ajoutées au référentiel. Les auteurs de fiches novices en développement front-end devraient se concentrer sur la satisfaction des exigences minimales ci-dessus pour la version un de leur fiche. Cependant, une fois que vous êtes à l'aise avec les bases, les suggestions ci-dessous peuvent permettre à la fiche de franchir une étape supplémentaire et la rendre vraiment brillante.
- CSS Wizardry. Notre communauté d'auteurs de fiches est exceptionnellement intelligente et créative. Ils offrent ici un exemple de façons d'exploiter le système de fiche de personnage.
- Modèles de lancer personnalisés. Les modèles de lancers peuvent être personnalisés pour correspondre à la palette de couleurs & et au style de votre feuille de personnage. De plus, ils peuvent être utilisés pour aider les utilisateurs à obtenir un résultat de lancer qui correspond aux mécanismes spécifiques du système de jeu.
-
Les travailleurs de la feuille sont un outil puissant!. Ces scripts sont une fonctionnalité avancée du système de feuilles de caractères qui permet à l'auteur de la feuille de spécifier l'exécution de JavaScript lors de certains événements, par exemple lorsque les valeurs d'une entrée
sont modifiées.
- Clés de traduction. La localisation des Feuilles de personnage, ou internationalisation, vous permettra de concevoir votre Feuille de personnage de manière à ce que notre communauté de traducteurs puisse la traduire dans leur langue, rendant ainsi cette langue disponible pour tous sur Roll20. Depuis septembre 2016, nous n'acceptons plus de nouvelles Feuilles de personnage qui ne sont que des traductions alternatives de feuilles de personnage déjà existantes.
- Paramètres par défaut de la feuille. Les options sélectionnables peuvent être spécifiées dans le fichier sheet.json fourni avec votre Feuille de personnage personnalisée. Ces options fournissent des paramètres par défaut pour tous les personnages lorsque votre feuille de personnage est utilisée.
- Intégration du Compendium. En indiquant que votre feuille est compatible avec un compendium, les joueurs auront un accès direct à ce compendium dans la barre latérale droite pendant le jeu. Les recueils sont encore une fonctionnalité en développement sur Roll20 et leur intégration n'est pas encore disponible pour la majorité des systèmes de jeu.
-
Inclure les noms d'attributs dans les titres. En ajoutant
{attribute_name}
à titre d'aide, les créateurs de macros pourront trouver plus facilement le nom des attributs. Les titres sont parfois utilisés à d'autres fins, donc utilisez votre bon jugement.
-
Lien vers la page wikiSi vous avez créé une page wiki pour votre feuille, vous pouvez y ajouter un lien dans lasheet.jsonde la section des
instructions
.
Bonnes pratiques
Ce sont des directives de bonnes pratiques visant à accroître la cohérence entre les auteurs de feuilles afin de fournir un référentiel de code maintenable pour la communauté.
Attributs/Entrées
- Les noms d'attributs doivent être en minuscules. Pour des raisons de cohérence, il est plus facile de programmer si tout le monde le fait de cette manière.
-
Les jeux de rôle ont des mots bizarres. Utilisez
spellcheck="false"
pour les saisies de texte et les zones de texte afin d'éviter que le navigateur signale des erreurs orthographiques.
- Utiliser moins d'attributs & entrées. Plus vous avez d'attributs et de saisies, plus la feuille se charge lentement. Ce n'est pas un problème pour la feuille moyenne, mais les feuilles robustes telles queD&D 5E Sheet by RollouPathfinder (Community)excess attributes & inputs peuvent entraîner des problèmes de performance si elles ne sont pas gérées.
- S'étend sur des entrées désactivées. Les portées adossées à des attributssont plus efficaces que les entrées désactivées.
Feuilles de travailleurs & Modèles de lancer
- Évitez les cascades asynchrones. Dans la mesure du possible, évitez les cascades asynchrones pour les travailleurs de la feuille. Un exemple de cela est getAttrs -> calculs -> setAttrs -> getAttrs -> calculs -> setAttrs… Une meilleure façon de faire cela est de récupérer les attributs pour tout ce dont vous aurez besoin, puis de faire tous les calculs nécessaires avant d'utiliser enfin un seul setAttrs.
- Feuille Travailleurs sur les attributs auto-calculés. Les travailleurs de la feuille des calculs s'activent lorsque des événements se produisent, ce qui améliore les performances pour les feuilles de personnage par rapport aux attributs calculés automatiquement, car ces événements surviennent moins fréquemment.
- Placez les modèles de rouleaux et les travailleurs de la feuille au bas de la page HTML.La meilleure pratiqueconsiste à placer JavaScript à la fin des pages
Détails du style du mode sombre
- Changement de thème
Lorsqu'un utilisateur passe en mode sombre, la table virtuelle ajoute la classe CSS spécifique.sheet-darkmode
à l'élément <body> . Lorsque l'interrupteur est remis sur la lumière, cette classe est supprimée. - Changement de thème
En ajoutant des choix de couleurs à la fin de vos feuilles CSS, enveloppés dans un moyencorps.sheet-darkmode { }
les utilisateurs verront le changement lorsqu'ils basculeront.
Autres spécificités de Roll20
-
Évitez les !important. Chaque fois que possible, évitez d'utiliser
!important
dans CSS car cela peut créer un effet en cascade de plus en plus d'!importants.
-
Ne pas inclure
sheet-
pour les noms de classes CSS dans le HTML.sheet-
est automatiquement ajouté aux classes CSS dans le code HTML, il est donc superflu de le répéter ici. L'omission augmente également la lisibilité si de nombreuses classes sont utilisées.- Par exemple, dans le code HTML, au lieu de
class="sheet-strRow"
, il suffit de faireclass="strRow"
. ATTENTION : ce qui précède est faux pour les classes d'éléments <rolltemplate> . Pour ceux-ci, vous devez spécifier le nom complet de la classe (c'est-à-dire en commençant parfeuille-
) sinon vos modèles d'ordre ne fonctionneront tout simplement plus.
- Par exemple, dans le code HTML, au lieu de
- Inclure une largeur minimale. Inclure une largeur minimale à la feuille vous aidera lors du redimensionnement. Essayez de ne pas dépasser la largeur par défaut lorsqu'une feuille s'ouvre pour la première fois, environ 800px-900px. Les feuilles de personnage avec une vue PNJ peuvent être plus petites et les feuilles de personnage élaborées peuvent parfois être plus grandes.
- Utilisez ^{ } pour les traductions dans des macros de bouton. Dans vos macros de bouton, en utilisant ^{key} , l'insertion de la clé appropriée à partir du json de traduction de la langue appropriée se fera. Cela rend les modèles d'ordre plus adaptables à d'autres langues.
GitHub/Soumission de feuille
-
Utilisez
la branche git
pour votre travail en cours. Créez une nouvelle branche pour stocker votre travail en cours. Ne fusionner le code terminé dans la branche principaleroll20-character-sheetsque lorsqu'il est prêt pour une pull request. Cela aidera à éviter de soumettre des demandes d'extraction avec du code inachevé, ce qui peut entraîner un retard pour la fusion de votre code. Encore mieux, créez une copie du référentiel roll20-character-sheets et soumettez vos demandes d'extraction via GitHub.
- Incluez toutes les images dans le référentiel Git. Les images doivent être incluses dans le référentiel GitHub pour un accès facile, des dépendances externes réduites et des mises à jour simplifiées.
Lire plus sur Guide du débutant sur GitHub.
Général HTML/CSS/Codage
Conseils généraux qui s'appliquent au-delà de la création de fiches de personnage pour Roll20.
-
Essayez de respecter la norme XHTML. Par exemple, terminez les éléments avec une barre oblique comme ceci
<input ... />
. -
Utilisez les styles en ligne en dernier recours. Les styles en ligne sont un code moins maintenable et les feuilles de styles externes sont presque toujours une meilleure option. Les attributs
style =
dans le code HTML doivent être aussi peu nombreux que possible. - Écrivez un code lisible.Si le code est plus lisible, il est plus facile pour les autres de contribuer et de collaborer. 18 Astuces pour écrire un code lisible
- Suivez les guides de style HTML/CSS généraux.Lorsqu'il n'y a pas de contradiction avec les meilleures pratiques spécifiques à Roll20, suivez les guides de style recommandés pour maintenir votre code cohérent et plus lisible, tels que :