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 :

Aide à la compréhension : jeu de plateforme


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 4
    Points : 10
    Points
    10
    Par défaut Aide à la compréhension : jeu de plateforme
    Bonjour!

    Je m'appelle Samuel, j'ai 24 ans.
    J'ai découvert l’algorithmique l'an dernier (dans le cadre d'une formation de reconversion) et le langage C il y a trois semaines.

    Je suis autodidacte et n'ai suivis que quelques cours rudimentaires d’algorithmique, mais me suis pris de passion pour le sujet.

    Bref j'ai lu plusieurs cours C pour débuter et je n'ai pas encore finis l'initiation de Jessee Michaël et C. Edouard présent sur ce site. ("C" en cours )
    Et puisque j'ai besoin de me détendre aussi un peu, je lis le Big Tuto de Jay sur le thème de la création d'un jeu de plateforme en 2D via SDL.

    Seulement voilà, je ne comprends pas tous les tenants et aboutissant de son programme, et souhaiterai ouvrir ce fil de manière a pouvoir vous faire part de mes interrogations à propos de ce tuto.

    Donc avant de me lancer, je vous laisse m'indiquer si je ne suis pas au bon endroit ou bien si la structure de ce fil ne correspond pas au besoin de clarté de ce forum .(mes questions sont relativement diverses et n'ont en communs que le cadre du tuto)

    Sur ce, très bon dimanche à tous, je repasse très vite!

    Et d'avance merci

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    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 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Nous, nous avons une rubrique entièrement dédiée aux jeux vidéo : http://jeux.developpez.com/
    Et cette rubrique contient plus de 100 tutoriels et cela ne cesse d'augmenter. Nous avons aussi des FAQs, des pages médias, des vidéos et bien sur, des forums.

    Donc, allez y, posez vos questions
    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.

  3. #3
    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
    Le forum est fait pour poser des question , il y a un forum spécialisé pour les questions sur la SDL (même si certain pose des question plus généraliste).
    Sinon j'ai regardé vite fait le Big Tuto d Meruvia , y a des choses bien et des moins bien , enfin faut pas le prendre comme bible y'a de très mauvaise chose , la première il utilise les variable globales...
    Sinon en vrac quelques autres truc qui me gene :
    -il connait pas les boucle for pour gérer les événements
    -le but d'un fonction c'est qu'elle soit réutilisable et indépendante ce n'est pas le cas de la plupart de ces fonctions.
    -collision mal gérer aucun vecteurs (et pas très modulaires).
    -animation le b.a.-ba , pas très complet.
    -auteur du tuto manque de pratique j'ai impression.

    Personnellement un tuto qui utilise les variable globales est de la mauvaise manière en plus je le déconseillerai.

  4. #4
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 4
    Points : 10
    Points
    10
    Par défaut
    Merci pour vos réponses! Et merci LittleWhite pour le déplacement

    Kannagi: Merci d'avoir pris le temps d'y jeter un œil et surtout merci pour les remarques!

    Alors, oui une de mes questions concernait ces variables globales. J'ai lu qu'il fallait les fuir comme la peste (sécurité? lisibilité? portabilité?), donc
    justement je me demandais s'il ne fallait pas mieux mettre des pointeurs partout même si du coup ça alourdit et complexifie (oui quand même! ^^) un peu le code?

    Ensuite, justement s'il y a d'autre choses dans sa façon de faire qui est "généralement" déprécié ou "à évité" j'aimerai autant le savoir, histoire de ne pas prendre de mauvaise habitudes

    Kannagi je me penche tout de suite sur la gestion avec le for; On est d accord, c'est pour le input, à la place du switch? Plus rapide?

    D'accord pour les fonctions, bien que ce soit justement pour ça que je m’appuie énormément sur ce tuto, parce que tout seul, mon main devient horrible et tout devient beaucoup plus long à faire.. Du coup j'ai apprécié prendre exemple sur des fonctions courtes et relativement parlantes a default d'être (pour toutes) réutilisables..

    Mes premiers tests de collisions sont en effet un peu décevants.. Mais je compte peaufiner ça moi même plus tard. (Si j'arrive a remettre la main sur mes anciens cours de physique parce que là les vecteurs (sur la toile) j'y ai rien compris!! Il me semble que mes cours étaient bien foutus.. on verra)

    "Animations pas complètes", c'est dans la façon de faire? (genre selon input et état actuel on change l'etat et on initialise l'anim correspondante) ou plutôt dans ces images anims que tu ne trouves pas ça top?
    Parce que si c'est à cause du design, toutes les images sont (seront pour la plupart :p) de moi, et les anims seront plus détaillés.

    Bref, voilà déjà ça on verra pour la suite
    Et encore merci!

  5. #5
    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
    Citation Envoyé par arrow34 Voir le message
    Alors, oui une de mes questions concernait ces variables globales. J'ai lu qu'il fallait les fuir comme la peste (sécurité? lisibilité? portabilité?), donc
    justement je me demandais s'il ne fallait pas mieux mettre des pointeurs partout même si du coup ça alourdit et complexifie (oui quand même! ^^) un peu le code?
    Il y a plusieurs raison pour évité les variables globales , déjà un cela restreint le nombre de mot qu'on peut utiliser , surtout que dans le tuto il utilise des mots très courant , pour ma part ça m’enlevè une certain lisibilité , on connait pas la variable (elle n'est pas en argument) , on connait pas qui modifie cette variable (ça peut être n'importe quel fonction) , évidement cela enlevè une certaine portabilité, cette variable globale n'existerait pas dans un autre programme autant que le résultat de la fonction ne serait pas la même (effet de bord).
    Pour les pointeurs en C , c'est complétement indispensable ça peut être complexe pour la personne qui débute mais ça en vaut la peine de s'investir dedans, je rappel que la SDL en utilise aussi.

    Citation Envoyé par arrow34 Voir le message
    Ensuite, justement s'il y a d'autre choses dans sa façon de faire qui est "généralement" déprécié ou "à évité" j'aimerai autant le savoir, histoire de ne pas prendre de mauvaise habitudes
    ça peut être un long débat , il y a pas mal de chose a évité en C mais aussi quelque bonne pratique a adopté , comme ça a froid y'a pas beaucoup de chose qui me vienne a esprit a part le goto et les variables global (mais ils peuvent être très bien utilisé , mais pour débuter il faut mieux se l'interdire pour avoir des bonnes habitudes).
    Après il y a la propreté du code qu'il faut prendre en compte ect.


    Citation Envoyé par arrow34 Voir le message
    Kannagi je me penche tout de suite sur la gestion avec le for; On est d accord, c'est pour le input, à la place du switch? Plus rapide?
    Ben ce n'est pas forcément plus rapide , mais disons que faire plusieurs case ,alors qu'on peut faire un for a la place, surtout si on veut gérer les + de 150 touches de son claviers (après rien n’empêche de faire + de 150 case/break mais c'est pas très propre comme méthode).

    Citation Envoyé par arrow34 Voir le message
    D'accord pour les fonctions, bien que ce soit justement pour ça que je m’appuie énormément sur ce tuto, parce que tout seul, mon main devient horrible et tout devient beaucoup plus long à faire.. Du coup j'ai apprécié prendre exemple sur des fonctions courtes et relativement parlantes a default d'être (pour toutes) réutilisables..
    Bah je vais dire que c'est le souci quand on débute en autodidacte , mais il est vrai que créer des fonctions quand on débute c'est difficile , je me souviens que j'avais passé plusieurs mois a programmer pour bien maitriser le paradigme procédural et fonctionnel , grosso modo je m'entrainais plus a créer des fonction que a faire une appli/jeu vidéo fonctionnel.

    Citation Envoyé par arrow34 Voir le message
    Mes premiers tests de collisions sont en effet un peu décevants.. Mais je compte peaufiner ça moi même plus tard. (Si j'arrive a remettre la main sur mes anciens cours de physique parce que là les vecteurs (sur la toile) j'y ai rien compris!! Il me semble que mes cours étaient bien foutus.. on verra)
    Pour un jeu 2D le niveau ne demande pas vraiment un niveau de physique très complet , mais idée est que si tu fais les déplacements en dur , il te sera très difficile pour toi de savoir comment s'est fait la collision et donc le code sera encore plus complexe , si tu fait un vecteur idée et de dire que normalement tu te déplace de 2 x après quelque test de collision tu te dis que non il faut se déplacer de 1 x et a la fin tu déplace ton perso de 1x.
    Alors que si tu le déplaçais de 2x directement , il vaudrais que tu fasse un -1x , mais le test de collision sera plus complexe parce que tu ne sais pas qu'il faut faire -1x (vu que tu ne sais pas quel était ancienne position du perso , sauf si t'enregistre l'ancienne position du perso , mais la ça revient a faire des vecteurs mais avec un casse tete/code en plus).


    Citation Envoyé par arrow34 Voir le message
    "Animations pas complètes", c'est dans la façon de faire? (genre selon input et état actuel on change l'etat et on initialise l'anim correspondante) ou plutôt dans ces images anims que tu ne trouves pas ça top?
    Parce que si c'est à cause du design, toutes les images sont (seront pour la plupart :p) de moi, et les anims seront plus détaillés.
    Non pour les animations il faut savoir gérer 2 choses outre de passer une image a une autre , il faut savoir mettre en place une sorte de cadence de animation (afficher plusieurs fois avant de passer a la suivantes) sinon ton animation sera trop rapide , puis après un code pour soit que l'animation soit une boucle ou non.
    Je rajouterais aussi que il faut penser a faire un code simple pour passé d'une animation a une autre (et donc réinitialisation de certaines variables si animation change).

  6. #6
    Expert éminent sénior
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 803
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 803
    Points : 32 058
    Points
    32 058
    Par défaut
    Pour rajouter une couche sur les variables globales, elles ont tendance à "baver" sur les autres composants. Je ne connais pas le C/C++, mais dans les langages que j'ai pratiqué(COBOL, VB, C#), j'ai eu tendance à créer des objets(ou structures pour les langages non objet) "sommet"(par exemple, dans un jeu de conquete de la galaxie, un objet "galaxie") qui contient les éléments complétement généraux. Ca permet de faciliter les tests automatiques(autre raison de fuir les "static" comme la peste), et de garantir que la donnée est toujours traitée au niveau qui convient.

    Pour le goto, il y a deux écoles. (1) complètement interdit. (2) autorisé seulement sous la forme d'un "goto finDeParagraphe". J'ai pratiqué la 2, mais je glisse de plus en plus vers la 1.
    Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
    1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
    2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
    3)le temps de comprendre toutes les exigences, le projet est terminé
    4)le temps de terminer le projet, les exigences ont changé
    Et le serment de non-allégiance :
    Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.

  7. #7
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 4
    Points : 10
    Points
    10
    Par défaut
    Bonjour!

    Tout d'abord, encore un fois, merci Kannagi pour ton temps et tes réponses. Et merci el_slapper pour tes précisions.

    J'ai mis sur pause le projet de mon jeu mais pour de bonnes raisons! (Je pense) dont la principale est que je souhaite mieux comprendre les mécanismes du langage et de la programmation en général (paradigme, norme, méthodologie...) avant de me lancer vraiment dans la réalisation d'un projet.

    En gros, je me rend compte que ce que je fais est (pseudo-)fonctionnel mais relativement immonde =D!

    Donc voilà, je ne pense pas revenir sur cet embryon de topic, mais en ouvrirai certainement d'autres, parce que des questions, j'en ai!

    Encore Merci!

Discussions similaires

  1. Delphi appliqué pour un jeu de plateforme
    Par Tsukaasa dans le forum Delphi
    Réponses: 2
    Dernier message: 30/01/2007, 22h00
  2. Aide pour créer jeu de figurine (Windows)
    Par Nezzarathon dans le forum Développement 2D, 3D et Jeux
    Réponses: 1
    Dernier message: 03/11/2006, 19h53
  3. réalisation d'un chat-jeu de plateforme 2d
    Par Dr Gang dans le forum Flash
    Réponses: 3
    Dernier message: 13/09/2006, 17h21
  4. Réponses: 4
    Dernier message: 02/08/2006, 19h02
  5. [FLASH MX2004] Correctif jeu de plateforme
    Par sourivore dans le forum Flash
    Réponses: 6
    Dernier message: 18/05/2006, 16h41

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