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 :

Comment créer un flipper en C++ et OpenGL ?


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 27
    Points : 22
    Points
    22
    Par défaut Comment créer un flipper en C++ et OpenGL ?
    Bonjour,
    je ne sais pas si je pose ma question au bon endroit, j'espère que vous me redirigerez si je fais une erreur.
    Voici mon problème.
    Je dois faire un flipper en utilisant C++ et OpenGL, mais je ne sais absolument pas comment tout va communiquer.
    Avec mon binôme nous avons défini différentes classes telles que bumper, bille, plate-forme, mur (les limites de la fenêtre), ...
    Mais je ne vois pas comment tout va se combiner. Comment le C++ et l'OpenGL vont s'entremêler?
    Pour l'instant, ce que j'imagine c'est qu'à chaque action, il va falloir réafficher la scène, par exemple, lorsque la bille va toucher un bumper, on va appeler la fonction qui va faire vibrer le bumper, donc il faudra déplacer ses coordonnées, puis le réafficher. Ensuite il va falloir calculer la nouvelle direction de la bille , et donc encore réafficher la scène. Est-ce que cela va réellement se passer comme ça?
    Merci de m'aider, car je me sens un peu perdue là.

  2. #2
    Expert confirmé
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 524
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 524
    Points : 5 184
    Points
    5 184
    Par défaut
    Bonjour, en cherchant un peu sur le forum vous pourrez trouver de nombreuses informations en relation avec les questions que vous vous posez.

    Comme il est souvent conseillé avant de s'attaquer à la création d'un jeu 3D, faites vous la main sur un petit jeu 2D : pong ou flipper pourquoi pas, afin de comprendre les mécanismes liés à la conception d'un jeu.

    Il y a également des articles créés par les rédacteurs bénévoles de developpez.com, par exemple :
    Programmation de Jeux 2D: Un pong en SDL/OpenGL
    Architecture d'un jeu vidéo 3D
    Réalisation d'un moteur 3D en C++
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  3. #3
    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 ~~ Lu ~~ Voir le message
    Mais je ne vois pas comment tout va se combiner. Comment le C++ et l'OpenGL vont s'entremêler?
    Pour l'instant, ce que j'imagine c'est qu'à chaque action, il va falloir réafficher la scène, par exemple, lorsque la bille va toucher un bumper, on va appeler la fonction qui va faire vibrer le bumper, donc il faudra déplacer ses coordonnées, puis le réafficher. Ensuite il va falloir calculer la nouvelle direction de la bille , et donc encore réafficher la scène. Est-ce que cela va réellement se passer comme ça?
    Open GL n'est que la couche finalle de rendu graphique c'est tout...
    il faut apprendre à créer ou charger des meshes 3d et les afficher...
    dans un jeu il y a toujours une boucle de rendu ( même avec Direct 3 d c'est pareil ) ; l'API de rendu s'occupe de calculer les transformations et projections 3D nécessaires pour les afficher à l'écran, ceci pendant x millisecondes ( qui dépendent du matériel ) .

    Donc pour un jeu de flipper il y a à déterminer le comportement des entités, la trajectoire de la balle tout cela c'est de l'algorithmie qui n'a pas forcément grand chose à voir avec Open GL...
    Open GL cela sert uniquement à dire : affiche moi, le bumper affiche-moi la balle (avec les transformations, calculs sur les matrices nécessaires cela va de soi )
    Comme le dit Shenron , voir les tutos ou bien faire des croquis sur papier et élaborer les algos...
    on peut très bien concevoir mentalement le jeu en 2d , la représentation en 3D n'est qu'une dimension supplémentaire...

    orsque la bille va toucher un bumper, on va appeler la fonction qui va faire vibrer le bumper, donc il faudra déplacer ses coordonnées
    gestion de collision ; tu peux prendre Bresenham pour la trajectoire ou s'en inspirer ou adapter l'algorithme de Bresenham....
    mais Open GL n'a pas grand chose à voir la dedans...
    je conseille toujours de séparer au max les appels à l'API graphique et le reste du code...

Discussions similaires

  1. Réponses: 8
    Dernier message: 07/04/2015, 19h48
  2. [FLASH 5] Comment créer un lien hypertexte
    Par ajit dans le forum Flash
    Réponses: 4
    Dernier message: 30/03/2006, 12h26
  3. Comment créer un nouveau dossier par programmation ?
    Par annecyrond dans le forum Langage
    Réponses: 3
    Dernier message: 27/03/2003, 07h59
  4. Comment créer et executer un .EXE
    Par maher12 dans le forum Flash
    Réponses: 3
    Dernier message: 26/09/2002, 08h33
  5. [] [Stratégie] Comment créer un fichier log
    Par Skeezo dans le forum Installation, Déploiement et Sécurité
    Réponses: 4
    Dernier message: 16/09/2002, 18h30

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