Développement de Jeux Vidéo multi-platforme et Logiciels LibresDate de publication : 05/05/2004 , Date de mise à jour : 29/12/2004
Par
David Henry (Autres articles) Cet article est une introduction au développement de jeux vidéo multi-platforme (GNU/Linux, MacOS, Windows, etc.), libre (Open Source) ou non, à l'aide de logiciels et de bibliothèques libres et disponibles gratuitement. Dans chaque domaine seront présentés les logiciels libres disponibles, les bibliothèques et les formats de fichier à préférer. Ce petit guide présente également les diverses licences libres que vous pourrez utiliser pour protéger les données de votre futur jeu. 1. Programmation 1.1. Les logiciels 1.2. Les bibliothèques à utiliser 1.3. La licence GPL 2. Graphismes et modélisation 3D 2.1. Les logiciels 2.2. Les formats de fichier 2.3. La licence 3. Level Design 3.1. Les logiciels 3.2. Les formats de fichier 4. Ambiance sonore 4.1. Les logiciels 4.2. Les formats de fichier 4.3. La licence 5. Documentation 6. Moteurs de jeux libres 7. Conclusion 1. Programmation1.1. Les logicielsEn ce qui concerne la programmation, il vous faut un simple éditeur de texte ASCII et un
compilateur. Pour le compilateur, GCC (GNU Compiler Collection) est certainement le
plus populaire et supporte une grande variété d'architectures et systèmes d'exploitations.
Développée pour le projet GNU, c'est
une suite de compilateurs en ligne de commande (avec des Makefile), mais il existe
aussi des IDE(1) comme
KDevelop (GNU/Linux) ou Dev C++ (Windows). Les langages supportés sont le
C, C++, Objective C, Fortran, Java, et l'Ada. Pour du code natif Windows le portage de GCC
est MinGW. Site web de GCC : http://gcc.gnu.org/. L'éditeur de texte peut-être n'importe quel éditeur de texte pouvant enregistrer du texte
brut (ASCII), avec coloration syntaxique de préférence : Emacs,
VIM, etc. 1.2. Les bibliothèques à utiliserDévelopper un jeu multi-platforme signifie qu'il doit utiliser des bibliothèques multi-
platformes, donc pas de DirectX. Voici les grosses bibliothèques utilisées pour
développer des jeux vidéo :
1.3. La licence GPLLa meilleur licence libre pour protéger le code de votre jeu et de ses outils est la
GPL (General Public Licence). C'est une licence copyleftée
qui assure à l'utilisateur quatre libertés fondamentales :
Concrètement, cette licence vous oblige à laisser le code source du programme disponible,
permet à quiconque de le modifier et de le redistribuer (modifié ou pas) à condition que le
programme reste sous licence GPL (principe du copyleft). Le code possède un copyright à votre
nom et personne d'autre que vous ne pourra en changer la licence. Attention à quelques amalgames qu'il ne faut pas faire. Libre ne signifie pas gratuit ! Un
logiciel libre peut être vendu. Un logiciel libre n'est pas un freeware (un freeware
ne peut pas être modifié). Un logiciel libre n'est pas dans le domaine public. Il existe d'autres licences libres plus ou moins similaires que certains logiciels présentés
ici sont susceptibles d'être sous l'une d'entre elle, je vous invite à les regarder vous-même. 2. Graphismes et modélisation 3D2.1. Les logicielsPour la création de textures et autres images 2D de votre jeu, le logiciel libres et
multi-platformes de dessin et de retouche d'images numériques qui vous sera nécessaire
est The Gimp. Vous le trouverez sur
http://www.gimp.org/. En ce qui concèrne la modélisation 3D, c'est avec Blender que vous
devrez faire ! Même si son interface est un peu austère aux premiers abords, il n'en reste
pas moins un puissant logiciel de création 3D. Voir
http://www.blender.org/. Autre logiciel de modélisation 3D libre : Wings3D. Il est plus
« simpliste » que Blender et ne gère pas les animations, mais est facile à prendre
en mains. Pour des petits travaux par exemples.
http://www.wings3d.com/. 2.2. Les formats de fichierPour vos images et textures, privilégiez les formats PNG et
JPG. Le premier, qui était avant tout une alternative au format
GIF, possède une des meilleurs compression non destructive, gère aussi bien des
images indexées avec palette (8 bits) que des images RGB 24 bits avec un canal alpha pour
la transparence. Le format JPEG lui peut obtenir une meilleur compression, mais au détriment
de la qualité de l'image (utilisez une faible compression). À vous de voir quelles images
ne doivent pas perdre en qualité. Ces deux formats d'images peuvent être facilement manipulé grâce aux bibliothèques libres
libpng et libjpeg qui vous épargneront quelques tâches
laborieuses. Également, la bibliothèque SDL_image permet de lire ces
formats, ainsi que d'autres, très facilement. Pour la 3D, il n'existe pas vraiment de format universel. Vous pouvez en adopter des déjà
existant suivant vos besoins ou vous recréer un format propre à votre jeu. Il vous faudra
alors programmer des plugins ou des outils de conversions/compilation. 2.3. La licenceIl existe aussi plusieurs licence libre spécifique pour les œuvres numériques (mais
aussi non numériques), comme la Licence Art Libre et les licences
Creative Commons. Ce sont des licences qui reconnaissent et protège les
droits d'auteur. Basé sur le droit de disribuer, modifier et du copyleft, ce sont
en quelque sorte « les GPL des œuvres d'art ». Vous trouverez plus détails à son sujet sur
http://artlibre.org/licence.php/lal.html
pour la LAL et sur http://creativecommons.org/
pour les différentes licences Creative Commons. 3. Level Design3.1. Les logicielsPour la création de niveau, il n'existe pas vraiment de logiciel « généraliste ». Pour
certains jeux vous pouvez utiliser GtkRadiant
(http://www.qeradiant.com/?data=editors/gtk),
ou bien en les modélisant dans Blender puis en les convertissant vers un format
propre à votre jeu. Sinon, il vous faudra développer vos propres outils d'édition de niveau. 3.2. Les formats de fichierLà il vous faudra sûrement inventer un format spécifique à votre jeu. Vous pouvez partir
d'un format classique (par exemple .map) puis le convertir (ou le compiler) dans votre
propre format à partir d'outils que vous aurez développé. 4. Ambiance sonore4.1. Les logicielsIl existe plusieurs logiciels d'édition audio libres :
4.2. Les formats de fichierPour les sons de bruitages, vous pouvez simplement utiliser des fichiers au format
WAV. Pour les musiques, utilisez plutôt le format Ogg Vorbis
que le format MP3. Celui-ci possède un meilleur compression et ne posera pas
d'ennuis au niveaux brevets... La bibliothèque SDL_sound permet de
décoder tout un tas de formats audios de manière simple. 4.3. La licenceLes mêmes licences que pour le domaine du graphisme, la LAL ou une
des licences Creative Commons, peut être appliquée à vos productions,
ou bien vous pouvez créer une licence libre spécifique à vos sons et musiques suivant
les libertés que vous voulez accorder. 5. DocumentationLa documentation a aussi une part importante, notamment pour un logiciel libre. Il
est préférable donc de documenter les outils que vous avez développé pour faire des
conversions/compilations entre différents formats de fichiers. Vous pouvez également
documenter le code propre du jeu si une autre équipe veut le reprendre et le modifier,
ou même tout simplement pour les autres programmeurs de votre équipe. La Free Software Fondation a également créé une licence libre pour tout ce qui
concerne la documentation : la FDL (Free Documentation
License). C'est aussi une licence sous copyleft, donc tout produit dérivé
doit garder cette même licence. Une adaptation française non officielle est disponible
sur http://fr.wikipedia.org/wiki/FDL. 6. Moteurs de jeux libresIl existe déjà une multitude de moteurs de jeux et de moteurs graphiques libres
que vous pouvez (ré)utiliser. Parmi eux :
Vous pouvez trouver une liste plus complète sur
3dengines.de. 7. ConclusionVoilà, ce petit guide de démarrage pour la création de jeux vidéo libre et à l'aide de
logiciels libres s'achève ici. Vous pourrez également trouver d'autres logiciels libres
portés sous Windows sur http://gnuwin.epfl.ch/. Pour
les licences, je vous recommande
d'aller
voir sur le site gnu.org. Et n'oubliez pas, google est votre ami !
Version PDF : télécharger (37.4 Ko)
|