Sujet: OpenRGSS, un moteur de jeu alternatif à RPG Maker Mer 24 Juil 2013 - 23:30
Je viens ici pour vous présenter le projet sur lequel je suis en train de travailler en ce moment. Ce n'est pas un jeu vidéo à proprement parler, mais je n'ai pas trouvé de section qui m'ait semblé plus adaptée pour poster. Il s'agit d'un moteur de jeu conçu pour remplacer intégralement, à terme, le RGSS de RPG Maker. Le concept étant sans doute un peu nébuleux, et difficile à expliquer au néophyte, je vais tâcher d'aller au plus simple. C'est long et je m'en excuse mais il y a beaucoup de choses à dire.
Quelques screens pour se mettre en bouche Un écran qui ressemble à s'y méprendre à quelque chose de bien connu. Jusque-là, rien d'extraordinaire, me direz-vous.
Un peu plus extraordinaire: le même écran en 800x600, avec le menu d'options qui a permis ce réglage.
Encore un peu plus étrange: un menu sélectionnable avec la souris, la flèche rouge fait office de curseur.
Bref, c'est bien beau tout ça mais ça semble pas casser trois pattes à un canard par rapport au RPG Maker XP que l'on connaît déjà. Certes, il y a le changement de résolution et la souris, mais on sait déjà que des scripts savent le faire. La grande originalité c'est que ce que vous avez sous les yeux n'est pas un projet RPG Maker. J'ai écrit ces scripts mais je ne les ai pas rentrés dans l'éditeur de scripts de RPG Maker. Et pour les faire tourner, je n'ai pas lancé l'application Game.exe qui sert à faire tourner les projets RPG Maker. Ce que vous avez sous les yeux, c'est une application tierce qui n'utilise aucune partie de RPG Maker (hormis les images bien entendu), c'est un interpréteur qui comprend son langage de scripting, entièrement réalisé par moi-même, en partant de zéro. J'ai baptisé ce logiciel OpenRGSS.
Un interpréteur RGSS, sans déconner? Oui. Sans rentrer dans les détails techniques, le RGSS est une série de fonctions, notamment graphiques et audio, qui viennent compléter le langage de programmation Ruby en l'armant du nécessaire pour développer des jeux vidéo. Le travail que je fais consiste à réécrire chacune de ces fonctions en partant d'un interpréteur Ruby tout ce qu'il y a de plus conventionnel, de sorte à coller à la syntaxe imaginée par Enterbrain. Je fais un peu la même chose que la communauté OpenOffice.org, qui a écrit un logiciel de traitement de texte en partant de zéro, tout en tâchant de le rendre compatible avec les formats de Micro$oft.
OK, mais quel intérêt? La possibilité de scripter les projets RPG Maker donne beaucoup de pouvoir, mais les scripteurs qui s'y sont aventurés savent qu'il y a des choses que l'on ne peut pas changer, comme par exemple la taille de la fenêtre fixée à 640x480, l'absence de support natif de la souris, les performances qui chutent dramatiquement dès qu'on fait des grandes maps... Ceci pour une simple et bonne raison, c'est que ces limitations sont inscrites dans l'application Game.exe, autrement dit ce ne sont pas les scripts en eux-mêmes, mais ce qui fait tourner les scripts qui pêche. OpenRGSS pourra donc lire les scripts aussi bien que l'interpréteur fourni avec RPG Maker, mais en y ajoutant des possibilités et en évitant de brider inutilement ses fonctionnalités. Aussi, pas besoin de scripts funky qui sont obligés de contourner les limitations en discutant directement avec Windows, OpenRGSS contient d'ores et déjà des fonctions qui permettent de faire un certain nombre de choses théoriquement impossibles avec les applications de RPG Maker. Liste non exhaustive:
taille de la fenêtre ajustable à toutes les tailles d'écran supportées par la carte graphique + support natif du plein écran
support natif de la souris, et de toutes les touches du clavier
davantage de format image/son supportés
meilleures performances et limite de FPS ajustable à volonté
construit sur la version de Ruby la plus récente (2.0.0 à ce jour contre 1.8.1 pour RPG Maker XP)
pur Ruby (OpenRGSS est lui-même un ensemble de scripts Ruby, donc si vous savez scripter en RGSS vous pouvez le modifier directement)
Toutes ces améliorations pour mon projet RPG Maker? Potentiellement. Techniquement, oui, mais ce n'est pas mon but premier. J'aime le RGSS, je trouve que c'est un langage clair et concis avec lequel j'ai mes petites habitudes, donc d'un point de vue purement égoïste mon intérêt personnel c'est de pouvoir utiliser le RGSS pour créer toutes sortes de jeux et pas seulement des RPG. Du coup mon objectif est avant tout de développer le moteur de jeu proprement dit pour pouvoir, justement, avoir les mains libres et se passer de RPG Maker. Cela dit, je suis certain qu'un "lanceur de projets RPG Maker" programmé avec OpenRGSS pourrait intéresser beaucoup de monde, mais cela nécessiterait beaucoup de travail supplémentaire que je ne serai pas forcément motivé pour faire seul. Je pense que l'aboutissement de ce projet en particulier dépendra essentiellement de l'investissement apporté par d'autres scripteurs mais, s'il voit effectivement le jour, alors oui, tous les projets RPG Maker pourront tourner sous OpenRGSS, sans avoir besoin ni de l'application Game.exe, ni des bibliothèques RGSS####.dll.
Un nouveau logiciel de création de jeux? Oui et non. Tout d'abord entendons-nous bien sur le fait qu'OpenRGSS, par nature, n'est qu'un simple interpréteur: il comprend le langage RGSS et l'exécute, c'est tout, il s'adresse donc aux gens capables de scripter en RGSS. Après, dans les projets à long terme, il n'est pas exclu de réaliser des outils aidant à la création des jeux vidéo, comme RPG Maker lui-même. Ma position sur le sujet c'est qu'il n'y a pas de création de jeux vidéo sans programmation. Les logiciels qui proposent simplement de la création "en quelques clics" limitent fatalement l'utilisateur à un vecteur de scénarios prévus par leur concepteur. Autrement dit ce genre de logiciels est adapté pour créer une catégorie de jeux très restreinte, avec peu de marge de manoeuvre. En ce sens, RPG Maker a un peu le cul entre deux chaises puisqu'il propose deux niveaux de programmation: les événements (programmation simpliste, certes, mais programmation tout de même) et le RGSS. On voit bien que, dès qu'on veut toucher aux choses sensibles pour personnaliser un jeu, comme le système de combat, on est obligé de passer par la case scripts. Donc, en ce qui me concerne, je n'envisage pas de développer de logiciel de création de jeu entièrement automatisé comme peut l'être RPG Maker, pour moi il faudra forcément apprendre le langage (au moins les bases) pour pouvoir réaliser un jeu avec OpenRGSS. Cela dit, ce n'est pas parce qu'on s'astreint à programmer, qu'on ne peut pas se faciliter la vie. Du coup j'imagine qu'OpenRGSS pourrait être accompagné, sinon d'un logiciel de création complet, au moins d'un ensemble d'outils d'aide à la création, comme par exemple un éditeur de tilemaps similaire à celui de RPG Maker, qui permettrait de dessiner aussi bien les niveaux d'un jeu de plate-formes que les cartes d'un jeu de stratégie en temps réel. Avec de tels outils, quelques lignes de code suffiraient à faire tourner les jeux les plus simples, tels Pac-Man ou Space Invaders.
Je préférais trouver directement des scripts sur Internet! Je pense aussi aux futurs utilisateurs de qui la programmation n'est simplement pas le truc, et sur le principe des scripteurs publiant leur travaux sur le net pour en faire profiter d'autres, je compte dans un premier temps donner la possibilité à OpenRGSS de charger des scripts externes à la façon de plug-ins (comme je le faisais avec mon Script Manager, pour ceux qui ont suivi cet épisode): autrement dit, vous souhaitez réaliser un jeu de plate-formes type Mario Bros, il vous suffira de trouver le plug-in "plate-formes" qui contiendra un ensemble de scripts servant de modèle à ce type de jeu, comme les scripts prédéfinis de RPG Maker servent de modèle pour un RPG classique. Par la suite, d'autres scripteurs pourront venir étoffer la branche "plate-formes" en ajoutant des scripts qui gèrent, par exemple, de nouveaux types de bonus, ou d'ennemis, ou tout plein d'autres choses, et il suffira alors de les charger à la suite du plug-in "plate-formes" de base pour ajouter instantanément ces nouvelles fonctionnalités. Ainsi, une foule de possibilités seraient déjà accessibles sans avoir besoin de toucher à la moindre ligne de code, pour ceux qui n'ont pas envie de se prendre la tête; et pour ceux qui préfèrent tout personnaliser, ils disposeront d'un grand nombre de modèles pour apprendre et peaufiner leur connaissance du RGSS.
Besoin d'aide? Oui. Je suis encore en train de travailler sur la partie très technique du moteur, sur laquelle seuls des scripteurs confirmés seraient à même de me seconder, mais il y a aussi un tout autre champ d'aides qui pourrait m'être utiles. Je compte monter une communauté autour de ce projet (qui ne serait pas incompatible avec une communauté RPG Maker, bien au contraire) avec, à terme, un site Internet et un forum dédiés. A cet effet, nous pourrions avoir besoin, dans un futur plus ou moins proche...
de scripteurs, évidemment, pour développer des plug-ins et des outils aidant à la création
de webmasters, administrateurs, modérateurs de forum pour superviser et animer la communauté
d'artistes de toutes sortes pour développer des ressources de base, assimilables aux RTP de RPG Maker
de chargés de communication qui aient envie de promouvoir le projet, et sachent peut-être l'expliquer mieux que moi, afin d'agrandir la communauté
de n'importe qui d'intéressé par la création de jeux vidéo pour donner un avis extérieur et tester ce que l'on fait
Attention, la communauté sera certainement anglophone, car j'ai déjà touché des gens à l'international sur d'autres forums; mais si nous réunissons un nombre significatif de francophones (et c'est là où vous avez intérêt à vous manifester) nous pourrons envisager d'ouvrir une branche qui travaille en français, avec l'aide de traducteurs pour faire profiter chaque branche des avancées importantes de l'autre.
Caractéristiques techniques OpenRGSS est une bibliothèque en pur Ruby qui utilise le SDL comme support multimédia, via la bilbiothèque Ruby/SDL. Elle sera toujours accompagnée de la version de Ruby la plus récente (2.0.0 à ce jour). Les méthodes de distribution envisagées sont:
les fichiers source, pour ceux qui veulent se pencher sur le code
un fichier .gem, pour ceux qui souhaitent utiliser la bibliothèque avec leur propre installation de Ruby
un exécutable "lanceur de projets OpenRGSS", qui prendra comme paramètre un fichier .rb ou un nom de répertoire dans lequel s'exécuter, pour le grand public
Il est envisagé de programmer tous les outils d'aide à la création (éditeur de tilemaps, générateur de personnages...) en OpenRGSS eux-mêmes, de sorte que qu'il soit possible à tout scripteur de la communauté d'apporter améliorations et extensions à ces outils.
Avancement du projet Caractéristique opérationnelle Caractéristique en cours de développement ou nécessitant une refonte Caractéristiques encore non disponible
Multimédia Affichage et gestion basique des sprites Transformations graphiques (homothétie, rotation) Transition standard (fondu) Taille de l'écran et plein écran Gestion des fichiers image (formats supportés: BMP, PNM (PPM/PGM/PBM), XPM, XCF, PCX, GIF, JPEG, TIFF, TGA, PNG et LBM) Playback son et musique (formats supportés: WAVE/RIFF, AIFF, VOC, MOD, MIDI, OggVorbis, MP3) Gestion du texte et des polices de caractère Gestion de l'opacité Tons, modes de fusion et autre transformations des couleurs Transitions par-pixel
Input Support intégral du clavier Support de la souris Personnalisation des contrôles Support des manettes de jeu Champ de texte libre
Objets RGSS Fenêtres et windowskins Fenêtres sélectionnables (avec support de la souris)
Fonctionnement externe Gestion des plug-ins Lanceur de projets RPG Maker
Dispositions légales OpenRGSS ne contrevient pas aux termes légaux fixés par Enterbrain pour leur série de logiciels RPG Maker. Aucune partie du logiciel RPG Maker n'a été désassemblée, reproduite ou modifiée. Le seul lien entre RPG Maker et OpenRGSS réside dans la compatibilité du langage de programmation utilisé.
Comme son nom l'indique, OpenRGSS est open-source et sera donc gratuit et libre d'accès pour tout le monde. Il sera distribué sous une licence Creative Commons Attribution/Partage dans les mêmes conditions. Ceci implique entre autres que la modification et la redistribution du projet seront autorisées à conditions que les auteurs (moi-même et la communauté OpenRGSS) soient crédités. Cela signifie aussi que tout plug-in ou autre ressource assimilé au projet OpenRGSS sera distribué sous les mêmes termes - attention, il ne s'agit pas d'une cession de droits, vous serez toujours propriétaire de votre contribution et libre de la retirer du projet à tout moment, simplement en l'y adjoignant vous acceptez qu'elle puisse être modifiée ou redistribuée du moment que vous êtes crédité; si ces termes ne vous conviennent pas vous aurez toujours la liberté de distribuer vos travaux par vos propres moyens, et sous les conditions de votre choix. La possibilité d'utiliser OpenRGSS pour réaliser des jeux vidéo destinés à la vente est un sujet délicat que je compte mettre à débat au sein de la future communauté.
D'un point de vue humain, et en mettant de côté la discussion purement légale, je compte veiller personnellement à ce que chaque contributeur reçoive les honneurs qu'il mérite pour son travail, car c'est un sujet qui me touche, d'autant plus que nous sommes tous des passionnés qui donnons du temps et de l'énergie sans rien gagner en retour, et je tiens à ce que la passion ne soit pas entravée par un manque de respect de la part de certaines personnes peu scrupuleuses.
Média 25/05/2013 - la première vidéo où l'on peut voir OpenRGSS exécuter un menu-titre avec succès, ainsi que la souris en action et les changements de taille de la fenêtre.
F.A.Q. Si des questions vous brûlent les lèvres, la réponse finira sûrement ici.
Dernière édition par Perlune le Jeu 25 Juil 2013 - 10:27, édité 1 fois
Sujet: Re: OpenRGSS, un moteur de jeu alternatif à RPG Maker Mer 24 Juil 2013 - 23:44
C'est un projet très prometteur et ambitieux.
Il y a beaucoup d'indications, des explications claires et surtout il semble avancé.
Je n'imagine aucunement à quel point il est difficile et long à mettre en œuvre, mais par contre je vois ce sur quoi cela ça pourrait déboucher et aussi comment, de bonne collaborations pourraient porter le projet au delà encore.
C'est avec un gros bravo, des moults encouragement et surtout tout le soutient possible que je te dis:
Bon courage.
Ps: Grim m'a montré qu'un projet d'OpenRGSS avait déjà été codé par le passé. Si jamais ça peux t'aider en quelque chose: https://github.com/zh99998/OpenRGSS
Invité Invité
Sujet: Re: OpenRGSS, un moteur de jeu alternatif à RPG Maker Jeu 25 Juil 2013 - 2:26
Citation :
La possibilité de scripter les projets RPG Maker donne beaucoup de pouvoir, mais les scripteurs qui s'y sont aventurés savent qu'il y a des choses que l'on ne peut pas changer, comme par exemple la taille de la fenêtre fixée à 640x480, l'absence de support natif de la souris, les performances qui chutent dramatiquement dès qu'on fait des grandes maps...
Drastiquement ? Sinon, encore heureux qu'ils ont limité à 640x480, les gens arrivent déjà à le faire ramer comme ça, t'imagines en 1280 ? :p
Si tu cherches vraiment à ce que des gens compétents te rejoignent tu devrais peut être en dire plus sur le projet, les lib que t'utilises, ce qui est fait, ce qui reste à faire, plutôt que de faire des explications pour ceux qui n'y comprennent rien.
Sujet: Re: OpenRGSS, un moteur de jeu alternatif à RPG Maker Jeu 25 Juil 2013 - 8:48
lidenvice a écrit:
Ps: Grim m'a montré qu'un projet d'OpenRGSS avait déjà été codé par le passé. Si jamais ça peux t'aider en quelque chose: https://github.com/zh99998/OpenRGSS
Mince alors, qulequ'un qui a eu exactement la même idée que moi! Merci pour le tuyau. En réalité, je sais bien que mon projet n'est pas la première tentative du genre, mais je n'étais pas au courant de celle-là.
Citation :
Drastiquement ?
Non, dramatiquement. C'est peut-être un anglicisme mais j'estime que vu les performances du RGSS classique, il y a matière à les qualifier de dramatiques.
Citation :
Sinon, encore heureux qu'ils ont limité à 640x480, les gens arrivent déjà à le faire ramer comme ça, t'imagines en 1280 ? :p
Bien sûr que j'imagine puisque j'ai même fait tourner OpenRGSS en 1920x1080. Si les gens arrivent déjà à le faire ramer en 640x480 c'est davantage lié à la quantité de sprites (et d'objets en général dans la mémoire) plutôt qu'à la quantité de pixels. Après test, un script qui gère une quantité de sprites fixe, quelle que soit la taille de l'écran, donne des performances similaires. Après, tu me diras, si on utilise des tilemaps, forcément, plus l'écran est grand et plus il y aura de sprites à afficher, mais dans le cas des maps de RPG Maker ça ne change rien puisque le système met à jour même les sprites qui ne sont pas à l'écran; donc qu'on change la taille de l'écran aura un impact négligeable à ce niveau-là. Ca fait partie des nombreuses choses mal foutues dans la programmation d'Enterbrain, que j'ai bien l'intention de corriger. Par ailleurs, les performances graphiques d'OpenRGSS sont actuellement de 2 à 5 fois supérieures à celles du RGSS de RPG Maker. Avec du code bien optimisé il sera donc capable de tenir le choc devant des tilemaps géantes, même en haute résolution.
Citation :
Si tu cherches vraiment à ce que des gens compétents te rejoignent tu devrais peut être en dire plus sur le projet, les lib que t'utilises, ce qui est fait, ce qui reste à faire, plutôt que de faire des explications pour ceux qui n'y comprennent rien
. Oui, tu as raison. Je vais rajouter ça.
Au passage, ravi de te rencontrer, Zeus81. J'ai déjà eu l'occasion de fouiller dans tes scripts et je reconnais que tu fais du travail de haut niveau.
Sujet: Re: OpenRGSS, un moteur de jeu alternatif à RPG Maker Sam 27 Juil 2013 - 1:00
Houla, ce projet est super intéressant!
Par contre y a deux trois trucs que j'ai pas trop bien pigé, et je suis pas mal fatigué donc y a moyen que j'ai mal lu! Faudra-t-il maker/mapper sur RPG Maker XP? Si oui, pourra-t-on ajouter des scripts dans l'éditeur original?
Sujet: Re: OpenRGSS, un moteur de jeu alternatif à RPG Maker Sam 27 Juil 2013 - 10:33
Kiff57 a écrit:
Faudra-t-il maker/mapper sur RPG Maker XP? Si oui, pourra-t-on ajouter des scripts dans l'éditeur original?
En fait, il n'y a aucun rapport avec RPG Maker, dans le fond. Je ne sais pas quel est ton degré de connaissance en informatique, mais je vais peut-être t'apprendre quelque chose en te disant qu'en réalité personne n'a besoin de logiciel pour créer un jeu vidéo. Il suffit de connaître un langage de programmation et de scripter tout ton jeu dans le bloc-notes, et par la suite tu utilises un compilateur ou un interpréteur pour lire tout ce que tu as écrit et l'exécuter. C'est à ce niveau-là que se situe OpenRGSS - tu lui donnes n'importe quel script rédigé en langage RGSS et il l'exécute, sans se poser de question, et sans aucun rapport avec RPG Maker. Le seul rapport c'est que les deux utilisent le même langage de scripting, c'est tout.
Après, ce que je dis également, c'est que, vu que OpenRGSS est techniquement capable de comprendre le langage dans lequel sont scriptés les projets RPG Maker, on pourrait écrire un programme en OpenRGSS qui ouvre lui-même les fichiers d'un projet et qui exécute le jeu à partir de leur contenu, en ignorant complètement le Game.exe qui remplit ce rôle d'habitude (l'intérêt étant que OpenRGSS offre plus de fonctionnalités). Mais ça ne change en rien la façon dont on crée un projet RPG Maker, en amont.
Donc, pour ceux qui veulent faire un jeu en RGSS sans utiliser RPG Maker, juste avec leurs petites mimines, OpenRGSS permettra d'exécuter un jeu écrit en RGSS avec un éditeur de texte standard.
Et pour ceux qui veulent continuer à utiliser RPG Maker, OpenRGSS permettra d'exécuter un jeu réalisé avec RPG Maker. Donc, dans ce dernier cas de figure, oui, tu continueras à créer tes projets RPG Maker comme à ton habitude, mais tu les lanceras avec le "lanceur de projets RPG Maker de OpenRGSS" au lieu du Game.exe.
Contenu sponsorisé
Sujet: Re: OpenRGSS, un moteur de jeu alternatif à RPG Maker