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 :

Quelques questions sur le tile mapping


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2009
    Messages : 11
    Points : 6
    Points
    6
    Par défaut Quelques questions sur le tile mapping
    Bonjour,

    Mon objectif est de créer un jeu de voiture 2D, en Qt. C'est un projet qui nous a été donner pour un cours. Comme je n'ai encore jamais développé d'application de ce type, j'avoue etre perdu et ne pas vraiment savoir par où commencer.

    En parcourant les forums afin de trouver quelques pistes, je suis tomber sur le concept de "tile mapping". J'aimerais bien me familiariser avec ce concept. Cependant, je n'ai pas trouver de tutoriel ou autres afin de pouvoir assimiler les bases et de pouvoir faire le tour des possibilités qu'offre ce concept.

    Pourriez-vous m'indiquer certains sites ou autres documents, qui pourrait m'être utile ?

    Merci d'avance.

  2. #2
    Rédacteur

    Avatar de johnlamericain
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    3 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 3 742
    Points : 8 140
    Points
    8 140
    Par défaut
    Salut,

    Je ne connais pas le tile mapping et son fonctionnement mais je me rappelais avoir vu un petit jeu d'avion en 2D fait avec Qt.

    J'ai retrouvé l'adresse : http://www.qt-apps.org/content/show....?content=90558

    Tu peux regarder un peu comment c'est fait et après faire ton propre jeu de voiture qui devrait être encore plus facile.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2009
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Merci pour ton aide, je vais essayer d'analyser cela.

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Salut.
    J'ai déplacé ton message sur le forum plus approprié.

  5. #5
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    Citation Envoyé par LexxusEVC Voir le message
    Bonjour,
    Mon objectif est de créer un jeu de voiture 2D, en Qt.
    Pourquoi utiliser Qt pour faire cela ?
    Qt c'est pour faire des interfaces graphiques avec fenêtres,boutons etc..
    pas trop pour faire ce genre de jeu ton jeu risque de ne pas être très fluide..
    il vaut mieux prendre des modules de code comme SDL,SFML...

  6. #6
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par Mat.M Voir le message
    Qt c'est pour faire des interfaces graphiques avec fenêtres,boutons etc..
    C'est bien plus que de l'interface graphique

    Citation Envoyé par Mat.M Voir le message
    pas trop pour faire ce genre de jeu ton jeu risque de ne pas être très fluide..
    A savoir que leur moteur 2D (QGraphics) est de plus en plus puisant, et permette déjà pas mal de choses. Tu peut même utiliser un backend opengl pour utiliser des accélérations. Pas sur qu'il soit tellement plus lent par rapport à sdl.

    Citation Envoyé par Mat.M Voir le message
    il vaut mieux prendre des modules de code comme SDL,SFML...
    Mais, je suis d'accord avec toi
    Qt n'a rien (actuellement) pour gérer correctement le son ou les inputs pour un jeux. Contrairement au lib que tu site. Y as des choses à faire sois même.

    Mon objectif est de créer un jeu de voiture 2D, en Qt. C'est un projet qui nous a été donner pour un cours
    Vue le context, ca ne me choque pas trop. Ça permet de manipuler pas mal de choses et de découvrir Qt.

    Puis, rien n'empêche d'utiliser sdl ou sfml avec Qt

  7. #7
    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 Mat.M Voir le message
    Pourquoi utiliser Qt pour faire cela ?
    Qt c'est pour faire des interfaces graphiques avec fenêtres,boutons etc..
    Qt permet de faire énormément de choses qui sortent très largement du cadre de la GUI depuis quelques années déjà.
    Attention a ne pas rester sur des idées 'toutes faites' qui datent de plus de 5 ans. Qt a énormément évolué entre temps.

    pas trop pour faire ce genre de jeu ton jeu risque de ne pas être très fluide..
    Ceci devrait te convaincre du contraire ... et te donner quelques idées pour les fonctionnalités à utiliser pour faire ton jeu

    Egalement cette partie de la FAQ Qt de developpez.com
    Mon projet du moment: BounceBox, un jeu multijoueurs sur Freebox, sur PC et depuis peu sur smartphone/tablette Android.

  8. #8
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    Citation Envoyé par nouknouk Voir le message
    et te donner quelques idées pour les fonctionnalités à utiliser pour faire ton jeu
    Merci Nouknouk pour la remarque mais j'utilise directement win32 et D3d9 en natif et je pense que c'est bien plus performant que tout un framework
    Et puis, je ne veux pas troller, mais il me semble qu'il faille payer Qt pour une utilisation commerciale..
    déjà que j'ai des problèmes en portant mon code avec Irrlicht..

    Citation Envoyé par LexxusEVC Voir le message
    Bonjour,

    Mon objectif est de créer un jeu de voiture 2D, en Qt. C'est un projet qui nous a été donner pour un cours. Comme je n'ai encore jamais développé d'application de ce type, j'avoue etre perdu et ne pas vraiment savoir par où commencer.
    .
    Pour répondre à la question il faut afficher des images de fond basiquement et que tu les ajustes à la zone de vue du jeu ( "viewport").
    Il faut faire cela avec un timer

  9. #9
    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 Mat.M Voir le message
    Merci Nouknouk pour la remarque mais j'utilise directement win32 et D3d9 en natif et je pense que c'est bien plus performant que tout un framework
    je n'ai jamais avancé que qt était la meilleure solution pour tout faire, encore moins pour les jeux. Mais dans le cadre de son projet et de ses besoins, j'avance juste que c'est une solution tout à fait viable.

    Si LexxusEVC a d'autres raisons pour vouloir utiliser Qt plutôt qu'une librairie dédiée au développement de jeux (techno imposée pour son projet, fonctionnalités tierces incluses dans Qt, pas envie de passer du temps à apprendre une autre techno alors qu'il connait déjà Qt, ...), je dis juste qu'il pourra le faire.

    Citation Envoyé par Mat.M Voir le message
    Et puis, je ne veux pas troller, mais il me semble qu'il faille payer Qt pour une utilisation commerciale..
    Non: Qt est en LGPL depuis quelques temps déjà (depuis le rachat par Nokia si je me souviens bien), et peut désormais être utilisé gratuitement pour les projets closed sources et/ou commerciaux.

    Citation Envoyé par LexxusEVC Voir le message
    En parcourant les forums afin de trouver quelques pistes, je suis tomber sur le concept de "tile mapping". J'aimerais bien me familiariser avec ce concept.
    Pour revenir au sujet initial, ce lien (en Anglais) pourra peut-être te constituer un bon point de départ.

    Grosso modo, le tile mapping n'a rien d'extrêmement complexe: c'est juste dire qu'au lieu de stocker une 'carte' entière on va assembler plein de petits 'blocs' de base (des carrés) ensembles pour constituer la 'carte'.

    Ainsi, on va pouvoir réutiliser de nombreuses fois les mêmes 'blocs' à différents endroits et économiser mémoire, espace disque, temps de (télé)chargement et simplifier la construction de nouvelles 'cartes' (cela se réduit alors à assembler des blocs).
    Mon projet du moment: BounceBox, un jeu multijoueurs sur Freebox, sur PC et depuis peu sur smartphone/tablette Android.

  10. #10
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par nouknouk Voir le message
    Grosso modo, le tile mapping n'a rien d'extrêmement complexe: c'est juste dire qu'au lieu de stocker une 'carte' entière on va assembler plein de petits 'blocs' de base (des carrés) ensembles pour constituer la 'carte'.

    Ainsi, on va pouvoir réutiliser de nombreuses fois les mêmes 'blocs' à différents endroits et économiser mémoire, espace disque, temps de (télé)chargement et simplifier la construction de nouvelles 'cartes' (cela se réduit alors à assembler des blocs).
    Ha ouai comme ce que fait r0d, non?
    http://r0d.developpez.com/yatus/index.html

  11. #11
    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 yan Voir le message
    Ha ouai comme ce que fait r0d, non?
    http://r0d.developpez.com/yatus/index.html
    Exact, sauf que dans le cas de r0d, ce sont des 'blocs' (on appelle plutôt ça 'tuile' ou 'tile' en Anglais) de forme hexagonale. Un autre exemple qui sort du cadre des blocs 'carrés' sont les jeux en vue 2D isométrique.

    L'immense majorité des jeux 2D avc un scrolling (donc potentiellement une grande 'carte') utilise la technique du tile mapping: shoot'em up, jeux de plateforme genre Mario, zelda, etc...

    C'est tous les jeux où la zone de jeu est composée de 'motifs' qu'on peut trouver à plusieurs reprises dans le jeu

    - c'était systématique pour les jeux les plus anciens car à l'époque, la mémoire était une denrée très précieuse à ne pas gaspiller (donc on n'avait pas le choix).

    - maintenant on continue souvent à utiliser cette technique pour les jeux 2D, car avec cette méthode, il 'suffit' de dessiner quelques blocs de base qu'on peut alors réutiliser à l'infini pour créer de nombreuses cartes ('map' en Anglais) différentes.

    Par exemple, une vidéo d'un éditeur de carte pour la plateforme XNA (XBox360, ...) [ame="http://www.youtube.com/watch?v=aD7dzMZRUPI&hl=fr"]YouTube - XNA Tile Map Editor[/ame].

    A noter que tu peux effectuer des recherches sur les éditeurs de cartes (mots clefs google: 'tile map editor'). Il en existe des open sources (exemple). Dans ton cas, en utiliser pour faire quelques tests et surtout fouiner dans leur code source te permettra déjà de te familiariser avec le concept et comprendre leur fonctionnement.



    EDIT: deux exemples de jeux utilisant le tile mapping et qui se rapprochent plus de ce que tu veux faire, à savoir un jeu de course:

    Le premier, c'est le jeu Nitro (sur Amiga, rhâââ lovely , toute ma jeunesse ):
    [ame="http://www.youtube.com/watch?v=QE37V0k3NKA"]YouTube - AMIGA Nitro by Psygnosis[/ame]


    Et un jeu plus récent (gratuit & jouable en réseau), Turbo Silders de JollyGood games.
    [ame="http://www.youtube.com/watch?v=2qEMuvcFOK0"]YouTube - TurboS[/ame]
    Mon projet du moment: BounceBox, un jeu multijoueurs sur Freebox, sur PC et depuis peu sur smartphone/tablette Android.

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2009
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Merci pour l'aide et les pistes à explorer

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Quelques questions sur les threads
    Par benj63 dans le forum C++Builder
    Réponses: 28
    Dernier message: 21/11/2005, 13h27
  2. Réponses: 19
    Dernier message: 21/10/2005, 19h24
  3. Quelques questions sur la mémoire
    Par Gruik dans le forum C
    Réponses: 6
    Dernier message: 17/11/2004, 14h38
  4. Quelques question sur Win 32 Appli
    Par lvdnono dans le forum Windows
    Réponses: 5
    Dernier message: 15/06/2004, 12h37
  5. Quelques questions sur le TWebBrowser...
    Par CorO dans le forum Web & réseau
    Réponses: 3
    Dernier message: 17/01/2003, 21h23

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