IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement 2D, 3D et Jeux Discussion :

Conception RPG Maps 3D + Sprite 2D, Quelle marche à suivre ?


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Candidat au Club
    Inscrit en
    Août 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 9
    Points : 2
    Points
    2
    Par défaut Conception RPG Maps 3D + Sprite 2D, Quelle marche à suivre ?
    Bonsoir à tous !

    Voilà je ne sais pas trop si mon post est dans la section adéquate, c'est plutôt vague, je m'en excuse déjà.

    Je suis donc en pleine découverte de XNA en ce moment, j'ai envie d'en profiter pour essayer de faire un petit jeu "Test" basé sur un peu le genre de jeux que j'aime à savoir les RPG style Breath of fire 4, ou les Tactical style Disgaea, ou Final Fantasy Tactics, qui mêlent des décors/maps 3D en y intégrant des sprites et persos 2D.

    Seulement voilà, je ne vois pas vraiment comment m'y prendre. Il doit y avoir des tutos quelque part mais j'ai beau chercher ça ne correspond pas à ce que je recherche.

    Une question que je me pose souvent, la plus important ici en fait, au niveau de la 3D et des décors/maps : est-ce qu'on modélise par exemple la map entière en un seul "modèle" admettons, sans texture, et qu'on charge le modèle par exemple ici dans XNA en y appliquant les textures seulement à ce moment ? Ou est-ce qu'on met les textures directement avec le logiciel de model' 3D ?
    Question de newbie je pense, mais j'assume ^^'

    Et aussi, donc, est-il préférable de dissocier les différents composants de la map ? (bâtiments, arbres, etc..)

    Comment croyez-vous que c'est fait dans les jeux "connus" comme ceux que j 'ai cité plus haut ?

    Merci de votre aide

  2. #2
    Membre averti Avatar de yodaime
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    282
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2006
    Messages : 282
    Points : 340
    Points
    340
    Par défaut
    Salut !

    Citation Envoyé par TheCypher Voir le message
    des décors/maps 3D en y intégrant des sprites et persos 2D.
    Cette technique s'appelle le Billboarding. Cela permet d'afficher un sprite 2D qui est toujours tourner vers la caméra.

    Citation Envoyé par TheCypher Voir le message
    la map entière en un seul "modèle" admettons, sans texture, et qu'on charge le modèle par exemple ici dans XNA en y appliquant les textures seulement à ce moment ? Ou est-ce qu'on met les textures directement avec le logiciel de model' 3D ?
    Pour une map cela dépend de ce que tu veux faire. Si c'est une map de type heightmap pas la peine de la modéliser. Il faudra que tu la construise a partir de ton code.
    Dans un cas plus général pour un modèle 3D ( perso, objet ) je pense qu'il vaut mieux le texturer dans le logiciel de 3D.

    Citation Envoyé par TheCypher Voir le message
    Et aussi, donc, est-il préférable de dissocier les différents composants de la map ? (bâtiments, arbres, etc..)
    A mon avis oui ( mais ce n'est que mon avis ).

    Si tu cherche des tutos XNA, je te conseille ce site : http://www.riemers.net/

    On y explique le principe du Billboarding et de la heightmap.

  3. #3
    Membre régulier Avatar de SkYsO
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 217
    Points : 122
    Points
    122
    Par défaut
    Salut,

    Concernant les objets (arbre et tout) je pense que ça doit être plus facile ensuite de les gérer s'ils sont séparés. Pour les faire bouger, disparaitre ou autre. Donc il vaut mieux les garder séparé.
    En plus si tu veux faire un éditeur à un moment, tu pourras les disposer comme tu veux et juste enregistrer les positions.
    De plus tu pourras changer et modifier l'apparence de ton modèle sans retoucher toute la map
    Blog de mon jeu L2D : http://xna-discovery.blogspot.com/
    Un Left 4 Dead Like en 2D vue de dessus ;p

  4. #4
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Points : 2 161
    Points
    2 161
    Par défaut
    +1

    Et surtout: un objet a vocation a être réutilisé de nombreuses fois à l'identique dans une même map.

    Par exemple, une forêt contenant 10 000 arbres réutilisera peut-être 15 meshes d'arbres différents en tout et pour tout (quitte à multiplier les possibilités en faisant quelques variations pour chacune des 15 meshes 'de base', genre du scaling ou autre).

    En termes d'espace mémoire/stockage, il est donc bien plus efficace de ne stocker dans la map qu'un identifiant vers la mesh de l'arbre et sa position dans la map.
    Mon projet du moment: BounceBox, un jeu multijoueurs sur Freebox, sur PC et depuis peu sur smartphone/tablette Android.

  5. #5
    Candidat au Club
    Inscrit en
    Août 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Whoa merci à vous !
    Je vais aller voir ce site, riemers.net.

    Mais en tout cas ça m'ouvre pas mal les yeux tout ça, c'était vraiment flou. Ca fait du bien d'avoir quelques avis

    Sinon, une petite question, quand vous parlez de "heightmap", c'est le nom commun qu'on donne à ces types de map que l'on voit par exemple de Final Fantasy Tactics ?
    Est-ce que Breath of fire 4 (qui n'est pas un tactical mais qui utilise aussi du "billboarding") utilise aussi ce qu'on pourrait appeler des heightmap alors ?

    Merci !

    EDIT : J'ai regardé pour les heightmap, c'pas vraiment c'que j'avais dit au dessus, c'est plus général, et c'est vraiment pas bête en fait comme système pour faire les types de maps que j'aimerais ! j'aurai jamais pensé, je connaissais ce procédé, j'ai appris qu'on appelait ça heightmap ^^

    EDIT 2 : Je me suis renseigné également sur le "billboarding" sur riemers, mais je ne pense pas que ça soit exactement ce que je cherche, les sprites ne font pas vraiment face à la caméra mais joue plutôt le rôle de modèles 3D mais qu'on aurait "sprité", j'ai du mal à m'expliquer, une image vaut mieux qu'une longue explication :

    Breath Of Fire IV


    Final Fantasy Tactics

    Ici les deux personnages sont des sprites, mais le reste du décor est en 3D. Ils ne font pas face à la caméra comme les sprites le feraient dans Duke Nukem 3D par exemple (le seul exemple flagrant qui me vient pour le billboarding), mais ils s'orientent quand même par rapport à la caméra.

    C'est peut-être une variante du billboarding en fait, mais je n'en suis pas sûr.

  6. #6
    Membre averti Avatar de yodaime
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    282
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2006
    Messages : 282
    Points : 340
    Points
    340
    Par défaut
    Citation Envoyé par TheCypher Voir le message
    Ici les deux personnages sont des sprites, mais le reste du décor est en 3D. Ils ne font pas face à la caméra comme les sprites le feraient dans Duke Nukem 3D par exemple (le seul exemple flagrant qui me vient pour le billboarding), mais ils s'orientent quand même par rapport à la caméra.

    C'est peut-être une variante du billboarding en fait, mais je n'en suis pas sûr.
    Non non, c'est ca le billboarding. Quand on dit tourner vers la caméra, ca ne veut pas dire que leur visage doit être tourner vers la caméra mais que comme tu le dis " ils s'orientent" par rapport a la caméra.

  7. #7
    Candidat au Club
    Inscrit en
    Août 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Ok

    Merci pour toutes ces infos. Ce site, riemers est vraiment très complet niveau tuto !
    Encore merci de me l'avoir fait connaître. Je vais me renseigner un peu plus sur le billboarding

  8. #8
    Yordarus
    Invité(e)
    Par défaut
    T'as de la chance, j'ai crée quasi exactement le même sujet que toi mais avec 0 réponses :p

    Je profite alors du tiens pour poser une question. Dans ce genre de map, comment gérer le déplacement du personnage ?

  9. #9
    Membre confirmé
    Avatar de Mindiell
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    735
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 735
    Points : 546
    Points
    546
    Par défaut
    Je suppose que tu parles d'un déplacement géré par la souris ?
    Dans ce cas, il te faut récupérer le clic de la souris et transformer les coordonnées souris en coordonnées "tuiles" ou monde afin de savoir ou l'utilisateur à cliquer. Dès lors, tu peux gérer le déplacement du personnage.

    De même, il existe deux systèmes pour la gestion du décor :
    - Soit le personnage bouge où il veut dans la vue sans que celle-ci bouge. S'il en sort, on charge un nouveau décor.
    - Soit le personnage reste au milieu de l'écran et c'est le monde autour qui bouge.
    Mindiell
    "Souvent, femme barrit" - Elephant man

  10. #10
    Candidat au Club
    Inscrit en
    Août 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Moi j'aurais plutôt vu un déplacement clavier (comme il en question dans Breath Of Fire IV d'ailleurs (1er screen) et pas mal d'autre RPG consoles)

  11. #11
    Yordarus
    Invité(e)
    Par défaut
    Citation Envoyé par Mindiell Voir le message
    Je suppose que tu parles d'un déplacement géré par la souris ?
    Dans ce cas, il te faut récupérer le clic de la souris et transformer les coordonnées souris en coordonnées "tuiles" ou monde afin de savoir ou l'utilisateur à cliquer. Dès lors, tu peux gérer le déplacement du personnage.

    De même, il existe deux systèmes pour la gestion du décor :
    - Soit le personnage bouge où il veut dans la vue sans que celle-ci bouge. S'il en sort, on charge un nouveau décor.
    - Soit le personnage reste au milieu de l'écran et c'est le monde autour qui bouge.
    Salut !

    Oui déplacement par la souris, et ça serait le personnage au milieu de l'écran. Je sais pas si tu connais ragnarok online ? c'est exactement ça que j'aimerai faire; et dans une moindre mesure, ça serait ça => [ame="http://www.youtube.com/watch?v=jcod78vy__0"]YouTube - 3D RPG EDITOR[/ame]

    Par contre, dans le cas d'une map 3D, il n'y a pas forcément des tuiles ? Et même avec des tuiles, s'il y a du relief, comment gérer ça ?

  12. #12
    Membre confirmé
    Avatar de Mindiell
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    735
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 735
    Points : 546
    Points
    546
    Par défaut
    Citation Envoyé par TheCypher Voir le message
    Moi j'aurais plutôt vu un déplacement clavier (comme il en question dans Breath Of Fire IV d'ailleurs (1er screen) et pas mal d'autre RPG consoles)
    Ah ! ca, c'est au choix du dev hein

    Citation Envoyé par Yordarus Voir le message
    Salut !

    Oui déplacement par la souris, et ça serait le personnage au milieu de l'écran. Je sais pas si tu connais ragnarok online ? c'est exactement ça que j'aimerai faire; et dans une moindre mesure, ça serait ça => YouTube - 3D RPG EDITOR

    Par contre, dans le cas d'une map 3D, il n'y a pas forcément des tuiles ? Et même avec des tuiles, s'il y a du relief, comment gérer ça ?
    Je me basais sur Final Fantasy Tactics qui a l'air d'être en 2D iso. Pour Breath of Fire, il s'agit apparemment plus d'un décor que d'un terrain en 3D.

    De plus, ce que montre ta vidéo est bien un monde régi par des tuiles. Cela semble donc êtr ece vers quoi tu te diriges. Pourquoi alors ne pas reprendre directement le moteur vu dans la video ? Ca te fera moins de boulot
    Mindiell
    "Souvent, femme barrit" - Elephant man

  13. #13
    Yordarus
    Invité(e)
    Par défaut
    Citation Envoyé par Mindiell Voir le message
    Ah ! ca, c'est au choix du dev hein

    Je me basais sur Final Fantasy Tactics qui a l'air d'être en 2D iso. Pour Breath of Fire, il s'agit apparemment plus d'un décor que d'un terrain en 3D.

    De plus, ce que montre ta vidéo est bien un monde régi par des tuiles. Cela semble donc êtr ece vers quoi tu te diriges. Pourquoi alors ne pas reprendre directement le moteur vu dans la video ? Ca te fera moins de boulot
    je lai pas trouvé

    sinon jaimerai le faire moi meme afin de mieux apprendre. par contre cest plutot des map 3d que jaimerai faire comme ragnarok. par contre je sais pas comment gerer les hauteurs pour la position du perso

  14. #14
    Membre confirmé
    Avatar de Mindiell
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    735
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 735
    Points : 546
    Points
    546
    Par défaut
    Encore une fois, si ta vidéo c'est Ragnarok, la map est en fausse 3D : 2D isométrique. Pour la hauteur, il s'agit simplement de hauteurs fixes.

    Bon courage pour le moteur lui-même
    Mindiell
    "Souvent, femme barrit" - Elephant man

  15. #15
    Membre averti Avatar de yodaime
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    282
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2006
    Messages : 282
    Points : 340
    Points
    340
    Par défaut
    Tu peux surement t'inspirer de l'exemple du XNA game creator club :

    http://creators.xna.com/en-US/starte...oleplayinggame

  16. #16
    Yordarus
    Invité(e)
    Par défaut
    Je ne vois pas très bien en quoi un jeu 2D pourrait m'aider sur le problème de hauteur, surtout si la map est en 3D... Mais merci quand même !

  17. #17
    Candidat au Club
    Inscrit en
    Août 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Je me basais sur Final Fantasy Tactics qui a l'air d'être en 2D iso. Pour Breath of Fire, il s'agit apparemment plus d'un décor que d'un terrain en 3D.
    Final Fantasy Tactics est en 3D ! (ne pas confondre avec la version Gameboy advance), et utilise le billboarding (je reprends mes leçons d'au dessus :p)

    Par contre je ne vois pas ce que tu veux dire par "plus d'un décor que d'un terrain en 3D" pour BoF ?

    Dans les deux jeux il est possible de tourner la caméra en temps réel, le décor n'est pas "fixe" à l'écran, bon par pas de 90° c'est sûr mais je ne pense pas que ça change quelque chose.

  18. #18
    Membre confirmé
    Avatar de Mindiell
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    735
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 735
    Points : 546
    Points
    546
    Par défaut
    Citation Envoyé par Yordarus Voir le message
    Je ne vois pas très bien en quoi un jeu 2D pourrait m'aider sur le problème de hauteur, surtout si la map est en 3D... Mais merci quand même !
    Lorsqu'on parle de 2D iso, on crée une 3eme dimension, mais ce n'est pas un moteur 3D. Cela gère tout de même la 3D, et les hauteurs (rien à voir avec la 3D d'ailleurs, cf les jeux de plate-forme )

    TheCypher> D'après l'image j'avais l'impression qu'il s'agissait d'un décor. Je dirais donc 2D iso aussi, même si le fait de pouvoir tourner la caméra est intéressant
    Mindiell
    "Souvent, femme barrit" - Elephant man

  19. #19
    Candidat au Club
    Inscrit en
    Août 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Je commence à comprendre, enfin je crois. On utilise pas réellement un moteur 3D mais on crée l'illusion de la 3D en jouant des transformations sur les sprites 2D ?
    Mais j'ai toujours pensé que la "2d iso", à l'image du vieux Sonic 3D sur Megadrive, constituait un décor donnant cette illusion de 3D mais fixe, pas de caméra rien ne pouvant modifier le point de vue.
    Mais je reste sceptique, un jeu en 2D iso n'intègre alors pas de "modèles 3D" donc, que des sprites en quelque sorte ? Pourtant je suis presque certain que BoF IV (et même le 3) et FF Tactics intègre des modèles 3D (pour les bâtiments, etc.) ça ne ressemble pas à de simples sprites ^^"

    (Arrêtez-moi si je pars dans une mauvaise direction là )

  20. #20
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Points : 2 161
    Points
    2 161
    Par défaut
    Citation Envoyé par TheCypher Voir le message
    On utilise pas réellement un moteur 3D mais on crée l'illusion de la 3D en jouant des transformations sur les sprites 2D ?
    En fait, à peu près n'importe quel mix est plus ou moins possible:

    - à une extrémité: la 2d isométrique 'pure', où l'ensemble du contenu affiché n'est composé que de sprites 2D (genre). Ca n'empêche bien sûr pas que le contenu de chaque sprite puisse avoir été fait à partir d'un logiciel de rendu en 3d (3DSMax, ...) pour chaque frame de l'animation puis sauvegardé sous forme de plein d'images bitmap, une pour chaque 'frame' de l'animation (exemples de ressources).

    - à l'autre extrémité: la 2d isométrique entièrement rendue au moyen d'une librairie 3D (genre openGL) dont la vue est configurée de telle manière que la caméra 'rend' une vue en 2D isométrique (exemple).

    - et toutes les solutions intermédiaires, notamment:

    * le décor rendu au moyen d'une simple image bitmap sur laquelle sont incrustés des éléments en 3D, genre: [ame="http://www.youtube.com/watch?v=z22DhbOZMbU"]YouTube - Alone in the Dark 1 - Intro[/ame]

    * le décor rendu avec un moteur 3D dans lequel certains éléments sont rendus au moyens de sprites 2D, notamment grâce au billboarding, typiquement, le premier doom et les fps de la même époque: wolfenstein, duke nukem 3d (exemple d'un sprite d'un monstre de doom): [ame="http://www.youtube.com/watch?v=ggMsQc9ld9g"]YouTube - Doom 1 Episode 1 Level 1[/ame]

    Bref, il y a l'embarras du choix
    Mon projet du moment: BounceBox, un jeu multijoueurs sur Freebox, sur PC et depuis peu sur smartphone/tablette Android.

Discussions similaires

  1. Quelle marche à suivre pour faire mailing
    Par Ciloe dans le forum E-Mailing
    Réponses: 4
    Dernier message: 05/01/2012, 11h26
  2. Quelle législation à suivre sur un chat ?
    Par rummyworld dans le forum Droit
    Réponses: 9
    Dernier message: 03/08/2007, 10h51
  3. [scolarité] quelle filière suivre ?
    Par Muesko dans le forum Etudes
    Réponses: 3
    Dernier message: 28/02/2007, 09h45
  4. [conception] les maps et leur chargement
    Par zax-tfh dans le forum Développement 2D, 3D et Jeux
    Réponses: 13
    Dernier message: 16/02/2006, 02h10
  5. [Oracle 9i] Marche à suivre pour installer un Patch
    Par zestrellita dans le forum Oracle
    Réponses: 2
    Dernier message: 03/11/2005, 15h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo