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 :

Développement de jeux en C# avec MonoGame - Partie 4 [Tutoriel]


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut Développement de jeux en C# avec MonoGame - Partie 4


    Voici le quatrième tutoriel de la série sur le développement de jeux avec MonoGame:

    http://franckh.developpez.com/tutori...ogame/part-IV/

    Vous pouvez laisser vos remarques et autres messages à la suite !


    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  2. #2
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2002
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 274
    Points : 192
    Points
    192
    Par défaut Gestion des pastilles de nourriture
    Bonjour,

    Tout d'abord un grand BRAVO et MERCI pour ces tutoriaux !
    Pour un débutant Monogame tel que je suis, c'est très complet et très instructif !

    Désireux de poursuivre le développement en ajoutant les pastilles de nourriture, je ne sais pas vraiment pas quel bout commencer :
    - comment représenter ces pastilles ? (sprite ou simplement colorer des pixels)
    - comment générer leur création en début de partie

    Merci pour tes conseils !

    Steve

  3. #3
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut


    Merci pour ton commentaire ! Quelqu'un de motivé, ça fait toujours plaisir


    Citation Envoyé par rohstev Voir le message
    - comment représenter ces pastilles ? (sprite ou simplement colorer des pixels)
    C'est au choix et selon tes compétences. Personnellement j'opterais pour colorier des pixels, ça fait moins de chargements d'image et vu la taille de la pastille.. Le tout dans une liste de Vector3 contenant les positions et la taille des pastilles (en utilisant le membre Z du vecteur) ou on peut également créer une structure contenant un Vector2 plus un membre Size pour la taille de la pastille et donc faire une liste de type de la structure (j'aime dans ce cas ajouter un constructeur dans la structure) !

    Citation Envoyé par rohstev Voir le message
    - comment générer leur création en début de partie
    Dans l'idéal, c'est créer un quadrillage comme je le ferais sous Gimp ou Photoshop , en déterminer les coordonnées des emplacements et faire un fichier avec ces infos que tu lis ensuite dans le programme pour positionner les pastilles. Il existe peut être d'autres méthodes mais c'est ainsi que je l'aurais fait.. peut être par ignorance des autres méthodes aussi


    Bon courage
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  4. #4
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2002
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 274
    Points : 192
    Points
    192
    Par défaut
    Je me suis amusé à dessiner les carrés de nourriture sur la texture world.
    La-voici en pièce jointe si jamais

    Bon week-end !
    Images attachées Images attachées  

  5. #5
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 826
    Points : 218 288
    Points
    218 288
    Billets dans le blog
    117
    Par défaut
    Mais comment vous les enlever, lorsque votre Pacman les mange ?
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  6. #6
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2002
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 274
    Points : 192
    Points
    192
    Par défaut
    Je pensais utiliser un tableau de couleur et jouer sur les collisions de pixels.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    world.Texture.GetData<Color>(world.colorTab);
    Lorsque mon pacMan rencontre un pixel jaune, je récupère sa position et modifie les items "couleur" correspondant dans mon tableau et je recharge la texture.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    world.Texture.SetData<Color>(world.colorTab);
    Mais je ne l'ai pas encore fait... vous pensez que ça ne marchera pas ?

  7. #7
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 826
    Points : 218 288
    Points
    218 288
    Billets dans le blog
    117
    Par défaut
    Si c'est bien prévu, cela peut fonctionner. Mais, je trouve cela lourd, ou je ne sais pas, un peu étrange (à mon gout) comme procédé de faire.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  8. #8
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2002
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 274
    Points : 192
    Points
    192
    Par défaut
    Je suis débutant en terme de dév pour jeux. Donc si vous avez une meilleure manière de faire, je suis preneur de tous conseils et/ou idées !

    Merci

    Steve

  9. #9
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    En fait lorsque je proposait de dessiner les pixels j'entendais bien sûr par code dans le programme directement, pas sur l'image avec un logiciel de dessin
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  10. #10
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 826
    Points : 218 288
    Points
    218 288
    Billets dans le blog
    117
    Par défaut
    Ce que je ferai ?
    Hum, le cas du pacman, je n'ai jamais été trop sur et je n'ai pas trop réfléchi dessus. Je ferai surement un tableau qui contiendrai les informations de mon niveau. Une case peut être soit :
    • un mur (je peux avoir plusieurs type de mur, si besoin);
    • un vide ;
    • un pois ;
    • un bonus.

    Au passage du pacman, je mets à jour mon tableau, si besoin ait. Cela me permet aussi de faire la détection de collision et d'autres trucs sympa.

    Attention, cette approche n'est peut être pas l'optique utilisée dans le tutoriel
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  11. #11
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Attention, cette approche n'est peut être pas l'optique utilisée dans le tutoriel
    Non, du moins pas pour la map qui est une simple image et où sont fait des détections de collisions avec des pixels bleus. Cela dit, c'était plus ou moins l'approche que j'avais proposé pour les pastilles.
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  12. #12
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 177
    Points : 5 738
    Points
    5 738
    Par défaut MonoGame ou XNA ?
    Bonjour,

    Tout d'abord merci pour ces tutorielles.

    Je suis juste déçu de ne pas découvrir les nouveautés de MonoGame par rapport à XNA dans ton Tuto.

    J'ai déjà fait un tuto sur XNA et je ne vois pas pour l'instant ce que MonoGame m'apporte de plus, si ce n'est qu'il n'a pas fonctionné sur XP puisque qu'il cherchait une dll de directX 11. Je l'ai finalement refais en OpenGL :/.
    Je pensait trouver aussi un support plus étendu des manettes de jeux et la sur le tuto tu utilise une manette Xbox :/
    Pas de fonction supplémentaire pour les collisions ?

    Donc en une question :
    Je fait des jeux sous XP, Win7 compatible avec des manettes non Microsoft, pourquoi devrai je choisir MonoGame plutôt que XNA ?

    Merci de l’éclairé et bonne continuation.

    A+

  13. #13
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut


    Citation Envoyé par ericlm128 Voir le message
    Je pensait trouver aussi un support plus étendu des manettes de jeux et la sur le tuto tu utilise une manette Xbox :/
    C'est la seule manette dont je dispose, je ne peut pas coder pour des manettes que je n'ai pas

    Citation Envoyé par ericlm128 Voir le message
    Pas de fonction supplémentaire pour les collisions ?
    Dans les tutoriels ou Monogame ? Dans les tutoriels non, c'est pas un cours pour apprendre tous les types de collision mais juste pour présenter la bibliothèque rien de plus. Concernant la bibliothèque, bin pour moi c'est plus une bibliothèque qu'un moteur à proprement parler donc non il n'y a rien de ce genre, tu codes tout toi-même. Si tu veux un moteur plus complet je te conseil fortement d'aller vers Unity

    Citation Envoyé par ericlm128 Voir le message
    Donc en une question :
    Je fait des jeux sous XP, Win7 compatible avec des manettes non Microsoft, pourquoi devrai je choisir MonoGame plutôt que XNA ?
    XNA n'est plus maintenu et n'évoluera plus. Monogame permet d'adapter XNA à plus de plateformes mais va également l'étendre.. même s'ils sont assez long au développement de cette bibliothèque.
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  14. #14
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 177
    Points : 5 738
    Points
    5 738
    Par défaut
    Merci pour tes réponses.

    Tu devrais te procurer une autre manette tu verra c'est marrant

    Je parlai de la bibliothèque bien sur pour les fonctions de collisions.

    Utilise tu pour ta parle des fonctions supplémentaires proposé par MonoGame et pas par XNA que je me rende compte de l'utilité STP ?

  15. #15
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par ericlm128 Voir le message
    Utilise tu pour ta parle des fonctions supplémentaires proposé par MonoGame et pas par XNA que je me rende compte de l'utilité STP ?
    En fait, après avoir écrit cette suite de tutoriels, en voyant à quelle vitesse le développement de MonoGame se faisait et les choses qui étaient encore impossible à faire directement par le biais de cette bibliothèque, j'ai décidé tout simplement de ne pas l'utiliser

    Compiler/Lire des sons et compiler des polices de caractères, chose qui était encore impossible directement par MonoGame au moment où j'ai écrit ces tutoriels (je ne sais pas si ça a changé depuis, j'ai pas suivi l'évolution du développement), ça me paraissait complètement absurde de continuer avec cette bibliothèque. J'étais complètement abasourdi en lisant que dans les développements en cours, ils prévoyaient le portage vers d'autres plateformes alors que l'intégration des fonctions de bases n'était même pas complète, des choses qu'on pouvait faire avec XNA mais pas avec MonoGame..
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

Discussions similaires

  1. Développement de jeux en C# avec MonoGame - Partie 1
    Par Franck.H dans le forum Développement 2D, 3D et Jeux
    Réponses: 14
    Dernier message: 06/01/2015, 12h29
  2. Développement de jeux en C# avec MonoGame - Partie 3
    Par Franck.H dans le forum Développement 2D, 3D et Jeux
    Réponses: 0
    Dernier message: 12/12/2013, 21h25
  3. Développement de jeux en C# avec MonoGame - Partie 2
    Par Franck.H dans le forum Développement 2D, 3D et Jeux
    Réponses: 3
    Dernier message: 01/12/2013, 13h33

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