Night.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV/MZ

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Sorties: Star Trek: Glorious Wolf - (...) / Sorties: Dread Mac Farlane - episode 3 / News: Plein d'images cools créées par (...) / Sorties: Star Trek: Glorious Wolf - (...) / Jeux: Final Fantasy 2.0 / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

419 connectés actuellement

29185776 visiteurs
depuis l'ouverture

6041 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Guelnika & E-magination

Eclipso

Le Comptoir Du clickeur

RPG Fusion

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Généralités > [MV] Faire un MMORPG ?


leops - posté le 22/01/2017 à 22:02:04 (9 messages postés)

❤ 0

A l'origine je voulais mettre un titre encore plus clickbait, genre "Le top 5 des raisons pour lesquelles il est possible de créér un MMO avec RPG Maker MV, la 2 va vous étonner !", mais ça rentrait pas.
Bon vous savez quoi on va s'en contenter ...

Vous vous souvenez de l'époque il facile d'expliquer pourquoi RPG Maker ne PEUX PAS servir a créér des MMO ? "Pas de gestion du réseau dans le moteur", "Les serveurs ça coute cher", tout ça.
C'était bien hein ?

Et puis un jour, quelqu'un chez Enterbrain a eu un éclair de génie en réunion marketing: "Vous savez ce qui est hype en ce moment ? Le javascript. On devrait recoder tout le moteur avec !"
Et c'est comme ça qu'on se retrouve avec des jeux qui sont littéralement une frame node-webkit qui fait tourner une page web. Sauf que si vous avez un peux suivi, ça veux aussi dire 2 choses:

1: Il est du coup possible d'utiliser dans les scripts la totalité du stack de networking de Chrome. Les XHR, les WebSocket, les WebRTC, la totale.
(Bon MV est distribué avec la version 0.12 de node-webkit, qui équivaut a un Chrome 41 donc c'est un peux vieillissant mais ça se met a jour facilement, et la base des specs était déja implémentée à l'époque)

2: En modifiant juste 2-3 trucs, on peux faire tourner le moteur tel quel en headless avec node.js.

Donc, si je résume, on a désormais un layer réseau complet dans le moteur, et on peux le faire tourner sur un serveur.
... La c'est le moment ou mon "Moi du passé" serait parti coder direct.
... Mon "Moi du passé" d'il y a 2 jours.

Maintenant si vous n'êtes pas un développeur en manque de défi, vous devez vous dire qu'il y a un truc quelque part.
Ca peux pas être aussi simple.
Et ... Oui et Non.

Oui parce que le réseau, c'est compliqué. Comme le disait ... je sais plus (peut être Notch ?): "Il n'existe pas de bon Netcode, seulement du Netcode pas trop mauvais".
Il faut prendre en compte la perte de paquets, leur ordre d'arrivée, et même dans le meilleur des cas théorique (= vitesse lumière) il reste toujours de la latence.

Mais vous vous souvenez que j'ai mentionné node.js ? Qui dispose du Node Package Manager, l'un des plus gros / le plus gros (selon quelle statistique on regarde) dépôt de modules au monde. Dans les 404 264 packages publiés sur NPM au moment ou j'écris ces lignes, il doit bien exister quelques librairies écrites par des gens qui savent ce qu'ils font pour régler ce genre de problème.

Personellement pour mon PoC, j'ai opté pour la techno de Firebase, qui fournit un service de base de données "realtime". En gros c'est un stockage NoSQL similaire à MongoDB, mais qui gère automatiquement la réplication entre les clients.

(Si vous avez un peux suivi, ce qui n'est pas dis, vous aurez remarqué que je parle de base de données mais pas de serveur. En fait ... Pour le moment, j'en ai pas. Les clients écrivent directement dans le base de données. Bon, il y a quelques règles de sécurité pour éviter qu'on puisse faire n'importe quoi mais ça reste le niveau -1 de la sécurité anti-cheat. Dans une version future je ferais tourner le code en parallèle sur les clients et un serveur node.js, mais la tout de suite ... j'ai la flemme. Et puis ça fais que 2 jours que je suis là dessus ...)

Ce qui est cool avec cette solution, c'est que ça permet de régler un autre problème: les serveurs.
En 2017, a l'ère du PaaS, on peux lancer un cluster de 50 serveurs en quelques clics.
Et avec des technos serverless comme Firebase, tout ça est même complètement abstrait.

Bon bien sur les serveurs coûtent toujours de l'argent, mais au moins on peux savoir assez précisement à combien ça revient, ces "serveurs qui coutent cher":
- Firebase a un plan de base à $25 par mois, puis c'est un tarif progressif en fonction des ressources que le système utilise. Ils ont même un widget stylé avec des sliders sur la page de pricing pour prévoir si on pourra avoir du beurre dans les pâtes en fin de mois.
- Pour faire tourner les serveurs node.js additionnels, il y a l'embaras du choix dans les providers PaaS mais je vais prendre l'exemple d'Amazon EC2, qui fonctionne aussi sur un modèle de pay-what-you-use par heure de serveur utilisées. Pour des serveurs node des instances t2.micro peuvent suffir mais a mon avis l'usage mémoire va monter assez vite, donc il faudra surement viser au dessus. Avec des t2.medium ça fait quelque chose comme $35 par mois. Pour un serveur. Sans la TVA.

La c'est le moment ou j'arrive a la fin, et ou je m'aperçoit que j'ai pas tellement d'exemple à montrer. Enfin, en gros j'ai un prototype fonctionnel de jeu avec un formulaire de login, puis une liste de serveurs sur le menu principal, et ensuite 2 maps importées des sample de MV juste pour tester que les joueurs se voient bien.
Ca marche, ça marche même plûtot bien, mais bon. C'est pas spécialement ... impressionant.

image
"Incroyable ! Ces deux personnages sont en fait des joueurs !"

En plus je pense même pas pouvoir poster ça sous forme de script, vu que j'ai passé la totalité du code client de MV dans quelques scripts pour pouvoir swapper certains modules en mode headless.
Donc redistribuer ça revient à redistribuer quasiment tout MV, et je pense pas que ça soit couvert par la licence.

Du coup pour conclure:
- Le multiplayer avec MV, c'est possible
- J'aurais sans doute du faire un article mais ça aurais fais moins de vues, que voulez vous il faut faire de l'audience pour vivre
- Je vous jure que ça marche, mais pour pouvoir le tester il faudra attendre que j'ai pondu un scénario / soit devenu bon en mapping
- Et si vous me croyez pas, ben je viens d'expliquer de manière suffisament détaillée mon système pour qu'il soit possible de le refaire

image


Gaetz - posté le 22/01/2017 à 22:19:08 (2377 messages postés)

❤ 0

...passe...

En fait, il y a des gens qui ont fait des systèmes pour du multijoueur avec rpg maker. Par exemple, tonyryu sous rmxp : http://www.tonyryudev.com/joomla3/index.php/menu-mes-developpements/menu-script-rpgmaker/26-xp-passerelle-multijoueur-online-pmo

En tous cas, bravo pour avoir fait ça avec des technos modernes et peu couteuses :)

Lije : démo 0.5 | Powered by Geex


kanatos - posté le 24/01/2017 à 11:37:34 (293 messages postés)

❤ 0

cute rabbit

merci pour cette article très détaillés, je penses que tu en a largué plus d'un avec tout ces termes complexes(moi par exemple x)) mais j'ai trouvé ça fort intéressant :)


Raymond du Piedmont - posté le 24/01/2017 à 15:47:25 (1105 messages postés)

❤ 0

Bouc revenant (mais sans revenus)

Intéressant, je m'attendais a un énième post sur un MMO bancal avec RPG Maker mais y'a suffisamment de détails et de recherches sur le sujet, je suis agréablement surpris.

Après, j'ai des connaissances en réseau mais ça reste du netcode avec une base, et j'ai pas fait de progra dans mon cursus (le Shell Windows/Linux compte pas trop dans ces cas là).


tonyryu - posté le 13/02/2017 à 14:15:59 (74 messages postés)

❤ 0

Tuto du Poc que j'ai fait en avril 2016 :

http://www.rpgmakervx-fr.com/t19775-connexion-websocket-avec-node-js-et-socket-io

Il est également possible de commencer à faire des tests sur des VPS qui couteront qu'une quarantaine d'euro par an.


Captain Ginyu - posté le 16/02/2017 à 07:52:26 (316 messages postés)

❤ 0

Très intéressant et impressionnant ! :)

Un site d'histoire : http://www.lovapourrier.com/

Index du forum > Généralités > [MV] Faire un MMORPG ?

repondre up

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers