Journal : Développer des jeux vidéos sous Linux ?
Posté par Martyanoff Nicolas (Jabber id, page perso, ) le 17 avril 2005
Bonjour,
Me posant de nombreuses questions concernant la programmation de jeux vidéos sous linux, je me suis décidé à rédiger un petit journal sur DLFP. A l'origine, je codais sous Windows. Fana de jeux vidéos, je me suis vite tourné vers leurs programmation, découvrant avec étonnement et motivation un monde absolument énorme. J'ai vite abordé DirectX, et j'ai été enthousiasmé par les possibilités offertes par cette API.
Mais quand je suis passé sous Linux, il m'a fallut me tourner vers autre chose. Après pas mal de recherches, de tatonnements avec glut, DevIL, et autre joyeusetés, j'ai découvert SDL (doooh, c'est chouette, c'est simple, et ça fait plein de choses), et OpenGL. Pour ce dernier, c'est autre chose. Je découvre avec déception une API certe stable et plutôt simple d'accès, mais... en C ! Quoi, pas de prog OO pour une API servant à coder des jeux vidéos ?
Et puis zut alors, c'est quoi cette histoire d'extensions ATI/NV/ARB ?
Bon, d'après les screens que j'ai vu sur le net, on peut faire des choses trèèèèès jolies en OpenGL, mais quand même, du C... Je sais, le C c'est très bien, on a codé le kernel avec, mais bon, quand même...
Actuellement, ma grosse motivation est que si Carmack a pu coder Doom 3 en OpenGL, c'est que ça doit marcher plutôt bien, mais alors Doom 3 est en C ? Ou alors tout est encapsulé. Et puis il utilise quoi, le monsieur, pour gérer les inputs, les sons, les vidéos, le réseau ? Pas SDL que je sache.
Il y a 3 mois, je me battais pour trouver une IDE C++ graphique sous nux, et puis finalement je me suis rendu compte que je préférais vim (pas de troll merci) + console, mais j'avoue que l'absence d'interface C++ à OpenGL me dégoûte un petit peu, sinon beaucoup. Peut être que d'ici 3 mois, j'apprécierai d'avoir recours a tout plein d'extension pour gérer chaque effet. Peut être que dans 3 mois, j'apprécierai de devoir installer, configurer, et maîtriser tout pleins d'APIs pour coder un jeu.
Je veux devenir développeur de jeux vidéos, et comme j'aime Linux, je
veux développer sous Linux, mais est-ce vraiment possible, de A à Z ?
Autant d'interrogations que je ne dois pas être le seul à avoir, qui me turlupinent, parce que j'aimerais bien coder du jeux vidéo sous Nux, moi et autre chose que la 2d permise par SDL (par contre je suis objectif, la 2d sous SDL ça marche au top).
Alors, je rêve ? Je fantasme ?
Pitié, montrez-moi qu'il y a de l'espoir.
Me posant de nombreuses questions concernant la programmation de jeux vidéos sous linux, je me suis décidé à rédiger un petit journal sur DLFP. A l'origine, je codais sous Windows. Fana de jeux vidéos, je me suis vite tourné vers leurs programmation, découvrant avec étonnement et motivation un monde absolument énorme. J'ai vite abordé DirectX, et j'ai été enthousiasmé par les possibilités offertes par cette API.
Mais quand je suis passé sous Linux, il m'a fallut me tourner vers autre chose. Après pas mal de recherches, de tatonnements avec glut, DevIL, et autre joyeusetés, j'ai découvert SDL (doooh, c'est chouette, c'est simple, et ça fait plein de choses), et OpenGL. Pour ce dernier, c'est autre chose. Je découvre avec déception une API certe stable et plutôt simple d'accès, mais... en C ! Quoi, pas de prog OO pour une API servant à coder des jeux vidéos ?
Et puis zut alors, c'est quoi cette histoire d'extensions ATI/NV/ARB ?
Bon, d'après les screens que j'ai vu sur le net, on peut faire des choses trèèèèès jolies en OpenGL, mais quand même, du C... Je sais, le C c'est très bien, on a codé le kernel avec, mais bon, quand même...
Actuellement, ma grosse motivation est que si Carmack a pu coder Doom 3 en OpenGL, c'est que ça doit marcher plutôt bien, mais alors Doom 3 est en C ? Ou alors tout est encapsulé. Et puis il utilise quoi, le monsieur, pour gérer les inputs, les sons, les vidéos, le réseau ? Pas SDL que je sache.
Il y a 3 mois, je me battais pour trouver une IDE C++ graphique sous nux, et puis finalement je me suis rendu compte que je préférais vim (pas de troll merci) + console, mais j'avoue que l'absence d'interface C++ à OpenGL me dégoûte un petit peu, sinon beaucoup. Peut être que d'ici 3 mois, j'apprécierai d'avoir recours a tout plein d'extension pour gérer chaque effet. Peut être que dans 3 mois, j'apprécierai de devoir installer, configurer, et maîtriser tout pleins d'APIs pour coder un jeu.
Je veux devenir développeur de jeux vidéos, et comme j'aime Linux, je
veux développer sous Linux, mais est-ce vraiment possible, de A à Z ?
Autant d'interrogations que je ne dois pas être le seul à avoir, qui me turlupinent, parce que j'aimerais bien coder du jeux vidéo sous Nux, moi et autre chose que la 2d permise par SDL (par contre je suis objectif, la 2d sous SDL ça marche au top).
Alors, je rêve ? Je fantasme ?
Pitié, montrez-moi qu'il y a de l'espoir.
> Lire le journal (32 commentaires, moyenne: 2,7).
Vous avez demandé le commentaire #562406.



Réutiliser le code
Je ne suis pas spécialiste du sujet, mais une chose qu'elle est bien, sous GNU/Linux et (de manière plus générale) avec les logiciels libres, c'est la réutilisation du code.
Plutôt que de redévelopper un n-ième moteur, reprends ceux qui sont libres et qui existent !
On parle beaucoup de Ogre par exemple (cf http://www.ogre3d.org/(...) et http://www.ogre3d.org/wiki/index.php/Projects_using_OGRE(...) ). Ça a l'air d'être du C++ (je suppose que tu aime ça...), c'est sous LGPL et ça se veut généraliste.
Et si il te plait pas y'en a pleins, comme Nevrax ( http://nevrax.org(...) ) par exemple.
Sinon, je ne comprends pas bien ce que tu reproche au C, mais je préfère qu'on en parle pas, sinon c'est troll rasoir assuré -_^
Respect à RMS.