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 :

Codes sources de jeux de plateformes


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 284
    Points : 336
    Points
    336
    Par défaut Codes sources de jeux de plateformes
    Salut,

    J'ai commencé à regarder le code source de quelques jeux de plateforme mais je n'est rien trouver de très sympa,souvent pas très bien commenter et fait par des développeurs débutants (ou casiment dans ce domaine tout au moins) (non pas que je critique les développeur débutants mais étant moi même débutant dans ce domaine je recherche des codes sources qui soit relativement bien structurés ce qui n'est pas forcement facile de faire lorsque l'on débute).

    Donc je précise un peu ma demande, je recherche des codes sources de jeux de plateformes relativement basique (une sorte de mario) ainsi que pourquoi pas d'autres jeux de cette forme un peu plus évolués (avec pas exemples différentes armes,... comme ne sité qu'un nom Matal Slug).

    Si vous avez donc un code source qui traine sur votre pc ou un lien regroupant de genre de choses n'hésitez pas (Si possible développés en C++ avec la SDL)

    Merci

  2. #2
    Membre habitué Avatar de Polyfructol
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Avril 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 131
    Points : 157
    Points
    157
    Par défaut
    Salut,

    J'ai été dans le même cas que toi, et j'ai pas eu grand chose à me mettre sous la dent.

    Le seul truc assez aboutit que j'ai trouvé c'est Super Mario War, ça répond à tes critères, SDL + C++. SMW est un jeu de plateforme axé multijoueur plutôt amusant, aux graphismes rétro comme je les aime .

    Pour ma part je tente aussi de développer un jeu de plateforme, mais bon c'est loin d'être prêt, j'ai pas encore de sources à partager (et c'est pas dit qu'elles seront exemplaires ).
    Dans tous les cas je veillerais sur ce topic car d'autres sources m'aiderais bien.

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 284
    Points : 336
    Points
    336
    Par défaut
    Merci pour ce lien Je vais tout de suite jeter un coup d'oeil

  4. #4
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 284
    Points : 336
    Points
    336
    Par défaut
    Une petite précision, je suis aussi à la recherche d'éventuelles analyses, diagrammes de classes et autres documents liés à la conception d'un jeu de ce type (ou au moins de jeux en 2d).

    Merci

  5. #5
    Membre habitué Avatar de skysee
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 191
    Points : 137
    Points
    137
    Par défaut
    Citation Envoyé par Loïc M Voir le message
    Une petite précision, je suis aussi à la recherche d'éventuelles analyses, diagrammes de classes et autres documents liés à la conception d'un jeu de ce type (ou au moins de jeux en 2d).

    Merci
    Salut,
    tu peux regarder ici :
    http://khayyam.developpez.com/articl.../architecture/

    ciao

  6. #6
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 284
    Points : 336
    Points
    336
    Par défaut
    Merci pour le lien skysee.

    J'ai commencer a regarder quelques codes sources de jeux de plateforme en 2D mais j'ai maintenant quelques questions...

    - Unités :
    Faut-il faire un héritage d’une classe Unité avec des sous-classes Personnage (le petit personnage que l'on contrôle) et Ennemi (le reste des créatures présente dans le niveau) sachant que certaines méthodes seront les mêmes entre les deux classes (se déplacer par exemple)?

    - Map :
    Faut-il indiquer la position du joueur dans la matrice ? Lors de l’initialisation de la partie ? En cours de partie ?
    Faut-il indiquer l’image d’arrière plan dans le fichier map ? (dans le cas d'un jeu avec plusieurs niveaux)

    - Collisions :
    Faut-il faire une classe Collision ?

    - Projectiles :
    Faut-il utiliser la classe Collision pour vérifier une collision entre un projectile et une cible (ou décors) ?
    Quand faire se déplacer les projectiles ? Durant la boucle général du jeu ?
    Faut-il créer une classe Projectile ?
    Faut-il stocker les projectiles envoyés dans une structure regroupant tout les projectiles ou faire une structure dans chaque unité qui contiendra la liste des projectiles de cette unité ?

    - Animation :
    Comment gérer des animations qui ne sont pas causées par des déplacements ? Par exemple lorsqu’un ennemi meurt et laisse objet par terre ?

    - Bonus :
    Faut-il placer les bonus fixes dans la matrice de la map ?
    Faut-il utiliser la classe Collision pour détecter une collision avec un bonus (et ainsi le ramasser) ?
    Comment gérer le cas d’un bonus déposé par un ennemi lors de sa mort ? Sachant que l’ennemi peut s’être déplacer par rapport à sa position initiale.

    Si jamais vous avez des réponses pour au moins quelques unes de ces questions n'hésitez pas Merci

  7. #7
    Membre habitué Avatar de Polyfructol
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Avril 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 131
    Points : 157
    Points
    157
    Par défaut
    Tout d'abord sache que tout est possible, et qu'il y a plein de facon d'arriver à la même solution, donc là je vais répondre à tes interrogations de façon absolument personnelle, je ne détient pas la "meilleure" solution.

    Unités :
    Oui c'est conseillé (essentiel) de faire une classe Unité, moi je l'appelle Entity, elle comporte les fonctions de base, le déplacement comme tu le dis, et d'autre comme OnCollision, OnDamage ...

    Map :
    Indiquer la position du joueur dans la matrice... je ne sais pas trop, parce que dans un jeu de plateforme le personnage ne se déplace pas par case. Moi, au chargement de la map j'initialise les valeurs x et y du joueur (par rapport à la map, pas l'écran) et ça suffit.

    Pour l'image de fond d'écran, tu peux tout à fait charger une image qui se répètera tout le long du scrolling.

    Collisions :
    Les collisions sont un point assez sensible dans un jeu de plateforme (dans tous les jeux même). J'utilise un boite englobante pour les entités, et des lignes pour le niveaux. Les collisions ne peuvent être que du type entité-entité, ou entité-ligne. Donc je pense qu'on peux faire la classe Collision, qui se charge de vérifier si ces éléments rentrent en collision.
    Je n'ai pas encore trop réfléchis à comment gérer les collisions donc je n'en sais pas plus.

    Projectiles :
    Si j'avais des projectiles, je les ferais dériver de la classe Entité (ou Unité), donc pas de problème pour les collisions.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Projectile::OnCollide(Entity* e)
    {
        e->SendDamage(1);
    } // En gros
    Le déplacement des projectiles se met à jour, comme toutes les entités du jeu, à chaque boucle.

    Le projectile est créé lorsque l'on tire, et puis est détruit lorsqu'il rentre en collision ou sort de la map. Il n'y a pas vraiment de liste de projectiles à faire.
    Pour ma part, je ne gère qu'une liste d'entité, ça peut être des bonus, des projectiles, des ennemis, peu importe.

    Animations :
    Moi je n'utilise pas vraiment les animations dans le sens où tu l'entends. Les animations sont purement graphiques, ça peut-être une animation de course, de marche, de mort etc...

    Par contre j'utilise aussi des états (mort, vivant, invincible, en course), et selon ces états, les fonctions OnDamage, OnCollide, Move, ne se comportent pas de la même manière. (Regarde le "State Pattern").

    Les états influent sur les animations bien sûr (je m'embrouille ), mais par exemple, lors du changement d'état vers l'état Dead, on peut rajouter une entité bonus dans la map au même endroit que l'ennemi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    EntityDeadState::OnEnter() {
        // Code qui rajoute l'arme dans la map, ou du moins qui envoit une instruction au moteur qui se chargera de l'ajout
    }
    (Si tu veux une animation pour la chute de l'arme, la plupart du temps elle est intégrée à l'animation de mort de l'ennemi).

    Bonus :
    Pareil que pour le joueur, moi la matrice de la map (c'est à dire les cases) ne sert qu'à stocker le décor. Ensuite chaque entité ou collision à sa propre position avec x et y.

    Pour la réception d'un bonus, une fois la collision détectée, on se sert de la fonction OnCollide du bonus de la même manière que celle du projectile.


    J'espère que ça répond à quelques-unes de tes questions, sache que je suis dans le même cas que toi !
    Je dois créer un jeu de plateforme, et je compte le finir avant mars.
    Ce jeu sera mon premier gros projet donc je n'ai pas encore trop d'expérience la programmation de jeu video, mais je me suis déjà posé pas mal de questions !

    Y'a du boulot

    Bonne chance

  8. #8
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 284
    Points : 336
    Points
    336
    Par défaut
    En effet cela répond à pas mal de mes questions

    Je vais aller jeter un coup d'oeil au state patterm...

    En tout cas bonne chance pour ton jeu et n'hésite pas si tu cherches un testeur :p Et en effet y a pas mal de boulot, et c'est pas forcément facile de savoir par où commencer !

Discussions similaires

  1. code source jeux de plateau
    Par totofe dans le forum SDL
    Réponses: 17
    Dernier message: 01/08/2008, 21h30
  2. aidez moi svp,"code source" du jeux serpent
    Par joshkof dans le forum C++
    Réponses: 3
    Dernier message: 24/05/2006, 11h03
  3. Je cherche le code-source d'un interface de Windows
    Par Robert A. dans le forum Windows
    Réponses: 5
    Dernier message: 02/06/2003, 09h45
  4. [VB6] Code source pour modifier MsgBox
    Par khany dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 25/02/2003, 15h13

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