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

XNA/Monogame Discussion :

Architecture jeu XNA 2D


Sujet :

XNA/Monogame

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Architecture jeu XNA 2D
    Bonjour, je me suis lancé dans la création d'un jeu en C# utilisant le framework XNA 4.0. Le principe de mon jeu est la réalisation d'un univers 2D composé de blocs de taille équivalente, et je souhaiterai obtenir des conseils à propos de l'architecture du jeu.
    Je pensais aux différentes classes :

    Interactions :
    - gère les interactions entre les blocs et l'outil équipé par le personnage

    Moteur physique :
    - vérifie les collisions et les chutes à chaque update
    - gère les sauts
    - gère les déplacements

    Utilisateur :
    - récupère les commandes de l'utilisateur à chaque update
    - trie les commandes et les distribue à
    - Interactions pour les interactions
    - Moteur physique pour les sauts et déplacements

    Concepteur de décor
    - Charge la carte au lancement en interprétant un fichier de texte

    Camera :
    - Configure une caméra à chaque Update, centrée sur le personnage

    Cordialement, Hylarium

  2. #2
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    J'ai jamais utilisé XNA , par contre faire un jeu 2D est dans mes cordes.
    Architecture du jeu 2D que tu propose est bien , mais si je peux rajouté quelque précision.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Moteur physique :
    - vérifie les collisions et les chutes à chaque update
    - gère les sauts
    - gère les déplacements
    J'ai jamais aimé utilisation du mot moteur physique surtout si c'est pour faire un jeu a la mario qui utilise 2/3 fonction pour gérer les collisions de la totalité du jeu.
    Mais bref en général la physique fait pas attention au saut ou au déplacement , on déplace un vecteur (en x et en y ) que les fonction/méthode collision changera les valeurs.
    si c'est des bloc tu peux connaitre quel partie du bloc est en collision (haut , bas , droite , gauche).


    Sinon pour le reste j'ai pas grand chose a dire , je'aurais fais la meme chose , bonne chance pour la suite

  3. #3
    Membre averti
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Octobre 2008
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Octobre 2008
    Messages : 187
    Points : 448
    Points
    448
    Par défaut
    Citation Envoyé par Kannagi Voir le message
    J'ai jamais aimé utilisation du mot moteur physique surtout si c'est pour faire un jeu a la mario qui utilise 2/3 fonction pour gérer les collisions de la totalité du jeu.
    Oui c'est vrai que c'est beaucoup d'efforts d'intégrer un moteur physique pour pas grand chose au final ; mais je pense que Hylarium parlait plus exactement d'un moteur de collisions, ce qui est beaucoup plus simple, surtout pour un jeu en tile.

    Sinon, le découpage en classes me semble bien, mais comment vas-tu faire pour lier tous ces objets entre eux ? C'est important de pouvoir faire communiquer les composants entre eux d'une manière propre, sinon on se retrouve vite avec des références partout et le code est imbitable

    tu peux par exemple créer une classe de base GameObject, qui a les méthodes virtuelles suivantes :
    - Load
    - Update
    - Draw

    Comme ça, pour chaque classe que tu a défini dans ton poste, tu créé une classe dérivée de GameObject en redéfinissant les méthods Load, Update et Draw, et tu stocke tout tes objets dans une liste.

    edit : la classe GameComponent de XNA est là pour ça, j'avais oublié

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Tout d'abord merci de vos réponses !

    Pour répondre à la question de la manière dont je pensais lier les différentes classes entre elles, je pensais avoir :

    - Au lancement du jeu, la classe Concepteur de décor charge les blocs en interprétant un fichier .txt

    - A chaque Update,
    1) Utilisateur récupère les commandes de l'utilisateur. Si il détecte une commande, il transmet :
    2) Soit Interaction qui gère l'interaction sur le bloc concerné (agit sur le Concepteur de décor qui recharge alors la carte)/ Soit au Moteur de collisions & déplacements qui met à jour les variables
    3) Enfin, la Camera utilise les variables pour configurer une caméra, et éventuellement sélectionnes les blocs à afficher.
    4) La méthode Draw affiche ce que lui transmet Camera

    En espérant avoir été clair,
    Cordialement, Hylarium

Discussions similaires

  1. jouer à un jeu xna sans installer le framework sur le pc utilisateur
    Par GhostofRazor dans le forum XNA/Monogame
    Réponses: 3
    Dernier message: 29/04/2014, 10h52
  2. Gestion des sprites pour un jeu xna
    Par Toin3 dans le forum Windows Phone
    Réponses: 0
    Dernier message: 08/03/2012, 01h08
  3. Projet jeu XNA(Xbox 360): KellAndSam Complication
    Par Remizkn dans le forum Projets
    Réponses: 9
    Dernier message: 08/05/2009, 11h01
  4. [c++]Architecture des classes pour un jeu
    Par Pegasus32 dans le forum C++
    Réponses: 23
    Dernier message: 16/02/2005, 14h07
  5. Architecture pour les objets d'un jeu
    Par Freakazoid dans le forum DirectX
    Réponses: 7
    Dernier message: 31/07/2004, 13h09

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