#0 

05-06-2016 20:55:36

johnplayer
Habitué
Date d'inscription: 30-09-2007
Messages: 431

Bonjour, après avoir fait plein de test et essayé de faire un RPG avec Irrlicht, je me suis aperçu que coder à l'arrache n'était vraiment pas une solution...

J'ai donc fait appris à utiliser Qt en créant de petits logiciels pour mon usage personnel et j'ai des test d'intégration d'Irrlicht dans Qt. Et me voici donc parti pour réaliser un éditeur de RPG en 3D.

Afin de rester simple (dans mes capacités quoi...), j'ai décidé de partir sur le principe de RPG Maker XP (et VX) et de l'adapter à la 3D.

Voici le principe :
1/ On a une scene, divisée en Map de 32x32 tiles.
2/ Les tiles sont des éléments 3D formant le terrain (le mesh de la Map). Lorsque l'on écrit un tile, on créé une forme 3D et on intègre le tile (dessin 2D) dans la texture. On a donc un terrain modulaire dont le maillage est optimisé à chaque modification afin de limiter le nombre de triangles.
3/ Une Map peut contenir des éléments statiques. Chaque élément statique possède un shader qui est capable d'instancier le mesh. Il suffit alors de lui passer en argument des tableaux d'instances afin de multiplier grâce à la carte graphique les éléments.


Voici des photos du logiciel ainsi que du projet que je réalise avec:

Galerie de photos

Je ferai évoluer le post en fonction de mon avancement. Je ferai certainement une vidéo pour montrer l'utilisation du logiciel.

Prochains objectif:
- intégration de la passabilité des tiles avec génération automatique des triangles sélectors (semi-automatique avec optimisations);
- intégration des "sauts" lorsque l'on arrive sur les petits murets de terre (les joueur sur pokemon comprendront wink.

Dernière modification par johnplayer (05-06-2016 20:57:23)


core i7 4970K @ 4GHz - 32GB ddr3 19200(2400MHz) - ssd samsung 840 evo 250GB - GTX1080Ti (4K) - Cooler master storm stryker blanc.
"L'alcool, c'est comme Activia, c'est actif à l'intérieur et ça se voit à l'extérieur."

Hors ligne


#1 

06-06-2016 11:33:46

Magun
SleekThink Producer
Lieu: Punakha
Date d'inscription: 18-11-2007
Messages: 910
Corrections: 2
Site web

pas mal du tout, ça semble bien avancer ton tool
je verais bien zelda ou ff tactics comme ça !

il y a le support des scripts ?
le chargement des interieur ?
animations des textures (eau) ?
frustumculling des tiles ?
voir chargement/dechargement + cache en dynamique ?

il manque peut-être un lightmapping tongue

Hors ligne


#2 

08-06-2016 21:48:50

johnplayer
Habitué
Date d'inscription: 30-09-2007
Messages: 431

Pour l'instant, il n'y a que les maps (avec un texturing sans gestion de lumière) ainsi que l'ajout d'éléments statiques (avec un texturing simple + instancing par geometry shader). Je ferai évolué les shaders plus tard, je galère trop là-dessus. Pour l'eau, j'y ai pensé mais je ne sais pas comment gérer l'animation avec les différents type de tiles sans faire une usine à gaz (reste aussi à voir l'impact sur les performances).

Je ne prévoie pas de frustum culling des tiles, j'ai opté pour une fusion des tiles de la map avec optimisation du maillage, du coup, ce sera un frustum culling de map (node) avec une distance limite de visibilité (réglable par le joueur).

J'ai passé énormément de temps à trouver une architecture dans mon code afin de ne pas "mélanger" Qt et Irrlicht. De plus, il fallait que l'ajout de fonctionnalité se fasse le plus simplement possible, du coup, j'ai structuré mon code en conséquence et pour un amateur comme moi, c'est pas chose aisée.

Pour en revenir au fonctionnalités, là faut que je mette en place un système de gestion de ressources dans l'éditeur. Je modifie le fichiers xml à la main pour la liste des objets statiques mais il va falloir que je structure ça pour limiter au maximum de mettre des infos "système" dans le fichier de projet.

Pour les scripts, ils seront accessibles pour personnaliser les events. Les events seront des box placées sur la map avec des déclencheurs divers et éxécutant une "action type" ou un script. Les PNJ seront aussi considérés comme des events.

Les intérieurs sont bien évidemment prévus mais pour l'instant je me concentre sur l'extérieur. J'ai des idées pour l'implémentation mais c'est pas assez mûr dans ma tête. De plus, il me faut implémenter d'autres fonctions avant pour avoir toutes les infos nécessaires à la réalisation d'un intérieur.

Le "chargement/dechargement + cache en dynamique" c'est pas d'actualité, ce sera dans le moteur de jeu et à l'heure actuelle, ce n'est pas dans mes cordes. Ceci dit, l'idée reste dans le topic et je me pencherai dessus le moment venu. Je suis toujours preneur d'idées wink.

Dans tout les cas, je noterai ma progression qui est plutot lente (je suis dessus de puis janvier) et entre le boulot, les soirées et le fait que je vais faire construire, je n'ai plus autant de temps à consacrer à la prog. Mais fonctionnalités après fonctionnalités, ça donnera quelque chose de sympa.


core i7 4970K @ 4GHz - 32GB ddr3 19200(2400MHz) - ssd samsung 840 evo 250GB - GTX1080Ti (4K) - Cooler master storm stryker blanc.
"L'alcool, c'est comme Activia, c'est actif à l'intérieur et ça se voit à l'extérieur."

Hors ligne


#3 

17-03-2019 14:48:39

johnplayer
Habitué
Date d'inscription: 30-09-2007
Messages: 431

Salut tout le monde, (enfin si on peut dire, vu l'activité du site -_-')

Je reviens avec la V2 de mon éditeur.
- Toujours un Monde composé de map 64*64*64.
- Chaque map est édité en Tiles
- Possibilité d'ajout d'éléments statiques instanciables
- Possibilité d'ajout d'éléments dynamiques instanciables
- Ainsi que des sons BGM(2D) et BGS(3D)

Les ajouts et sélections peuvent se faire via une liste dans le dock ou à la souris directement.
Tout les éléments objets statiques, dynamiques et sons sont utilisables une fois importés dans la bibliothèque de l'éditeur.

Galerie de photos


core i7 4970K @ 4GHz - 32GB ddr3 19200(2400MHz) - ssd samsung 840 evo 250GB - GTX1080Ti (4K) - Cooler master storm stryker blanc.
"L'alcool, c'est comme Activia, c'est actif à l'intérieur et ça se voit à l'extérieur."

Hors ligne


#4 

17-03-2019 20:47:31

Copland
Modérateur
Lieu: ZarbiLand
Date d'inscription: 22-09-2006
Messages: 657
Site web

Hey si y'a encore des survivants !!! Je viens pas souvent mais de temps en temps je passe toujours voir si une lumière est pas resté allumé big_smile.
Pas mal ton tool, bonne continuation smile


Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.

Hors ligne


#5 

18-03-2019 11:36:06

Magun
SleekThink Producer
Lieu: Punakha
Date d'inscription: 18-11-2007
Messages: 910
Corrections: 2
Site web

Salut salut ! Idem je passe de temps en temps avec l'espoir d’avoirs quelques nouvelles, donc merci à toi !! wink
Je n'ai plus beaucoup de temps pour bricoler sous irrlicht mais j'ai toujours des idées dans un coin ...
En tout cas je reste dispo pour des conseilles ou donner un coup de patte !

Bon sinon, qu'est ce que tu as prévue de rajouter bientôt ? que reste-t-il à faire ?
système de quest/évènement/png et combat je suppose ?

Hors ligne


#6 

24-03-2019 17:42:28

johnplayer
Habitué
Date d'inscription: 30-09-2007
Messages: 431

Salut les gars! Je suis content de ne pas être seul ^^

Je réfléchis à la suite, je pense faire une partie scénario dans le dock. J'y mettrais des variables globales, des scripts (LUA) et des variables de sauvegarde. Mais ce n'est pas clair dans mon esprit pour le moment. Je dois aussi penser aux PNJ, je ne sais pas s'il seront affecté à une map ou au monde (dans le 2ème cas ils pourront bouger d'une map à l'autre).

Du coup, le scénario serait un ensemble de scripts (comportement PNJ, déclenchement d'événements...). Les scripts posséderaient des conditions de déclenchement, et des actions associés. Restes donc à mettre en place un système d'ID uniques à la création pour chaque map et élément pour pouvoir exercer des actions dessus.

Du coup, la prochaine étapes consiste à mettre le système d'ID uniques en place. Pour le reste, il faut que ça murisse un peu encore dans ma tête ^^

J'avais oublié de préciser mais l'éditeur possède un bouton permettant de générer les "options de map". C'est à dire qu'il incruste sur la shadow texture de la map les ombres des objets et créé les quads de collision.


core i7 4970K @ 4GHz - 32GB ddr3 19200(2400MHz) - ssd samsung 840 evo 250GB - GTX1080Ti (4K) - Cooler master storm stryker blanc.
"L'alcool, c'est comme Activia, c'est actif à l'intérieur et ça se voit à l'extérieur."

Hors ligne


#7 

02-11-2019 15:00:27

johnplayer
Habitué
Date d'inscription: 30-09-2007
Messages: 431

Salut,
Je reviens donner des nouvelles vu que j'ai un peu avancé sur mon éditeur.

On peut maintenant ajouter des PNJs, leur attribuer une trajectoire à effectuer en boucle.
Ingame, la collision est gérée avec le sol et le joueur, par contre rien ne l'empêche de traverser les murs s'il est mal configuré.

Il y a eu aussi des améliorations et des corrections de bugs. Ainsi que l'ajout d'ID unique afin de pouvoir appeler et agir sur les éléments dans les scripts qui seront prochainement disponibles wink.

Galerie de photo


core i7 4970K @ 4GHz - 32GB ddr3 19200(2400MHz) - ssd samsung 840 evo 250GB - GTX1080Ti (4K) - Cooler master storm stryker blanc.
"L'alcool, c'est comme Activia, c'est actif à l'intérieur et ça se voit à l'extérieur."

Hors ligne


#8 

02-11-2019 17:10:21

Magun
SleekThink Producer
Lieu: Punakha
Date d'inscription: 18-11-2007
Messages: 910
Corrections: 2
Site web

Super merci de donner de tes nouvelles !!
C'est chouette de voir l'avancer du projet smile
Bientot un système de script pour les pnj et/ou interaction ?

Hors ligne


#9 

03-11-2019 22:14:33

johnplayer
Habitué
Date d'inscription: 30-09-2007
Messages: 431

Salut, Magun.

Oui, je commence à voir pour créer des events. Je pense que je vais m'inspirer de RPGMaker. J'aurais "juste" à l'adapter à ma structure de jeu.

J'avais pensé à mettre des scripts lua mais plus de liberté veut dire plus de complexité. En plus, pas besoin de faire une documentation si tout est accessible facilement.

Après, le temps que je peux consacrer à la programmation est restreint depuis un peu plus d'un an donc je préfère viser la simplicité afin de voir mon travail avancer et ne pas laisser tomber 😉.


core i7 4970K @ 4GHz - 32GB ddr3 19200(2400MHz) - ssd samsung 840 evo 250GB - GTX1080Ti (4K) - Cooler master storm stryker blanc.
"L'alcool, c'est comme Activia, c'est actif à l'intérieur et ça se voit à l'extérieur."

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
883 membres
1429 sujets
11121 messages
Dernier membre inscrit: Saidov17
69 invités en ligne
Aucun membre connecté
RSS Feed