Aller à la page 1 2
Captain Ginyu -
posté le 04/01/2017 à 12:54:48 (316 messages postés)
| | Wolfenstein Rpgmaker 3D
Présentation du projet
Ce projet n'est pas un jeu mais plutôt un plugin Rpgmaker permettant à d'autres makers de faire des jeux en fausse 3D.
Spoiler (cliquez pour afficher) En un mot, c'est passer de ça
à ça :
Je ferai peut être un jeu DBZ ou The Walking Dead au bout du compte mais c'est loin. Déjà si j'avais un partenaire qui développait un jeu avec mon moteur, ça serait bien.
Techniquement, comment ça marche
Le but du projet est d'intégrer le moteur de Wolfenstein dans Rpgmaker pour combiner les forces des 2 logiciels afin de produire des RPG en fausse 3D. C'est un peu comme un plugin graphique pour un FPS à part qu'ici, c'est bien plus radical, ça fait changer l'affichage de 2D à 3D !
Le moteur de rendu est une reprise du code de Wolfenstein 3D (Wolf4SDL) que j'ai modifié pour les besoins du projet. Le moteur d'origine impose pas mal de limites (palette fixe de 256, pas une de plus) que j'ai retiré.
Le moteur tourne en 640x480 contre 320x240. Pour les couleurs, c'est du vrai 32 bits.
Ca veux dire que les images, il faudra utiliser la résolution 640x480 pour qu'elles occupent tout l'espace de l'écran.
public : attends mais le mec, il respecte rien même pas la résolution d'origine de Rpgmaker !
moi : oui, qu'est-ce qu'il faut pas faire pour être crédible en tant que savant fou ?
Ah et éventuellement, ça pourrait monter à 960x720 (enfin n'importe quel multiple de 320x240).
Screenshots
Spoiler (cliquez pour afficher)
Comment on utilise ?
Autant que possible, j'essaie de faire en sorte que développer un jeu sous mon moteur n'est pas différent du développement d'un jeu Rpgmaker.
Par exemple, on affiche les dialogues avec des show messages comme n'importe quel jeu Rpgmaker.
Spoiler (cliquez pour afficher)
Par exemple, dans ce code d'event, la différence avec un jeu Rpgmaker classique, c'est que je demande à ce que le personnage correspondant à l'event parle pendant que le texte défile.
Le @talk est ici entièrement optionnel. C'est juste que je voulais absolument avoir cette feature là étant frustré par le manque de possibilité des show face de Rpgmaker.
Tout mouvement Rpgmaker (genre move event), sera répercuté dans le jeu comme si on manipulait des events classiques.
Sinon quand on manipule des events, on peut changer le rendu.
Spoiler (cliquez pour afficher) Genre un event pour manger un bol de soupe.
Même event avec un charset différent donc graphisme différent et un switch "mangé"
On peut créer ses propres ressources ?
Il n'y a même pas besoin d'utiliser une résolution par défaut, le programme se débrouille tout seul (du moment que c'est pas trop gros).
Il faut juste respecter le format Rpgmaker, soit BMP ou PNG avec 256 couleurs.
Personnages : on peut tout faire oui, il y a un set d'animations par défaut : "immobile", "marcher", "attaquer", "parler"... Et deux slots d'animations custom qui servent pour tout ce que le maker pourrait imaginer (lever les bras, faire la tronche)...
Les tiles sont toutes configurables.
Même les armes sont entièrement customisables.
Même les portes s'ouvrent et peuvent être animées.
Tout ce qui est dégat, hp c'est géré par le système de combat par défaut de RM, donc tout est configurable par l'interface.
Alors qu'est-ce qu'il manque ?
C'est assez énorme de ré implémenter toutes les fonctions Rpgmaker. Il y a pas mal de trous.
Par exemple, pas moyen de faire de la rotation d'images pour le moment.
Pas d'implémentation du show face pour les dialogues.
Il y a pas de moyen d'associer des sons aux événements Rpgmaker genre utilisation d'une arme à feu.
Il y a pas moyen de sauvegarder pour le moment.
Il manque pas mal d'options pour faire tourner la caméra pour vraiment bénéficier du rendu en fausse 3D genre des zooms sur les têtes des personnages, des rotations plus fines.
Il y a aussi des bugs.
Public : pendez-le !
moi : En plus j'ai menti tout à l'heure, j'ai dit n'importe quel mouvement Rpgmaker (par move event) sera répercuté dans le jeu, j'ai pas encore fait "jump".
Public :
Ah et vous pouvez oublier les battle animation pour un bon moment... Je m'en servirai plus tard pour faire des trucs genre aura de super saiyen mais oulà, je sais même pas où commencer ça.
Ca sort quand ?
Déjà je vais sortir un tutorial complet sur comment utiliser le moteur.
J'ai aussi quelques bugs à régler, j'en ai au moins pour jusqu'à la fin du mois de janvier 2017 pour que tout soit parfait, je pense.
Ensuite, soit j'ai un ou plusieurs partenaires pour faire un jeu, soit je fais un petit jeu tout seul.
Ca coûte combien ?
Rien du tout, c'est complétement gratuit.
J'aimerais mettre le projet en open source, mais le code est actuellement en mauvais état comparativement à d'autres projets. J'ai déjà fait un premier passage, le code mérite quand même un peu mieux.
Videos
Spoiler (cliquez pour afficher)
|
Un site d'histoire : http://www.lovapourrier.com/ |
solidboko -
posté le 04/01/2017 à 13:32:51 (292 messages postés)
| | Ah ! J'attendais de voir où tu voulais en venir avec tes screens divers, et je ne suis pas déçu.
Je suis surpris de la différence entre la map RM et le rendu, donc je suppose que c'est pour gérer des faces différentes. Je pense que pour un rendu cubique à la Wolf, j'aurais assumé des faces identiques pour un même cube et donc simplifié à un tile par cube. On aurait ainsi eu une minimap identique au rendu final en 3D.
Sinon, ça a l'air d'être du bon boulot ! C'est cool ce qu'on peut faire avec DynRPG, j'ai fait un peu mumuse avec moi aussi sans aller aussi loin que toi
|
Maker un jour, maker toujours. |
Captain Ginyu -
posté le 04/01/2017 à 16:14:40 (316 messages postés)
| | Merci de ton intérêt.
J'en ai profité pour rajouter des détails sur la licence et le partage à la description du projet.
Alors oui, le rendu cubique à la Wolf entraine donc en principe un mur identique sur les 4 faces.
C'est un peu différent dans les faits.
2 éléments supplémentaires peuvent entrainer des modifications.
La première modification c'est qu'aléatoirement (avec un algo qui donne le même résultat à chaque utilisation quand même), le système peut choisir entre différentes permutations du même mur.
Par exemple, tu peux faire une permutation avec un mur avec 4 petits trous au centre, et une autre avec un mur avec 5 petits trous sur les côtés.
Ca ne saute pas aux yeux quand tu joues mais chaque murs peut être unique.
La seconde modification c'est que tu peux configurer ton mur pour que les lignes de démarcations entre tiles ne se voient pas.
Ici sur un mur de 3, on voit la différence au niveau des jonctions avec le mur bleu et au centre
Notice du screenshots -> Gauche = Ancien Wolfenstein, Droite = WolfRpgmaker
Dans tous les cas, tout ça, c'est utilisable "tel quel". La personne qui mappe n'a pas à comprendre toutes ces subtilités pour mapper correctement.
C'est la responsabilité de la personne qui crée le chipset de maitriser toutes ces fonctionnalités.
Je n'ai pas cherché à faire un rendu identique entre Rpgmaker et ce qui est dans le jeu, je me suis juste attaché à réutiliser chaque fonctionnalité de Rpgmaker dans un mon système.
|
Un site d'histoire : http://www.lovapourrier.com/ |
| Mon âge ? J'ai arrêté de compter, ça bouge tout le temps ! | Wow ! Vous êtes un bonhomme ! Rien à dire chapeau ! Hâte de voir vos projets et les projets d'autres personnes sur votre ''plugin'', bonne chance pour la suite !
|
Philippe ? C'est toi Philippe ? Mais qu'est ce que tu fais Philippe ? | Pays de Galle Indépendant ! | Je s'appelle Groot ! |
solidboko -
posté le 04/01/2017 à 16:27:14 (292 messages postés)
| | Je vois et je comprends mieux l'intérêt. Tu aurais aussi pu voir avec un système d'autotiles afin de gérer un même type de mur la façon d'afficher les extrémités et la répétition.
Je ne sais pas si c'est dû à mon écran pourrave du boulot, mais la différence entre les deux screens ne me saute pas aux yeux, à part la partie jaunâtre du screen de droite dans le dernier tile de mur gris au fond.
|
Maker un jour, maker toujours. |
Captain Ginyu -
posté le 04/01/2017 à 16:49:04 (316 messages postés)
| | Jason Malkovitch >> Merci bien !
solidboko >> Oui, tu as tout compris.
Le problème principal des mods Wolfenstein, c'est la répétition.
Donc ici sur le screenshot le motif des murs change, ça se voit aussi au niveau des bordures.
Les pierres ne sont pas coupées en plein milieu au niveau des coins. (est-ce que c'était une bonne idée finalement ? )
Et puis, oui, d'où ça sort cette partie jaunâtre...
Oui, j'aurais pu faire de l'autotile pour les murs.
Mais j'ai préféré réserver l'autotile pour le sol.
Le problème c'est que si j'avais utilisé l'autotile pour les murs, je ne sais pas comment j'aurais spécifié malgré tout que je voulais utiliser tel mur pour la face nord, tel mur pour la face sud, tel mur pour la face ouest et tel mur pour la face est. Je pouvais couper mon tile en 4, mais c'est déjà si petit pour reconnaître les tiles...
Par contre, l'autotile pour les sols, c'est royal, car si un mur bien droit, ça passe.
Dans le système d'origine, dès qu'on utilise pour faire des routes ou de l'eau, on voit trop la démarcation.
|
Un site d'histoire : http://www.lovapourrier.com/ |
Akadream -
posté le 04/01/2017 à 17:43:10 (381 messages postés)
| Je fus RPG Fusion jadis | Ça envois je dis un grand oui!
Bonne continuation!
|
Suis Shaper sur Twitter ! - Rejoins le serveur discord de Shaper ! |
freazyx -
posté le 04/01/2017 à 18:40:41 (1341 messages postés)
| boss | C'est impressionnant ! Tu es un monstre.
|
mon projet : ici | twitter | Une dictature, mais une dictature juste... Votez Bocaux Haram ! |
Boulon -
posté le 04/01/2017 à 20:02:17 (153 messages postés)
| | Vraiment intéressant.
C'est tellement cool ce que DynRPG permet de faire !
Le seul truc vraiment genant pour le moment c'est le manque de sons, je trouve, c'est assez primordial. Les facesets, les saves, ... on peut s'en passer et malgré tout faire des jeux cools.
Ca donne envie d'essayer en tout cas.
|
Captain Ginyu -
posté le 04/01/2017 à 22:49:13 (316 messages postés)
| | Akadream, freazyx et Boulon >> Merci à tous, vraiment !
Boulon >> Il y a bien des musiques et des sons, mais pas de sons lors des interactions purement Wolfenstein quand par exemple, on tire sur un PNJ, ou que le PNJ meurt, ou quand une porte s'ouvre et se ferme.
Ok, je vais voir ce que je peux faire pour tout ça.
Suite à la suggestion de solidboko par pm, j'ai implémenté une première version de l'algorithme nearest pour remplacer le bicubic.
Bicubic
Nearest
Je pense que c'est mieux que je garde Nearest si la taille à la laquelle je dois afficher sprite/mur est plus grande que la ressource d'origine et Bicubic si le sprite/mur est plus petit.
|
Un site d'histoire : http://www.lovapourrier.com/ |
Boulon -
posté le 04/01/2017 à 22:54:17 (153 messages postés)
| | 10 fois plus clean ouais.
Ca donnait un effet très bizarre de voir des choses proches flous alors que les murs au loin étaient nets.
|
solidboko -
posté le 05/01/2017 à 08:12:38 (292 messages postés)
| | Largement mieux !
En fait, tu veux faire une sorte de mip mapping sur tes sprites quelque part, et c'est surement une bonne idée. Je m'en inspirerais bien pour mes propres travaux, tiens.
EDIT : tu noteras que tu as un problème de sélection de sprite, une légère bande d'un pixel de trop sur la droite. Ce problème apparait d'ailleurs sur les deux types de filtre.
|
Maker un jour, maker toujours. |
Captain Ginyu -
posté le 13/01/2017 à 22:53:44 (316 messages postés)
| | Boulon & Solidboko >> Merci !
En fait, le redimensionnement tel que je le fais sur les sprites me va en terme graphique. J'ai perdu le flou autour du perso avec le nearest que j'avais avec le bicubic. Je devrais peut être faire une sorte de technique qui allie les deux ?
Je me suis aperçu qu'avec le nearest, on peut passer en 960x720 sans problème.
Mon code est très très loin d'être bien optimisé, ça veux dire que je peux en théorie aller très loin.
Les problèmes graphiques du sol et sur les sprites sont finis maintenant.
Je galère néanmoins beaucoup pour mettre au point un bon mipmapping. J'y suis presque.
|
Un site d'histoire : http://www.lovapourrier.com/ |
| Mon âge ? J'ai arrêté de compter, ça bouge tout le temps ! | J'aurais une petite question sur votre projet, vous en avez déjà un peu parler mais est-ce que le plugin marchera comme un RPG Maker 2003 normal ? Je pense surtout aux événements et variables quand je dis ça. Sinon, bonne continuation, j'ai vraiment hâte de découvrir la version finale.
|
Philippe ? C'est toi Philippe ? Mais qu'est ce que tu fais Philippe ? | Pays de Galle Indépendant ! | Je s'appelle Groot ! |
Captain Ginyu -
posté le 16/01/2017 à 17:56:29 (316 messages postés)
| | Merci pour l'intérêt porté à mon projet.
Les variables et les événements fonctionnement très bien sur mon projet.
Ce qui ne fonctionne pas forcément c'est toutes les commandes graphiques.
Par exemple, "screen tone" n'est pas encore implémenté.
Les transitions d'écrans ne sont pas faites non plus.
Par contre, toutes les commandes genre changer la musique, émettre un son, naviguer dans les menus (avec la touche échap), tout ça, ça fonctionne à l'identique d'aujourd'hui.
D'autres commandes sont partiellement implémentés comme le show picture. On a déjà le zoom et le positionnement de l'image, mais il n'y a pas de rotation ou alpha ou les autres effets.
J'ai pour objectif de porter tous les effets, mais je ne pense pas que j'aurais tout dès la première version.
La première version, ça sera plus, tout ce qui est nécessaire pour faire un jeu basique.
Dans ce cadre là, le screen tone, c'est bien, mais pas obligatoire.
Par contre, c'est obligatoire que le système de combat soit exploitable, qu'il y ait des sons produit pendant les combats etc.
|
Un site d'histoire : http://www.lovapourrier.com/ |
| Mon âge ? J'ai arrêté de compter, ça bouge tout le temps ! | Merci de votre réponse, j'attends votre projet avec impatience, bonne continuation !
|
Philippe ? C'est toi Philippe ? Mais qu'est ce que tu fais Philippe ? | Pays de Galle Indépendant ! | Je s'appelle Groot ! |
solidboko -
posté le 16/01/2017 à 19:36:38 (292 messages postés)
| | Personnellement, j'aime le rendu nearest dans toutes ses déclinaisons possibles. Donc pas de besoin de flou à mes yeux ! Mais ça peut finir par piquer les yeux d'autres personnes, donc je te recommande de prendre d'autres avis
|
Maker un jour, maker toujours. |
Captain Ginyu -
posté le 17/01/2017 à 20:18:08 (316 messages postés)
| | Jason Malkovitch > Merci bien !
N'hésite pas à proposer un jeu en partenariat.
solidboko > Oui, je crois que j'ai oublié des appels aux fonctions de redimensionnement bicubique sur les ressources, ici par exemple je crois que l'arme est en bicubic, je vais corriger ça.
Je suis très occupé au travail en ce moment, du coup j'avance bien moins vite, mais j'espère que ma situation va bientôt s'améliorer.
|
Un site d'histoire : http://www.lovapourrier.com/ |
solidboko -
posté le 17/01/2017 à 20:47:52 (292 messages postés)
| | Ce que je voulais dire, c'est que les gros pixels en gros plan m'ont toujours plu. Je fais partie des rares à avoir adoré une séquence de Xenogears où on voit un tel zoom sur Fey qu'à la fin, ses yeux de 5 pixels de large occupent tout l'écran !!
Donc je ne suis pas forcément le meilleur juge. Pour moi, le rendu NEAREST Only ira dans tous les cas, même pour des zooms ultra prononcés.
Mais d'autres au contraire préféreront quelque chose de bien plus nuancé.
|
Maker un jour, maker toujours. |
sriden -
posté le 28/01/2017 à 14:05:10 (16646 messages postés)
| | Gros +1 pour ce projet, surtout qu'en ce moment je regarde du coin de l'oeil des vidéos sur les éditeurs de niveaux de Doom genre Doombuilder juste comme ça par curiosité.
Faudrait qu'à la fin on puisse juste transférer un projet RM et que ça le passe en fausse 3D automatiquement hormis pour quelques réglages, ça serait génialz.
ps : perso j'aime pas du tout quand il y a des filtres qui floutent les sprites.
|
Escapade | La 7e porte | Vader Ou La Fin des Haricots | Ketsuro | Polaris 03 | Blog ciné/jv | Mes albums de zyk : Diaphanous Horizons & Retranchements ౡ |
| Mon âge ? J'ai arrêté de compter, ça bouge tout le temps ! | Je suis de l'avis de sriden, je trouve aussi personnellement que les sprites sont mieux quand ils ne sont pas floutés.
|
Philippe ? C'est toi Philippe ? Mais qu'est ce que tu fais Philippe ? | Pays de Galle Indépendant ! | Je s'appelle Groot ! |
Captain Ginyu -
posté le 16/02/2017 à 08:22:49 (316 messages postés)
| | Merci encore pour le soutien, ça me met la pression pour faire quelque chose de vraiment bien.
Oui, le flou sur les sprites, c'est définitivement pas possible pour quand le sprite est plus petit que ce qui est affiché à l'écran.
Les sons en relation avec les actions wolf (tire, personnage qui frappe ou autre), ca marche.
Les panorama, ça fonctionne (voir topic sur les photos)
Je discute avec Cherry pour pouvoir utiliser les map areas (qui servent habituellement à dire sur quel groupe de monstre on peut tomber en se promenant dans la map) pour spécifier quel tile utiliser pour les plafonds.
En attendant, le code est actif pour afficher des plafonds, il reste plus qu'à récupérer les coordonnées des map areas.
Après j'améliore un peu la partie Charset et je repars sur mon tutorial.
Il me restera à améliorer un peu la partie action pure et dure. Des petits détails genre les monstres ne vont pas assez vite.
Citation: Faudrait qu'à la fin on puisse juste transférer un projet RM et que ça le passe en fausse 3D automatiquement hormis pour quelques réglages, ça serait génialz.
ps : perso j'aime pas du tout quand il y a des filtres qui floutent les sprites. |
On pourrait presque faire ça en fait. Par contre, le moteur de Wolfenstein ne permet pas de faire des bâtiments à plusieurs étages.
Je ne peux pas non plus faire d'escaliers ou de pente.
Pour les séquences déplacement sur la carte extérieure, on pourrait presque garder Rm tel quel à la limite ?
Pour les affrontements aléatoires, on pourrait repasser en mode Wolfenstein.
Il faudra que je me colle à cet exercice à un moment donné de toute façon.
J'ai retravaillé mon sujet des mipmaps, c'est clair et net que nearest fonctionne mieux pour objets les plus proches.
Par contre, pour les éléments plus éloignés, il y a plusieurs façon de faire :
https://www.beyond3d.com/content/articles/34/4
En gros, tu as les deux filtres de départ sans mipmap.
(Photo 1 et 2 sur l'article)
Pour le moment, j'ai fait un équivalent de :
GL_NEAREST_MIPMAP_NEAREST et GL_NEAREST_MIPMAP_LINEAR
(Photo 3 et 4 sur l'article)
Bicubic / GL_NEAREST_MIPMAP_LINEAR
Nearest / GL_NEAREST_MIPMAP_NEAREST
Mix : Nearest de près et Bicubic de loin
Je pense que je vais implémenter un équivalent de :
GL_LINEAR_MIPMAP_NEAREST et GL_LINEAR_MIPMAP_LINEAR
(Photo 5 et 6 sur l'article)
Mon implémentation n'est pas encore totalement satisfaisante, mais bon je n'ai plus un horrible effet de pixel swimming à présent.
|
Un site d'histoire : http://www.lovapourrier.com/ |
Captain Ginyu -
posté le 22/07/2020 à 14:50:05 (316 messages postés)
| | J'ai repris le projet, j'ai beaucoup amélioré les algorithmes pour gagner en rapidité et ainsi augmenter la résolution.
Normalement je travaille en 1280x960 mais je peux pousser en FullHD.
|
Un site d'histoire : http://www.lovapourrier.com/ |
| Chanter l'hyperchleuasme | Si le pistolet est orienté vers la gauche, il tire vers la gauche ou bien tout droit ?
|
Es-tu une star ? | Kujira no Hara | Muma|Rope | Polaris 03 | La 7e porte |
Captain Ginyu -
posté le 22/07/2020 à 16:00:52 (316 messages postés)
| | Oui, bien vu, ça ne va pas.
Ici, c'est le pistolet de Duke Nukem 3D que j'avais repris tel quel et effectivement, ça va pas, il faudrait que je le décale si je veux le garder.
D'ailleurs, je pensais plutôt partir sur des armes de corps à corps pour coller plus à l'univers fantasy de Rpgmaker.
|
Un site d'histoire : http://www.lovapourrier.com/ | Aller à la page 1 2Index du forum > Jeux en développement > [RM2003+DynRPG] Wolfenstein Rpgmaker 3D
|