J'ai eu une idée hier, de faire une partie de Donjon & Dragon en réseau.
Avant toute chose, CE N EST PAS UN MMORPG !!!!
Je hais ces faux jdr et je n'en commettrai jamais un !
De plus, c'est du D&D normale, ce qu'apporte le logiciel c'est simplement le fait de ne pas devoir trouver des gens près de chez sois ce qui n'est pas aisé. Ce n'est qu'un moyen de communication.
Je m'explique, mais c'est assez dur a structurer.
Chaque joueur aura un client :
- Feuille de personnage (avec un accès restreint en écriture)
- Jets de dées
- CLIx :
-- Appel de pseudo-RPC sur le serveur
-- Affichage des infos sur le jeux
-- Jets de dés
-- Chat PV/MD/PUBLIC
- Partage de fichiers
- Fenêtre de stratégie combat (quadrillage)
(- Webcam & microphone) NOTE : Si gerable facilement avec gstreamer
- Recèption de flux audio/video
Le MD aura :
- Idem que le client
- Envoi de fichier
- Envoi de flux audio/video
- Le serveur de partie :
-- Execution des RPC
-- Synchro des clients
- Modification totale des feuilles de persos
Les pseudo-RPC sont en faites des appels de fonctions python sur le serveur.
Le serveur fait, après parsing, un exec.
Voila la structure des RPC :
[Nom de la partie]/[Nom du joueur]/[Porté]/[Fonction]
Par exemple le client envoi :
/D&DBeta/Manu/ALL/roll_dice(2,20)
Ce qui donne HRL :
Jet de deux dés 20 de Manu visible par tous dans la partie D&DBeta
Un autre exemple
/D&DBeta/MD/Player:Manu/print("Salut")
En HRL :
Le MD envoi Manu "Salut" dans la partie D&DBeta
Donc voila, j'ai encore pleins pleins de choses a dire, mais ça deviendrait un Tohu-Bohu complet de l'expliquer dans un CFD.
Je veux juste préciser, pour me couvrir, je donne l'exemple de D&D, mais c'est jouable avec n'importe quel autre JDR.
De plus, le MD peux facilement rajouter des règles en ajoutant dans un classes spécifique les fonctions de ses règles et en installant
sur le client une simple extension en XML pour que ceux-ci puissent appeler les RPC additionnel.
Enfin, je tiens a préciser, les clients ne devront pas taper :
/D&DBeta/Manu/ALL/roll_dice(2,20)
Il suffira de cliquer sur le button "jet de dés" et c'est tout.
Pour la partie Webcam/audio, j'ai fait des testes avec gstreamer, mais dans un premier temp, ce ne sera pas intégré.
L'utilisation d'un simple logiciel comme Skype, permettant cela devrait suffire.
Je cherche donc une ou deux personnes qui pourraient développer avec en python.
Je ne demande pas une connaissances professionnel de python mais simplement :
- Connaissance de l'anglais techniques (lecture de la Doc sur les lib externe)
- Connaissance de python
- Connaissance de l'OO
- Connaissance des sockets
Je ne demande pas des dev pros, je pense que cela peut être un chouette projet de quelques semaines (il n'est pas très compliqué, donc peux être vite developpé)
Inform@tiquement
Manu404