Publié dans Blog - Jeux de Rôle le 4 février

Tags : A Visiter - Actualités - Avis / Critiques - Cothara - Rogue Trader - Terres Balafrées
Depuis le début de l’année, je ne suis pas très productif sur le blog. Pas grand chose à dire, peu de temps à y consacrer ... j’ai un grand nombre de raisons à invoquer. Une des raisons principales, c’est que je consacre maintenant pas mal de temps à lire, développer des idées, écrire des trucs, pour le jeu de rôle. Je m’y suis replongé dedans avec beaucoup d’entrain, et le virus m’a de nouveau contaminé.
Joueur
Depuis septembre, je suis joueur sur une table d’Earthdawn, un univers med-fan que je ne connaissais que de nom, et que je prends plaisir à découvrir. Ce n’est pas forcément le genre d’univers qui a ma prédilection (un poil trop héroïque et magique, peut-être), mais le groupe de personnages et l’ambiance à table sont au top. Pour infos, j’y joue un maître d’armes nain, adepte d’un style de combat à 2 marteaux, intrépide et qui n’a pas sa langue dans sa poche (mais qui devrait parfois la garder).
Meneur
Ma première partie maîtrisée depuis longtemps fut une introduction à Rogue Trader, le second jeu de rôle dans l’univers de Warhammer 40.000. Au programme : voyages warp, exploration, combats spatiaux, découverte de civilisations oubliées, et sûrement pleins d’autres trucs du même acabit. Le groupe est assez homogène, et je n’ai pas de campagne planifiée pour l’instant, juste des idées de scénarios, et l’envie de jouer sur l’inspiration et les envies des joueurs. A eux de chercher l’aventure et le profit, c’est ce qui caractérise après tout la carrière des explorateurs. La première partie ayant été en grande partie mangée par la création et la présentation de l’univers et des règles, le compte-rendu que je comptais faire ne sera proposé qu’après la seconde partie.
Je compte maîtriser dans les semaines à venir une autre campagne, située à Sussephra, dans les Terres Balafrées. Il s’agit de la série de scénarios présentés dans le défunt D20 Magazine, incluant une bonne partie d’enquête, et une ambiance urbaine low-magic que j’apprécie. Au niveau du système, j’ai choisi de me mettre à jour en passant sur Pathfinder. Ainsi, ma collection (quasi-complète) de suppléments sur les Terres Balafrées pourra être utilisée au niveau règles et background. Là aussi, je prévois de faire un compte-rendu, pour la bonne raison que j’ai remarqué (après la première partie de Rogue Trader) que ça me permet d’étoffer ce qu’ont fait les joueurs, les PNJ qui ont pu devenir importants (et qui sont à développer), et les points de règles qu’il faudra peut-être mieux relire ou revoir.
Lecteur
Je me suis également remis à lire du JDR. Les soldes et la découverte du déstockage à prix très réduit chez Ludikbazar m’ont permis de remplir une étagère complète avec du JDR. J’ai ainsi pu compléter ma gamme des Terres Balafrées, y rajouter des suppléments D20 pour du Dungeons & Dragons générique (à réutiliser un peu partout), des suppléments Space Opéra que je vais essayer de réutiliser dans Rogue Trader, et du Chill, histoire de trouver des inspis si je me lance dans Supernatural.
Je me suis également remis à fréquenter des forums rôlistes, principalement Casus NO, et ma liste de flux RSS s’est agrémentée de plusieurs blogs à tendance JDR également. J’ai découvert, sur ce forum et ces blogs, une petite perle. Barbarians of Lemuria, c’est son titre, est un jeu indépendant, à l’esprit pulp version Conan le Barbare. En attendant un retour plus approfondi quand je l’aurais fait jouer au Colloque de Bob, ma critique est dispo sur Goodreads.
Enfin, j’ai lu avec intérêt le JDR Supernatural, que je compte bien maîtriser un jour. Qui plus est, son système, le Cortex System, m’a vraiment botté, et dans l’optique de jouer dans mon univers perso de Cothara, il a sans doute de grandes chances d’être choisi.
En attendant, si vous voulez consulter ma bibliothèque rôliste, c’est par là.
Publié dans Blog - Entre autres choses le 21 janvier
Tags : Téléchargement
Cela fait quelques temps que je n’ai pas posté. Pas grand chose à poster en fait. Même si l’idée d’un bilan 2009 m’a parcouru l’esprit.
En fait, depuis la fin de l’année, autre chose m’occupe. Un vieux hobby qui revient en grande forme, et qui m’occupe pas mal. C’est le Jeu de Rôle ! J’en parlerai plus longuement dans un billet à venir.
Ce court billet annonce une nouveauté 2010 sur ce blog, la section "Documents", que vous pouvez découvrir dans le bandeau du haut. Vous pourrez y trouver les divers téléchargements que je propose(rai), regroupés dans une seule section. Il sera également possible de suivre les mises-à-jour, sans forcément fouiller parmi les billets.
Pour commencer, je vous propose une feuille de vaisseau pour Rogue Trader, un jeu de rôle se déroulant dans l’univers de Warhammer 40.000 dont je parlerai plus plus tard. La feuille est par là !

Tags : Avis / Critiques
Et non, je ne parle pas de celui du Père Noël qui doit se taper tous ces cadeaux à distribuer, mais de celui de Charlie Asher, mâle béta qui va se retrouver avec des responsabilités trop grandes pour lui dans ce roman de Christopher Moore.
Comme je me suis mis à GoodReads avec entrain, je vous laisse découvrir ci-dessous l’avis que j’y ai posté.
Une bonne surprise que ce Sale Boulot. Découvert aux Utopiales, parmi plusieurs autres ouvrages de Christopher Moore aux couvertures aussi criardes, j’avais jeté mon dévolu sur ce dernier pour changer des sempiternels zombies et vampires que j’ai l’habitude de lire.
Je m’attendais à trouver, d’après la quatrième de couverture, une aventure loufoque et barrée à la Pratchett. Et bien je me suis planté, et on se retrouve plutôt du côté de Gaiman, avec cette touche de fantastique qui vient inonder le quotidien d’une personne lambda, et changer son existence à jamais.
Charlie Asher, c’est son nom, va rapidement vivre une tragédie, mais il n’aura pas le temps de se morfondre, puisque quelqu’un a besoin de lui pour un boulot des plus importants : faire passer les âmes. En trois parties bien équilibrées, on va commencer par découvrir ce nouveau boulot avec Charlie, puis un puissant adversaire va rentrer dans le jeu alors que Charlie maîtrise enfin ses compétences. Le final va enfin voir l’affrontement de deux camps.
Il y a une touche de mythologie et de spiritualité derrière cette histoire, mais c’est surtout l’évolution de Charlie, sur plusieurs années, qui est intéressante à suivre. Les touches d’humour, présentes tout au long du roman, permettent d’avoir une lecture très fluide et prenante. Enfin, la galerie de seconds couteaux est superbe, entre les deux employés de Charlie (une ado gothique et un ancien policier frustré sexuellement et paranoïaque), sa soeur lesbienne, les voisines de l’ex-bloc communiste (Mmes Korjev et Ling), et bien d’autres.
Une lecture facile, une histoire prenante, qui déride, ça donne une bonne surprise, et une envie de découvrir les autres oeuvres de Christopher Moore.
Un post bilan de 2009, où se retrouvera certainement Un Sale Boulot, est en préparation. Cinéma, Séries, JDR, Lectures et une autre tripotée de trucs en prévision.
Publié dans Blog - Pull N’ Bounce le Décembre 2009
Tags : C# - Développement - Pull N’ Bounce - Téléchargement - XNA
Après plusieurs mois de silence, dus à plusieurs facteurs (déménagements, refactoring, ...), voici le retour de Pull N’ Bounce, dans une "Black Edition". Ces graphismes sommaires me permettent de me focaliser sur le moteur du jeu, tout en laissant la partie graphique pour plus tard (mais sans avoir à casser le code).
J’ai conçu cette version pour qu’elles puissent être triturée dans tous les sens. Modifiez les fichiers, changez les graphismes, faites ce que bon vous semble. Et si vous le pouvez, n’hésitez pas à m’envoyer vos retours.
Pour jouer à Pull N’ Bounce, il faudra un PC sous Windows, avec le framework .NET 3.5 installé, et XNA 3.1.
Configuration du moteur
Pour jouer avec le moteur physique, direction le fichier config.xml, présent dans le même répertoire que l’exécutable. A l’aide d’un éditeur de texte standard (notepad++ par exemple), vous pouvez éditer le fichier. Il est assez simple, puisqu’il consiste en une liste de valeurs (principalement numériques). Tout est éditable, et permet de modifier le comportement des objets physiques. A quoi correspond chaque variable ? Voici la liste :
PuckSpeedLimit : vitesse minimum à partir de laquelle le Pusher est réaffiché
PuckStoppingTime : durée (en secondes) pendant laquelle le Puck doit être en dessous de PuckSpeedLimit pour que le Pusher se réaffiche
PuckLinearDragCoef : frottements sur la vitesse linéaire du Puck
PuckRotationalDragCoef : frottement sur la vitesse de rotation du Puck
PuckRestitutionCoef : valeur utilisée pour le rebond du Puck
PuckFrictionCoef : valeur utilisée pour le rebond du Puck
PuckDisplaySize : valeur utilisée pour le placement du Pusher par rapport au Puck
PusherGaugeTime : durée (en secondes) pour charger complètement la jauge
PusherForceFactor : échelle de puissance pour la force appliquée au Puck
PusherGaugeStart : Position de la jauge sur le Pusher
PusherGaugeEnd : Position de la jauge sur le Pusher
ControlByMouse : contrôle du jeu à la souris (true à la souris, false : manette XBox 360)
SwitcherCollisionLatency : temps de latence entre 2 collisions sur les Switchers
GhostSizeSmall : échelle pour l’affichage des Ghost en Small
GhostSizeMedium : échelle pour l’affichage des Ghost en Medium
GhostSizeBig : échelle pour l’affichage des Ghost en Big
GhostWeight : poids des Ghosts (utilisé pour gérer les collisions)
GhostMovingIntensity : échelle utilisée pour la "force" des déplacements des Ghost
GhostMovingRange : facteur de déplacement (aléatoire entre 0 et la valeur indiquée)
GhostMinTime : durée (en secondes) minimale d’un déplacement
GhostMaxTime : durée (en secondes) maximale d’un déplacement
SlidingBlockSizeMedium : échelle pour l’affichage des SlidingBlock en Medium
SlidingBlockSizeLittle : échelle pour l’affichage des SlidingBlock en Little
SlidingBlockLinearDragCoef : frottement sur la vitesse linéaire des SlidingBlock
SlidingBlockRotationalDragCoef : frottement sur la vitesse de rotation des SlidingBlock
SlidingBlockRestitutionCoef : valeur utilisée pour le rebond du SlidingBlock
SlidingBlockFrictionCoef : valeur utilisée pour le rebond du SlidingBlock
UpDownSizeSmall : échelle pour l’affichage des UpDownBlock en Small
UpDownSizeMedium : échelle pour l’affichage des UpDownBlock en Medium
UpDownSizeBig : échelle pour l’affichage des UpDownBlock en Big
TeleporterSize : taille des Teleporters
TeleporterTimeOut : temps d’inactivité d’un Teleporter après utilisation
LoadGraphicsFromFile : chargement depuis les fichiers (et pas par les XNB). A laisser à true
Pensez à conserver une copie des fichiers qui fonctionnent bien, histoire de pouvoir revenir à une utilisation correcte.
Personnalisation des niveaux
Plus que de pouvoir personnaliser le moteur physique, cette version permet aussi de modifier les niveaux et l’aspect. Direction le répertoire Content pour ça. Les images, au format PNG, peuvent être éditées et seront donc rechargées à l’exécution. L’échelle des images est à gérer, ainsi que leur forme "physique". Les fichiers "shape" ou "mask" servent à gérer cette forme. Ils sont le plus souvent identiques au fichier qui sera affiché, mais on peut gérer une forme solide, et ajouter des ombres, par exemple, qui ne seront pas utilisées par le moteur physique. Un fichier "shape" utilise les pixels non-transparents pour gérer le modèle physique.
Le fichier Content\Arenas\XML\Level01.translated.xml contient les données nécessaires à la définition du niveau, appelé Arena dans le jeu. Les autres fichiers de ce répertoire sont utilisés pour des chargements par ressources. Comme pour le fichier config.xml, faites des copies des fichiers corrects.
C’est encore du XML à éditer. Les différents blocs sont placés sur un repère (x,y) allant de (0,0) en haut à gauche, à (1280,768) en bas à droite. La structure du niveau est gérée par un fichier image, indiqué dans ShapeTextureName. Ce fichier PNG doit être placé dans Content\Arenas\ShapeTextures), et être de taille 1280*768. Sur une base de pixels noirs (#000000), on dessine en blanc (#FFFFFF) la zone où les blocs se déplaceront. Pour un calcul correct de la forme, il faut éviter les zones "fermées". Des pixels rouge (#FF0000) placés dans la première ligne / première colonne permettent de diviser la zone. Toutes les formes sont possibles !
Concernant les blocs, le fichier de départ devrait être assez parlant, mais voici une description des différents éléments.
Le Puck a simplement une position de départ.
OnRailsBlocks est une liste de OnRailsBlockDescriptor. Chacun de ces éléments possède un position de départ Start, et deux booléens. LoopAtEnd indique si le bloc recommence son chemin indéfiniment, Backwards indique si le bloc réalise une marche arrière quand il a terminé un passage. Chaque OnRailStepDescriptor est décrit dans la liste Steps ensuite, avec la Translation effectuée, la Rotation et le temps mis (Time en secondes).
GhostBlocks est la liste des GhostBlockDescriptor, pour lesquels on indique une position de départ, et une taille (Small, Medium, Big). Les Ghosts sont des blocs qui n’interagissent qu’avec le Puck, et se déplacent aléatoirement.
Les SlidingBlocks sont des blocs libres qui glissent sur l’Arène au gré des collisions. Une Shape (StandardLittle ou StandardMedium), une position et un angle de départ (en radians), et une masse sont nécessaires.
Les UpDownBlocks sont des blocs qui fonctionnent en groupes. Pour chaque élément, on a deux groupes de blocs. Le groupe 1 est levé, et quand il est frappé par le Puck, il se baisse et le groupe 2 se lève. Le Group1 et le Group2 peuvent contenir autant de SingleUpDownDescriptor qu’on le souhaite. Une position, un angle et une forme (SmallStandard, MediumStandard ou BigStandard) permettent de les définir.
Les TeleporterBlocks téléportent le puck qui arrive dessus. Chaque téléporter possèdent un ID qui doit être unique. OutTeleporterID permet d’indiquer la sortie du teleporter (qui peut être n’importe quel autre teleporter). Un angle de sortie est également à fournir.
Pour terminer, il faut placer quelques Switchers.
Futur
L’aspect graphique du programme va être modifié. J’étudierai toute proposition de design, même si je garde le travail sur les graphismes (effets, animations) pour plus tard. La prochaine étape sera celle du jeu lui-même. Régler, suite aux retours, le moteur physique. Ajouter les fonctionnalités du jeu (compteur de coups, timer), un enregistrement des high-scores, une sélection des niveaux.
Les premiers tests sur XBox 360 (voir ce que donne le moteur physique notamment) vont également être réalisés bientôt.