8
votes

Je veux faire un jeu 3D simple utilisant OpenGL, où devrais-je commencer?

Je trouve que j'apprends mieux par exemple. Existe-t-il un bon site Web ou de la base de code qui montre comment la manipulation des événements, la détection de collision, la modélisation et le dessin de base 3D fonctionne?

Le jeu que j'essaie de commencer est un jeu de course simple où l'utilisateur contrôle un petit navire spatial et navigue à travers des canaux, des champs astéroïdes, des colonies spatiales et divers autres obstacles (je connais, d'origine réelle). Le mouvement est en 3 dimensions. Le jeu devrait savoir quand la navette frappe un obstacle. Voilà sont pistes définies car il y a dans la plupart des jeux de course (circuits et chemins linéaires).

Appuyez sur la touche fléchée pour faire pivoter le vecteur de direction de manière appropriée. En outre, le navire doit utiliser quelque chose comme un après-brûleur lorsque l'utilisateur appuie par exemple la barre d'espace, par exemple. Mouvement de haut en bas est également une option.


2 commentaires

Avez-vous déjà Google pour "OpenGL Tutorial"?


@Jesper il n'a probablement pas mais j'ai déjà Google pour "jeu facile à OpenGL" et est venu ici.


11 Réponses :


3
votes

Ne pas connaître votre niveau de compétence initial, je vous suggère de jeter un coup d'œil à ogre3d . Il s'agit d'un moteur de rendu 3D complet qui possède une interface vraiment propre pour fonctionner, facile à prolonger et le meilleur de tous, c'est assez multiplateforme fonctionnant sur Windows, Linux et Mac OS X. Les exemples et les didacticiels fournis sont assez expliqués. < / p>

Si vous souhaitez écrire votre propre moteur OpenGL uniquement à partir de zéro, Ogre3D peut ne pas être le chemin de suivi ...


0 commentaires

4
votes

Si vous voulez apprendre OpenGL, je vous recommande de commencer par " OpenGL Red Book " , puis en regardant échantillons de Nehe . Le livre rouge est libre au moins dans le format HTML en ligne, il existe également des PDF téléchargeables autour.

Cependant, Red Book and Nehe vous apprendra principalement à utiliser OpenGL; Les jeux d'écriture sont de l'art, et il y a beaucoup trop à expliquer, beaucoup trop à apprendre, et beaucoup trop à lire à ce sujet. Voici juste une pointe.

Ceci est la structure de base de la plupart des jeux. Espérons que cela aide avec les bases. Bien sûr que ce n'est pas un jeu complet, ne fonctionnera pas et dépend fortement de la façon dont vous faites des choses, mais cela devrait vous donner une idée de base. xxx


0 commentaires

2
votes

Nehe

Ce site a aidé plus que tout quand j'apprendais OpenGL.


0 commentaires

1
votes

Je ne sais pas combien d'expérience de programmation de jeu que vous avez, mais je commencerais avec quelque chose d'un peu plus limité.

Commencez par un jeu de carreaux 2D (Sokoban, etc.) - ils sont relativement faciles à écrire - quelque chose où les objets sont toujours exactement sur une tuile, qui rend les choses assez triviales.

Une fois que vous avez les principes de cette, la boucle de jeu, la synchronisation, le traitement des entrées utilisateur, le modèle de données, le rendu, etc., vous pouvez faire quelque chose de plus impliqué.

Ensuite, vous pouvez essayer quelque chose comme des "astéroïdes" qui aura besoin de mathématiques de vecteur 2D, modèle d'intertia (c'est-à-dire intégration) éventuellement un peu de trigle. et un système de collision basé sur des carreaux.

Une fois que vous avez léché, vous pouvez essayer quelque chose 3D - ce qui rend les choses plus compliquées à nouveau, maths-sage.


0 commentaires

1
votes

Je regarderais autour de www.gamedev.net , il contient des excellents tutoriels Pour les débutants et dans les forums, vous trouverez une grande information sur tout sujet lié à la programmation des jeux.


0 commentaires

3
votes

Quelques notes, dont certaines ont déjà été déclarées:

  • Le RedBook OpenGL . Un excellent endroit pour commencer. Le livre a vu plusieurs révisions. La version en ligne gratuite est donc un peu datée par comparaison.
  • gamedev.net . Ils sont une ressource merveilleuse pour les développeurs de toutes expériences, et ils ont beaucoup de personnes talentueuses sur les forums. Ils ont répondu à la question: "Je veux faire une partie, où puis-je commencer?" Beaucoup, beaucoup fois.
  • Je ne recommande pas Nehe. Je trouve que les tutoriels là-bas, plus souvent que non, confondre un néophyte. Les tutoriels montrent "comment", mais font très peu pour expliquer le crucial pourquoi .

    Le développement du jeu est une énorme discipline multiforme. Il est difficile même si vous avez des compétences de mathématiques et de programmation très solides.

    Deux conseils:

    • commencer petit. Commencer petit. Commencer petit. Vous pensez peut-être que votre objectif est assez modeste, mais cela impliquera beaucoup plus que vous imaginez.
    • Évitez la tentation de couper et de coller un code d'exemple. Vous vous tromperez de la compréhension cruciale.

0 commentaires

0
votes

Oui, recherchez des tutoriels en ligne. Oui, traînez à gamedev.net. Oui, Nehe est confus et spécialisé.

Pour OpenGL, je combinerais le Capacité de OpenGL SuperBible à en faire un conscience du contexte et Possibilités de OpenGL avec une bonne recherche Google à l'ancienne.

Cela aide également à connaître quelqu'un qui peut vous aider de temps en temps. GameDev.net a des salles de discussion et les gens sont sympathiques.


0 commentaires

1
votes

Tout d'abord, vous devriez penser à la structure de votre code. Chaque match a déjà une variation des éléments suivants:

int main()
{
   Screen::Init();
   Game::Init();

   while (Game::isrunning)
   {
      Game::Update();
      Screen::Render();
   }

   Game::Shutdown();

   return 0;
}


0 commentaires

0
votes

Si vous voulez OpenGL mais avec la simplicité de Python - qui pourrait être agréable de comprendre le principe de l'API au début - consultez les wrappers: http://pyopengl.sourceforge.net/

Ils sont compatibles avec la dernière version de OpenGL et leur développement est assez actif.


0 commentaires

2
votes

Je dois faire un avertissement pour utiliser Nehe parce que beaucoup de gens l'ont recommandé. (Vous n'avez pas de compte pour faire des commentaires, désolé)

Principalement parce que cela ne montre que comment faire des choses avec le pipeline fixe au lieu des shaders. Les premiers couple de tutoriels pourraient être oks pour obtenir un kickstart de comment obtenir quelque chose à l'écran. Mais ne perdez pas votre temps avec, par exemple, apprenez à activer l'alpha mélange et à la configuration de l'éclairage pour le pipeline fixe, car si vous voulez faire quelque chose qui ne ressemble pas à un jeu de 1999, vous devrez releverner comment faire Tout ce genre de choses encore mais avec des shaders. Mieux vaut apprendre la nouvelle façon de l'imo de début.


0 commentaires

2
votes

Premièrement, je ne recommande pas d'utiliser OpenGL pour votre premier match, surtout si vous n'avez jamais programmé auparavant. Vous devez considérer vivement les méthodes plus récentes et plus faciles comme XNA avec C #.

Deuxièmement, comme OpenGL, XNA dispose également d'un grand nombre de tutoriels sur Internet, ce qui, je crois, vous trouverez très utile.

Si vous n'avez jamais fait de programmation auparavant, je vous recommande comme un projet de départ, vous devriez essayer de créer un jeu très simple comme Pong ou Tic Tac Toe. Je pense que vous aurez une bonne idée du développement de jeux en général. À partir de là, vous pouvez commencer votre projet réel de l'expérience que vous avez gagnée en créant des pong.

Enfin, le principal conseil que je peux vous donner comme vous l'aventure sur votre quête est de ne jamais abandonner quels sont les obstacles auxquels vous êtes confrontés à la création de votre jeu.

bonne chance! ^^


0 commentaires