PDA

Voir la version complète : programme pour jeu de plateau



olinox14
13/12/2013, 11h55
:) Salut à vous!

alors voilà, on s'est mis en tête avec un pote de mettre au point un programme qui nous permette de jouer à des jeux de rôle à distance, entre copains.

Ce programme doit nous permettre:
1- de gérer un plateau avec couches (quadrillage, terrain, objets fixes, objets meubles, personnages...)
2- de gérer une base de donnée (personnages, butins, créatures...)
3- de gérer une connexion type client serveur entre nous
4- et de mettre en place une interface agréable, avec jets de dés, feuilles de personnages...etc.

Pour l'instant, on s'orientait vers un programme en python, couplé à des applis du genre qgis (le plateau pourrait prendre la forme d'un mini SIG), mais aucun de nous deux ne connait bien ce langage (on va apprendre)

Auriez vous des conseils à ce sujet? d'autres langages qui pourraient mieux se prêter à ce genre de projet? des outils particuliers?
Tous vos conseils seront plus que bienvenus! (tant qu'ils sont gratuits ;))
Et on vous citera dans nos prochaines prières au Grand Octet, aussi.

Merci d'avance!!!

SeanRon
13/12/2013, 12h58
peu-être q'un site en html5 vous permettra de faire autant, plus simplement.
un modèle web aura bien plus la côte qu'un logiciel à installer, et il fonctionnera autant sur un pc qu'un mac ou une tablette.

Et ça fera pas de mal à roll20.net d'avoir un concurrent sérieux.

Louck
13/12/2013, 13h11
Et ça fera pas de mal à roll20.net d'avoir un concurrent sérieux.
Ca a l'air bien avancé comme application.
Qu'est ce qu'il lui manque ?

olinox14
13/12/2013, 15h14
Oui on a pensé au web, ça pourrait être une bonne solution, mais j'ai un faible pour les applis installées en local, plus paramétrables, pas de problèmes d'hébergement, plus rapides dans le traitement de la donnée... (je sais j'ai dû rater le passage de siècle)

d'ailleurs l'idée n'est pas tellement de faire un truc du genre de roll20, plutôt ce que j'aurais voulu que soit une appli comme rollistik

Un truc qui permette de jouer à des JDR de table, mais sans la table en quelque sorte, et à 500 bornes les uns des autres...

Dites moi si je suis pas assez clair, y'a autant de brouillard à strasbourg que dans ma tête aujourd'hui.

beuargh
13/12/2013, 17h45
Il existe déjà http://rolistik.free.fr/ et d'autres payants dont je ne me souviens plus le nom.

olinox14
14/12/2013, 19h49
Oui je connais rollistik, comme je disais, je voudrais une appli sur le même principe, mais il y manque de nombreuses fonctionnalités (carte avec couches et quadrillage, feuilles de perso et butin, outils d'aide pour un maitre du jeu etc.), d'où le projet...

Pour ce qui est des payants, j'en connais pas, ça pourrait être intéressant mais ça ne changerait rien au projet, on voudrait un truc à nous (et ce serait gratuit ;))

Edell
15/12/2013, 08h15
Un jour j'ai eu une grosse envie de jouer à un jeu de carte avec un pote qui n'habite pas à côté de chez moi, donc je m'étais amusé à coder vite fait un outil de "simu de jeux de cartes" qui fonctionne en multi via internet :)

http://tof.canardpc.com/preview2/de99fe8b-ef1c-4c21-b057-5e7cf5a10d11.jpg (http://tof.canardpc.com/view/de99fe8b-ef1c-4c21-b057-5e7cf5a10d11.jpg)

C'est très rudimentaire, mais le logiciel peut lire un répertoire dans lequel les joueurs placent leurs scans du jeu de cartes, une fois ingame ils peuvent faire spawner ces répertoires de cartes scannées sous forme de "deck", et il est ensuite possible de piocher dans ce deck pour faire apparaitre une carte.

Puis ensuite c'est simple : clic gauche pour prendre une carte en main, la déplacer puis la déposer, clic droit pour la faire tourner de 90° (pratique pour jouer à Magic par exemple), touche F du clavier pour switcher entre le recto et le verso de la carte ou du deck. Et lorsque le joueur survol une carte ou un deck, une version zoomée apparait en bas à droite de l'écran histoire qu'il puisse lire les détails.

Ah et y'a la possibilité de faire spawner des jetons (tokens), ainsi que de faire un jet de d6.

J'y ai pas touché depuis un bail, mais si quelqu'un veut tester le bouzin pour jouer avec ses potes, qu'il me fasse signe.

olinox14
16/12/2013, 22h39
ça a l'air sympa, bien pensé en tout cas!

bon, le jeu de cartes c'est cool, mais le jeu sur carte, c'est bien aussi. En fait, on pensait d'avantage à une interface permettant de jouer à des jeux comme DD (3.5 bien sûr)

On part sur python alors? ou y'a t-il un canard pour éclairer d'avantage ma lanterne?

SeanRon
17/12/2013, 01h19
Ca a l'air bien avancé comme application.
Qu'est ce qu'il lui manque ?

niveau fonctionnalités, roll20 à tout ce qu'il faut, mais le problème est plus au niveau ergonomie et temps de mise en place qu'il y a vraiment des trucs à revoir.
Leur espèce de shopping à acheter des tokens / tuiles est très discutable également.

Adu
17/12/2013, 08h50
(point noir pour suivre le sujet, car j'étais aussi dans le même cas que de trouver un moteur ou de devoir en faire un moi-même pour adapter certains de mes jeux de plateaux à une dématérialisation pour jouer avec des potes (et si possible de façon asynchrone pour un jeu de plateaux))

EDIT : pourquoi réinventer la roue quand y a vassal qui me le permet ?

olinox14
18/12/2013, 13h50
wow je connaissais pas Vassal :o
faut qu'on se penche là dessus, ça a l'air assez puissant :wub:

mais d'un autre coté, j'ai bien envie de la réinventer la roue, parce que ça sera pas n'importe quelle roue, ce sera notre propre cinquième roue du carrosse!
et ça, ça a pas de prix...

TanteMarge
21/12/2013, 02h07
Salut,

Vassal n'est qu'un moteur, à toi ensuite de créer ton propre module correspondant au jeu auquel tu souhaites jouer (s'il n'existe pas ou si l'actuel n'est pas assez complet) ce qui doit déjà représenter pas mal de taf à mon avis.

deathdigger
23/12/2013, 19h27
Vu ce que tu veux, le mieux est effectivement de passer par un site web : au moins, tu n'as pas à gérer les sockets entre les clients et la base de données est la même pour tout le monde.
Si tu veux absolument un logiciel lourd, dans ce cas, je te conseille quand même d'avoir une couche web pour gérer les interactions (regarde REST, JSON, ...).

mithrandir3
25/12/2013, 04h05
Attention les interfaces web sont loin d'être simples à coder pour faire un truc qui fonctionne correctement, contrairement à ce qu'on lit partout. Et la question de ce qu'on met sur le serveur et sur le client est un vrai casse-tête souvent.

SeanRon
25/12/2013, 18h31
wat ? euh non.
Avec le couple html5/css3, c'est même devenu ultra simple de coder des interfaces utilisateurs chiadées.
coté serveur, un simple apache/php et mysql feraient l'affaire.
Si on ne veut pas se prendre la tête avec une base de donnée, quelques fichiers xml dans un repertoire dédié à la partie en cours.
il faut prévoir également de l'espace d'hébergement pour les images des joueurs et c'est surement le plus couteux dans l'histoire.
si on veut ajouter de l'audio, ça peut être lourd aussi, avec une api flash et un serveur RTMP.

Mais le choix d'une application dédiée en python n'est pas une mauvaise idée, cela simplifie certains aspects du projet mais ça va poser les même problèmes que Rolistik qui l'on fait tomber en désuétude :
Bon si t'arrives pas à te connecter au mec qui hoste c'est peu-être que tu n'as pas ouvert les ports de ton routeur... adieu partie de jdr, bonjour soirée de bidouillages en délire ! woohoo

deathdigger
30/12/2013, 10h20
C'est pour ça que le couple appli lourde/"site web" est le plus simple :
Ton logiciel envoie sur différentes pages web des requêtes qui renvoient un résultat (genre en xml ou autre) que tu parses pour faire ton affichage sur ton appli.

Le debug sur les applis lourdes est plus simple et rapide que sur une appli web, et le jour où tu veux migrer en full web, t'as déjà fait 80% du boulot ;)

olinox14
06/01/2014, 14h16
salut à tous et bonne année avec plein de bonnes résolutions! (je vous laisse la choisir, votre résolution. après tout, ça dépend de votre écran)

On a réfléchi de notre coté, et effectivement, on penche de plus en plus pour une application python avec interface web, et base de donnée derrière tout ça.

De mon coté, j'ai une bonne expérience avec les bases de données. C'est pas facile à mettre en place, c'est sûr.
Mais ça apporte aussi une bonne stabilité, un accès facile (mais contrôlé) aux données et une bonne lisibilité, ainsi qu'une gestion des droits...

Pour le choix de python, c'est surtout parce que ce langage m'attire depuis un moment, et que rien ne vaut un bon gros projet pour maitriser un langage.
Je pense qu'il est tout à fait adapté à ce genre de logiciel, mais je n'ai pas forcément le recul pour le comparer à d'autres...

Pour l'interface web, ça reste à voir. Comme je le disais plus haut, j'aimais beaucoup l'aspect "intimiste" d'un rollistik. Pas d'hébergement, un stockage des données en local, etc.
pour des parties qui concernent 3 à 6 joueurs en général, ça me paraissait plus agréable (même si la première utilisation est un peu ch*** à cause des histoires de ports à ouvrir et compagnie). Mais bon. Je finirais sans doute par me résigner à la solution page web...

Enfin oui, j'ai bien compris que vassal était un moteur, apparemment assez souple d’après ce que j'ai vu, mais comme dit, ce projet est aussi pour nous une occasion d'apprendre et tout et tout, et on se donne l'année pour arriver à un résultat honnête, donc autant démarrer en mode terra incognita. Histoire de laisser la voie libre à notre imagination quoi...

Voilà, merci encore! et Tchüss, comme on dit chez nos voisins teutons!

olinox14
29/01/2014, 18h42
Salut à tous! Juste pour tenir d’éventuels intéressés au courant:
On est parti sur une appli codée en python, connectée en tcp (sockets). on prévoit une interface (pyqt+pygame), un chat vocal (audioop+pyaudio), et tout un tas de belles fonctionnalités en plus... on bosse aussi sur des règles type JDR adaptées

Si quelqu'un a des conseils ou des idées, on prend avec plaisir!!

Ça avance pas mal pour l'instant, je vous tiendrai au courant...
Bonne soirée!
olinox

SeanRon
29/01/2014, 18h50
comment ça ? vous voulez imposer des règles ?

olinox14
29/01/2014, 19h00
d'une certaine manière oui, on veut coder une partie des mécanismes de combat et ce genre de choses

Faut comprendre: ce sera un jeu type donjon et dragon, avec narrateur donc
Mais si on veut ne serait-ce qu'implémenter des fiches de persos, on doit savoir comment représenter un perso

quitte à laisser autant de marge de manœuvre que possible au maitre du jeu