J'ai 2 questions, la 2e est plus une sorte de question d'opinion.
1ère question:
Tout le monde a entendu parler de panda3d, OGRE et IrrLicht: ce sont d'excellents moteurs, avec beaucoup de fonctionnalités. Avec OGRE, vous pouvez faire presque tout ce que vous pouvez imaginer si vous venez d'apprendre le moteur, avec Irrlicht, vous pouvez faire beaucoup, mais le moteur est un peu plus convivial pour les débutants et léger. Panda3D est également génial, python facilite les choses, mais beaucoup de choses sont également réalisables.
Avant la nouvelle ère de programmation apportée par l'évolution du C ++, les jeux 3D qui devaient être exécutés sur des machines lentes étaient programmés en C, mais depuis, nous poussons tous les jours les transistors vers de nouvelles limites, oubliant à quel point il était horrible de programmer des jeux en le "vieux temps". D'accord, ce n'était peut-être pas horrible, mais comme la programmation 3D est compliquée à faire en 2D et que la plupart des moteurs prennent en charge des éléments brillants comme les shaders, le gestionnaire de scène, les nœuds de scène, NURBS, les ombres, les animations, etc., il n'y a pas de moteur ou de rendu 3D simple qui conviendrait aux personnes qui en ont assez avec de la 3D simple, sans textures ou simplement des textures vraiment simples?
Depuis que j'ai entendu "ne pas réinventer la roue", je suis sûr que c'est un peu trop d'apprendre à faire un moteur complet en utilisant D3D ou opengl, et puisque j'apprendrai D3D ce prochain dans une école de programmation 3D, je pensais qu'avec tous les moteurs gratuits, il devait y en avoir un qui correspondait à mes besoins.
2ème question:
Depuis le bon vieux temps de la PlayStation, je vois toujours l'arrivée de graphismes haute définition (comme la 360, la PS3) comme une peste: il est toujours plus difficile d'apprendre à programmer des logiciels plus sophistiqués, c'est difficile et donne un résultat satisfaisant , mais au final, c'est toujours un programme stupide qui rend les pixels!
Je pense que le plaisir dans les jeux n'a pas du tout évolué ou a vraiment chuté par rapport à l'ancien temps où les gars qui fabriquaient le jeu n'étaient pas nécessaires pour simplement nourrir l'œil du joueur, mais étaient censés donner une expérience et du plaisir.
Je pense que de nos jours, les jeux ne sont que des logiciels qui montrent la technologie disponible, mais à part quelques perles, les jeux ne sont plus des idées, ils sont juste une sorte de démonstration de la façon dont les dollars investis peuvent briller en beauté sur le PDG qui ne connaît pas la merde comment un jeu est fait et ce qu'il est vraiment possible de faire.
Eh bien sauf les jeux indépendants bien sûr qui brilleront un jour ou l'autre grâce à la XBox Live et Steam, mais c'est loin de permettre aux programmeurs et designers de faire ce qu'ils veulent. Je ne dis pas "sociétés maléfiques", etc., mais je sens que le réalisme photo est juste une déception: même si nous avons des milliers de puissance informatique de plus, quel est le point à essayer: nous ne pouvons pas vraiment "simuler la réalité", car il contredit les lois de la physique ... On pourrait calculer une réalité alternative, mais ce serait quand même très compliqué à concevoir ...
Réponses:
Du côté d'OpenGL, je pense que Horde3D mérite d'être mentionné. Il n'est peut-être pas aussi convivial pour les débutants car il n'offre pas beaucoup d'outils GUI comme le fait le SDK Unreal, mais cela le rend très léger. Surtout, je pense que c'est super pour apprendre.
Horde vous apprend à être très organisé avec votre code. Il utilise XML pour les données (maillages, shaders, graphiques de scène, etc.) et C ++ pour le contrôle.
J'aime le fait que ce ne soit pas un "moteur de jeu". C'est un moteur de rendu 3D qui gère l'abattage, les niveaux de détail, la foudre, l'animation, etc., mais vous laisse toute la logique du programme.
Comme l'a dit bummzack, chaque moteur vous permettra de faire des trucs de base sur les polygones. Mais comme vous êtes sur un chemin d'apprentissage, vous voudrez peut-être apprendre un moteur qui vous permettra également d'aborder des sujets plus complexes à l'avenir.
la source
Eh bien, je vais essayer ça.
Concernant votre première question, je vous recommande de tout cœur SDL . Ce n'est pas un moteur de graphe de scène, et tous vos graphiques seront réalisés avec OpenGL, mais il gère les éléments essentiels pour vous, tels que la création d'une fenêtre, la configuration du contexte OpenGL, la réception d'entrée et la lecture audio. Je ressens absolument votre douleur en ce qui concerne les moteurs 3D, et j'ai trouvé mon étude d'OpenGL assez intéressante et difficile. J'ai personnellement migré vers Java, en utilisant LWJGL (ou JOGL si vous préférez), car j'aime le langage de plus haut niveau et l'utilisation d'applets, et Java gère également la création de fenêtres, la saisie, le son, etc. pour vous.
Cependant, le fait que vous allez bientôt apprendre DirectX peut signifier que vous devriez vous concentrer sur cela. Je ne connais pas d'équivalent à SDL pour DirectX, mais je crois que DirectX a de nos jours des fonctions d'assistance qui vous permettent d'être opérationnel assez rapidement. Malheureusement, je ne sais vraiment pas grand-chose sur DirectX, je ne peux donc pas parler de détails. Mais je vous recommande de l'essayer.
Oui, c'est trop. Et je le vois tout le temps. Ne faites pas de moteur; faire un jeu. Ne vous laissez pas prendre à créer des tas de classes contenant du code non testé et inutilisé et appelez-le une "bibliothèque" ou un "moteur" car il s'agit plus probablement d'un "gâchis théorique". Faites simplement ce que vous devez faire pour créer un jeu.
Votre deuxième "question" n'est qu'une observation, et une déprimante et (à mon avis) très erronée. Il y a certainement de mauvais jeux, des jeux riches en graphiques avec peu de gameplay. Les jeux de films me viennent à l'esprit, car ce sont souvent ceux qui ne sont pas si géniaux. Mais les graphismes et le gameplay ne s'excluent pas mutuellement . En lisant votre diatribe, je me demande presque si vous avez joué à des jeux récemment; il existe une grande variété de choix et je suis sûr qu'il y a quelque chose pour vous. Mais je ne vois pas du tout pourquoi de beaux graphismes impliquent un mauvais gameplay. Et si vous êtes complètement contre les graphismes sophistiqués, il y a encore des jeux pour vous. Vous pouvez même aller sur eBay et acheter un ancien système et de vieux jeux à bon marché.
Le plus drôle, c'est que je serais prêt à parier que cette opinion existe depuis très longtemps maintenant, à travers les dernières générations de consoles. Je suis sûr que les gens ont regardé la Nintendo 64 quand elle est sortie et pensaient la même chose: de superbes graphismes (pour l'époque) = mauvais gameplay. Et il y avait de bons et de mauvais jeux N64. Et puis je sais pertinemment que les gens s'inquiétaient de ce genre de chose à l'époque du Gamecube, de la PS2 et de la Xbox. Heck, je me suis assis et j'ai regardé les jeux pour Xbox faire exactement cela. Il y a donc toujours de bons et de mauvais jeux, et vous devez simplement vous calmer, prendre une profonde respiration et aller trouver des jeux qui vous plaisent. Il y aura toujours des jeux à chaque extrémité du spectre; des jeux en basse résolution auxquels vous ne pouvez pas vous arrêter des années plus tard (CounterStrike 1.6?) et des jeux en haute résolution qui sont des flops totaux.
Et oui, il y en aura toujours plus, car les graphismes sont plus faciles à lancer que les bonnes idées de gameplay . Leur existence n'enlève rien à l'existence des bons jeux, ni ne réduit leur nombre. Ils donnent simplement aux concepteurs plus de preuves de ce qu'il ne faut pas faire lors de la conception de leur prochain jeu. Est-ce une si mauvaise chose?
la source
Si vous ne voulez pas tous les avantages (et ballonnements?) D'un moteur 3D, pourquoi ne pas utiliser GLUT ?
Je pense que les SceneManagers et autres ajoutent en fait à la convivialité d'un moteur 3D au lieu de compliquer les choses.
Vous pouvez faire un rendu très basique (pas de textures, pas de shaders) avec tous les moteurs 3D que vous avez mentionnés. Certains d'entre eux ont même une architecture modulaire (Plugin) afin que vous puissiez réellement supprimer tout ce dont vous n'avez pas (actuellement) besoin.
À mon humble avis, il n'y a pas de moteur 3D convivial pour les débutants ni même de structure / bibliothèque adaptée aux débutants . Vous devrez toujours apprendre et vous habituer à un progiciel en premier. Il me semble que vous essayez de sauter cette étape :)
la source
une. SDL (Simple Direct Layer) Dispose d'un moteur de rendu 3D assez simple et extensible qui est open-source. Cependant, C ++ est efficace, c'est une courbe d'apprentissage abrupte.
b. sdlbasic est un petit interpréteur BASIC efficace et multiplateforme pour créer des jeux en utilisant la puissance de la bibliothèque SDL. Il a été inspiré par l'ancien et glorieux AMOS. - il se trouve dans le référentiel Ubuntu et probablement dans d'autres aussi.
c. ?
une. Je suis d'accord avec vos sentiments bien que les "jeux occasionnels" comme les puzzles 2D et les jeux d'amusement faciles à vivre en ligne et comme les packs de collection semblent avoir acquis plus de biens immobiliers sur le marché des jeux que le type intensif en matériel simplement en raison de la nature pratique d'un jeu. avec de faibles exigences système. il serait bon de voir un peu plus de créativité dans les substrats inférieurs de l'hémisphère inventif des créations 3D de games world inc.
la source