trotter -
posté le 12/10/2012 à 01:47:47 (10855 messages postés)
-
❤ 0
Allez, ça commence à sortir du prototype alors un topic pour présenter un petit système où on peut créer une map, puis la parcourir avec ses amis en discutant.
Un peu à la manière de http://rpgjs.com/ mais moins évolué.
Comme je sais que vous avez la flemme de vous inscrire, j'ai créé des personnages publics.
Si un personnage est déjà utilisé, vous pourrez pas l'utiliser (il faut attendre que le joueur qui l'utilise ne l'utilise pas pendant 2 min).
Ne la partagez pas ! Sinon, vous serez deux personnes à contrôler le même personnage.
Il y a aussi des personnages privés, prévus pour n'être utilisés que par un seul joueur.
Par exemple linn, ici protégée par la clef "a" (linn est dans un coin paumée toute seule, sans téléporteur pour rejoindre les autres) :
http://www.traitplat.fr/rpg/monde.php?joueur=linn&clef=a
Il n'y a pas encore de système d'inscription mais ça viendra.
TECHNIQUEMENT C'est du javascript+php sans base de données.
Ca fonctionne comme ça en gros :
1)Php génère la map à partir des fichiers maps sur le serveur.
2)javascript gère les déplacements+collisions et envoie la position du joueur à php.
3)Php vérifie si les déplacements sont corrects. Si non, le joueur est téléporté en arrière.
4)La position des events est récupéré en js, les events sont déplacés vers leur position.
Je ne sais pas combien de joueur le système supporte au maximum. La position des joueurs est actualisée toutes les 3 secondes environ, ce qui ne devrait pas trop faire souffrir le serveur.
J'aimerais beaucoup organiser un gros rendez-vous avez une dizaine de personnes pour tester.
Le principal problème que j'ai rencontré, c'est que lorsque les joueurs bougent, ils modifient la map sur laquelle ils sont en réalisant une copie modifiée, effaçant l'ancienne, renommant la copie pour le mettre à la place de l'originale. Il peut arriver que les joueurs modifient cette map en même temps. Normalement des sécurités ont été mises en place mais seul je peux pas savoir si ça marche.
AVENIR J'aimerais beaucoup inclure un mode "maitre du jeu" qui contrôlerait plusieurs events à la fois pour faire vivre une aventure à un groupe de joueurs.
Pourquoi pas aussi un éditeur de maps en ligne. Les joueurs pourraient alors créer leurs propres maisons, on pourrait avoir un groupe de joueurs "dieux" qui pourraient tout modifier etc.
Peut être réaliser un petit rpg solo/coop... Le gros problème c'est la gestion de la programmation évènementielle (conditions, interrupteurs, déplacements...) mais c'est pas non plus insurmontable.
CONCLUSION Je ne vais plus toucher à ce projet pendant quelques semaines, donc je vous le laisse là histoire de voir si vous allez tout casser pendant mon absence.
-Pourquoi les personnages clignotent ?
Pour indiquer qu'ils tournent, c'est une fonction que j'ai appelé clignotant.
Non, sérieusement, les personnages clignotent le temps de charger toutes leurs images. Une fois toutes les frames chargées dans le navigateur, ils ne clignoteront plus.
Vous pouvez les charger en regardant cette page :
http://www.traitplat.fr/rpg/imgs/charas/chargeimages.htm
-A quelle vitesse les persos peuvent se déplacer ?
Après test le meilleur que j'ai pu avoir, pour un déplacement optimal (mettons que vous voulez faire un jeu de shoot), une case toute les 300ms. Ca dépend du ping que vous avez avec le serveur web. Vous pouvez les faire se déplacer encore plus vite en sautant des cases mais on devient moins précis.
Un serveur web n'est pas un serveur de jeu. Si vous avez 300 joueurs et lui demandez trop de requêtes il pourra penser que vous êtes en train de l'attaquer et appeler le FBI, je suppose.
-Pourquoi tu n'utilises pas un framework HTML 5 tout prêt, webcanvas ou carrément RPGJS ?
J'ai développé ça rapidement pour m'amuser. J'essaie de rester compatible ie7. C'est beaucoup plus difficile de modifier le travail des autres que de réaliser ça depuis 0.
-Comment modifier une map ?
Pour modifier une map, il faut ouvrir le .txt dans le dossier "maps".
Il y a aussi un dossier "maps/objets/" qui contient les évènements de la map tels que les joueurs, les points de téléportation...
-Comment ajouter un joueur ?
Pour créer un nouveau joueur, il faut ajouter le joueur sur une map et créer un fichier joueur dans le dossier "\joueurs\onlines".
Il faut aussi ajouter le joueur sur une map, dans le dossier "maps/objets/".
-Si j'installe ton truc sur mon serveur, peux-tu me jurer qu'il n'y a pas de bugs et que ça ne permettra pas aux gens de pirater mon serveur ?
Non.
ౡ
Sheeka -
posté le 12/10/2012 à 10:06:58 (898 messages postés)
❤ 0
Freelance
Je t'admire, c'est super !
Par contre, ça ram beaucoup, et j'ai dans quel fichier php se trouve la configuration pour la base de données mysql ?
https://www.deviantart.com/zewiskaaz
Gaetz -
posté le 12/10/2012 à 11:30:19 (2395 messages postés)
❤ 0
...passe...
Pourquoi ne pas améliorer rpgjs au lieu de créer un autre projet ?
trotter -
posté le 12/10/2012 à 12:31:57 (10855 messages postés)
-
❤ 0
Sheeka, il n'y a pas de base de donnée, ni de système de configuration. Pour créer de nouveaux joueurs ou modifier des maps il faut le faire à la main.
Ca rame à quel niveau ?
Gaetz, je croyais que RPG JS était payant, c'est chouette qu'ils l'aient rendu gratuit.
Mais je ne l'aurais pas utilisé.
C'est vraiment difficile de se plonger dans le travail d'un autre. Et je n'utiliserais plus de moteurs de ce genre. Pour créer un wiki j'ai utilisé la solution open source dokuwiki, pour gérer un album photo j'avais utilisé TinyWebGallery, pour un boulot j'ai du utiliser Dollibar. Ca a été du sang et des larmes pour les configurer exactement comme je le voulais et une fois réussi, il y a une mise à jour qui détruit tout.
Avec quelques heures de travail j'aurais pu avoir des solutions équivalentes, certes sans système de plugins et tout, mais spécifiquement taillée à mes besoins.
A l'avenir par exemple si je devais faire un blog, je ferais trois champ de texte (titre, billet du blog, tags) et je mettrais les trois champs dans une base de donnée, et un fichier php irait les lire et les afficher et basta. Pas de wordpress.
Pour finir c'était rigolo à développer et un bon exercice.
ౡ
Sheeka -
posté le 12/10/2012 à 13:12:46 (898 messages postés)
❤ 0
Freelance
Quand je bouge, toujours quoi, le personnage apparaît et disparrait...
https://www.deviantart.com/zewiskaaz
trotter -
posté le 12/10/2012 à 13:29:13 (10855 messages postés)
-
❤ 0
C'est sans doute parce que les images ne sont pas chargées dans ton cache, il faut que je fasse un système qui charge les images même quand on bouge pas.