Introduction :Cela fait maintenant quelques temps, pour ne pas dire années, que ce projet traine dans un recoin du laboratoire de recherche. Et au vue de ma reprise récente de ce projet pour le terminer, il va de soit, que le mieux est de le passer dans la section des projets en cours.
Historique : Petit historique rapide pour ceux qui aurait la flemme de lire le topic d'origine (http://rpgmxpstudio.pellnet.ch/lataverne/viewtopic.php?t=1718).
- Donc en octobre 2006, pendant ma période de chomage, où je remplissais bien mes journées à coder du ruby, je me suis mis en tête l'idée de faire un système multijoueur léger pour RMXP. Idée un peu folle au vue de tous les échecs du online gravitant autour de RMXP, en effet, il faut être très bon programmeur pour voir que le système Netplay ne peut vraiment pas fonctionner correctement, pour ceux qui veulent des détails, allez voir le topic d'origine. Il a donc fallu repartir de pas grand chose, pour créer un nouveau Socket optimisé et qui fonctionne correctement avec le minimum de plantage. C'est chose faite ici http://tonyryu.free.fr/joomla/index.php?option=com_content&task=view&id=32&Itemid=28. La première idée était d'intégrer le serveur et le client dans un script RMXP, hors après de nombreux tests, il s'est avéré que la partie serveur ne pouvait être intégré dans RMXP. Il a donc fallu partir sur une solution avec un serveur Ruby et plusieurs clients RMXP.
- Fin décembre 2006, Après quelques mois d'analyse et de codage, la première version fonctionnelle est sorti pour faire des tests techniques sur des projets pointus, cependant, un gros problème de déssynchronisation m'a obligé à grandement compliquer la partie serveur.
- Fin Janvier 2007, le socket client est pratiquement finalisé, du moins, il répond à ce que je lui demande sans trop pousser.
- Mi février 2007, le projet devient PMO, c'est à dire mettre en place une passerelle permettant aux joueurs de jouer à des jeux fait avec le RGSS RMXP, en ligne, à 16 maximum.
- Mi mai 2007, les premiers tests de PMO sont effectués avec un grand entousiasme de la communauté, ça sent le projet bien betonné
- Juillet 2007, décrochage du projet, naissance de ma fille, plus d'autres priorités ont fait que le projet PMO est tombé dans les oubliettes
- Février 2008, le code source du serveur et du client est en libre distribution
- Décembre 2008, fin de restructuration et d'optimisation du socket RMXP
- Fin avril 2009, remise en question sur mes capacités à finir un projet, j'me met un bon coup de pied au cul, et je retourne sur le projet PMO, pour le dépoussiérer intégralement et surtout l'optimiser au maximum.
- Aujourd'hui, post dans la partie projet pour présenter PMO à un large publique et d'en montrer la plupart des fonctionnalités, les point d'avancement et des screens bien sur.
Fonctionnalités : * implémentées : - Option de langue, clavier, volume des sons
- Gestion des noms et de mode de jeu
- gestion des serveur
- Connection au serveur
- Création de compte direct
- Login/logout avec compte
- changement de mot de passe
- création de salle d'attente en spécifiant le jeu et le mode ce qui permettra de déterminer le nombre de joueur max et la gestion d'équipe, protégé ou non par mot de passe
- Tchat dans la salle d'attente, avec possibilité de parler en privé, ou à son équipe
- Possibilité de choisir son équipe dans la salle d'attente
- Contrôle de saisie lors de la création du compte
- Modifier l'état des joueurs en "PRET"
* en développements : - Procédure de gestion avec un jeu démo (certainement un puissance 4)
- Modifier les textes affichés en fonction de la langue sélectionnée
- Créer une console d'administration, pour effectuer différentes action de maintenance à distance
Informations complémentaires : - Je vais avoir besoin d'un très grand nombre de testeur afin de pouvoir vérifier que toute l'interface fonctionne parfaitement, avant de me lancer sur la conception d'un jeu de démonstration. Pour cela une version de la partie cliente sera mis à disposition dans peu de temps.
Captures d'écran :Log serveur : - Code:
-
14/05/2009-14:39.48 : Demarrage du serveur
14/05/2009-14:39.48 : Chargement du fichier ini
14/05/2009-14:39.48 : Nom du serveur : PMO-Tonyryu
14/05/2009-14:39.48 : Mode DEBUG : OFF
14/05/2009-14:39.48 : Initialisation de l'objet de gestion de comptes
14/05/2009-14:39.48 : Initialisation de l'objet de gestion de clients
14/05/2009-14:39.48 : Initialisation de l'objet de gestion de jeux
14/05/2009-14:39.48 : Ajout du jeu Demo
14/05/2009-14:39.48 : Initialisation de l'objet de gestion de salons
14/05/2009-14:39.48 : Ouverture du socket : OK
14/05/2009-14:39.48 : Attente de connection...
14/05/2009-14:41.55 : 127.0.0.1 : Nouvelle connection, canal 21310020
14/05/2009-14:43.10 : 127.0.0.1 : Nouveau compte crÚÚ : Nouveau
14/05/2009-14:45.02 : 127.0.0.1 : login : Nouveau
14/05/2009-14:46.16 : 127.0.0.1 : Nouvelle connection, canal 21299880
14/05/2009-14:46.22 : 127.0.0.1 : login : Tonyryu
14/05/2009-14:46.36 : 127.0.0.1 : La salle Salon de test vient d'etre cree
14/05/2009-14:46.36 : 127.0.0.1 : Tonyryu rejoint la salle Salon de test
14/05/2009-14:47.41 : 127.0.0.1 : Nouveau rejoint la salle Salon de test
14/05/2009-14:47.50 : 127.0.0.1 : Nouveau dit : Salut Tony au salon
14/05/2009-14:48.13 : 127.0.0.1 : Tonyryu dit : Salut le nouveau, comment se passe les tests? au salon
14/05/2009-14:48.32 : 127.0.0.1 : Nouveau dit : bien, je vais faire un test d'envoi +á l'+
quipe au salon
14/05/2009-14:48.41 : 127.0.0.1 : Nouveau dit : test equipe Ó son Úquipe
14/05/2009-14:48.56 : 127.0.0.1 : Tonyryu dit : impecable, test en message priv+
pour voir Ó son Úquipe
14/05/2009-14:49.12 : 127.0.0.1 : Nouveau dit : essaie au joueur tony
14/05/2009-14:49.33 : 127.0.0.1 : Nouveau dit : Oups je me suis tromp+
de nom au joueur tonyryu
14/05/2009-14:50.09 : 127.0.0.1 : Tonyryu dit : c'est malin... ^_^ mais bon, l'essentiel, c'est que +ºa fonctionne!! au joueur nouveau
14/05/2009-14:51.54 : 127.0.0.1 : Tonyryu quitte la salle Salon de test
14/05/2009-14:51.55 : 127.0.0.1 : logout: Tonyryu
14/05/2009-14:51.56 : 127.0.0.1 : Fin de connection
14/05/2009-14:52.02 : 127.0.0.1 : Nouveau quitte la salle Salon de test
14/05/2009-14:52.02 : 127.0.0.1 : La salle Salon de test vient d'etre detruite
14/05/2009-14:52.03 : 127.0.0.1 : logout: Nouveau
14/05/2009-14:52.04 : 127.0.0.1 : Fin de connection
La partie serveur PMO tourne sur mon serveur physique en continue. Vous pouvez télécharger l'application cliente ici : http://tonyryu.free.fr/datas/scripts_rmxp/neo_PMO.rar afin de réaliser les tests sur la première partie hors jeu. Comme indiqué dans le premier post, je me pencherai plus en détail sur la partie jeu, une fois que tout ce qui a déjà été développé sera validé.
Informations utiles :- il reste des points non terminés, surtout au niveau de la traduction des textes, ainsi que la gestion du clavier autre que AZERTY.
- Le serveur à choisir est celui qui à l'adresse "tonyryu.hd.free.fr"
- Si vous avez une erreur "script hanging" après la sélection du serveur, veuillez consulter cette page http://tonyryu.free.fr pour voir si le serveur PMO est en ligne.
- Les caractères autorisés pour le login sont les lettres minuscules et majuscules de "a" à "z" et les chiffres de 0 à 9, les caractères accentués ne sont pas autorisés.
- Tous ce que vous direz dans les salles d'attentes est enregistré dans les fichiers de log sur le serveur, donc évitez les écarts de conduite.
- Lorsque tout le monde est prêt dans une salle, une boite de dialogue informera que le jeu choisi est lancé avec le mode choisi, et dés validation, vous retournerez sur la salle d'attente.
Raccourcis clavier en salle d'attente:- ECHAP : ouvre le menu de sélection d'équipe avec la possibilité de sortir de la salle d'attente; sortir de la saisie de tchat
- ENTREE : Sélectionne une option dans le menu; valide un message en tchat; sort de la saisie de tchat si aucun message; entre en saisie de tchat
- TAB : permet de changer le statut "PRET" du joueur si hors saisie de tchat (vert = prêt; rouge = pas prêt)
- En saisie de tchat :
* pour envoie message à l'équipe : /e message
* pour envoie message privé : /p login message
Si vous trouvez un bug, merci de le signaler sur le topic du projet sur le studio 2 ou sur mon site.