[LinuxFocus-icon]
Sommaire  |  Carte  |  Index  |  Recherche

Nouvelles | Archives | Liens | A propos
convert to palmConvert to GutenPalm
or to PalmDoc

[Photo of the
Author]
par Harald Radke

L´auteur:

Harry étudie l'informatique à l'Université des Technologies d'Aix-la-Chapelle, en Allemagne depuis 1997. Il a découvert Linux en 1994. Depuis lors, il découvre encore avec surprise et de façon très ludique que Linux est un excellent logiciel. Il programme un peu sous X, aime le dessin et bien évidemment il adore jouer. Ses autres occupations favorites sont : les jeux de plateau, lire des livres de science-fiction, jouer de la guitare (assez mal), cuisiner, pratiquer le Jiu-Jitsu et passer du temps avec son amie.


Sommaire:

 

L'obsession secrète de Tux - Jouer sous Linux

[Illustration]

Résumé:

Voici un bref survol des jeux disponibles sous Linux. Cet article essaye de montrer que l'OS de Tux peut faire plus que naviguer sur Internet ou traiter des données. A l'heure actuelle, il y a beaucoup de choses a découvrir à propos de Linux et des jeux.



 

Introduction

Nous connaissons tous Tux, le beau petit pingouin Linux, comme un membre actif de la communauté Internet. Beaucoup de sites web, de bases de données, de FAI et plein d'autres choses fonctionnent grâce à lui. Des programmes comme Apache, Sendmail, mySQL,..., en fonctionnant sous Linux, prouvent chaque jour que ce système d'exploitation est fiable, rapide et efficace. Récemment Tux a commencé à se faire un chemin en direction des machines de bureau.KDE, GNOME ou GIMP sont des exemples de ces logiciels dont l'utilisateur moyen à besoin pour accomplir ses tâches quotidiennes. Enfin, ceux-ci possèdent maintenant des fonctionnalités telles que des interfaces graphique attractives que la plupart des gens n'avaient même pas remarqué dans le passé. Et maintenant, il existe un autre aspect de Linux qui est de plus en plus reconnu par les utilisateurs, la presse et les sociétés : les jeux.

Cet article tente de donner une brève introduction sur cet aspect de Linux. A la fin, vous trouverez une liste de liens de référence que vous pourrez consulter pour de plus amples informations et détails à propos des jeux et des programmes mentionnés ici. Il est aussi prévu de lancer une nouvelle catégorie d'articles LinuxFocus, traitant des aspects plus ludiques. Nous avons donc besoin de vous lecteurs, pour écrire des articles sur les jeux. Si vous avez testé des jeux ou si vous êtes déjà un joueur acharné, faites partager vos expériences et vos idées en rédigeant un article.

Abuse
Civilisation: Call to Power
 

Un peu d'histoire

Les premiers jeux sous Linux étaient ceux que vous pouviez trouver sous presque n'importe quel autre Unix puisque le portage sous Linux était relativement simple. De même, les premiers utilisateurs de Linux les connaissaient grâce aux systèmes d'exploitation qu'ils utilisaient au travail ou à l'Université. Ces programmes étaient seulement les jeux simples sans ou avec peu de graphisme, rien de comparable aux jeux que l'on pouvait connaître via le DOS ou les PC sous Windows. Ces ordinateurs sur lesquels fonctionnait Unix étaient chers à équiper en matériel graphique plus performant et surtout, étaient utilisés à d'autres fins que le divertissement.

Mais venons en aux PC à la maison. Linux a trouvé un environnement relativement puissant et accessible pour afficher plus que du simple texte ou du graphisme primaire. Le développement de l'OS de Tux a continué et aujourd'hui presque tous les adaptateurs graphique sont supportés par X Window. Ainsi un environnement graphique existe pour des applications attrayantes et pour les jeux. Bien entendu, il y a également le support de la console, non seulement pour le texte mais aussi pour le graphisme. Mais la grande majorité des applications d'aujourd'hui est capable de fonctionner sous X.

Le problème des programmeurs, c'était que X est un peu complexe à programmer et l'affichage d'une simple fenêtre représentait déjà un gros travail. Donc les choses n'ont évolué que lentement. X proprement dit, utilisait beaucoup de ressources système, ce qui rendait les jeux lents et basiques. Mais comme le matériel est devenu de plus en plus performant et les prix acceptables, du logiciel plus esthétique et plus exigeant en ressources a pu être écrit. Et avec le temps, les programmeurs ont été aidés par la création de bibliothèques et d'outils de développement.

De plus en plus de constructeurs de matériel se sont rendus compte de l'importance de Linux pour un groupe croissant de propriétaires d'ordinateur, leurs clients. L'un après l'autre, ils ont commencé à fournir des pilotes, soit sous forme de binaires soit même en open source, pour leur produits: adaptateurs graphique, cartes accélératrices 3d et cartes son. Aujourd'hui, Linux fournit un support natif pour de nombreux composants multimédia.

Non seulement les sociétés de matériel ont reconnu Linux, mais l'industrie du jeu a aussi remarqué ce nouveau système d'exploitation. Bien que la plupart des jeux sous Linux soient libres (par exemple sous licence GPL), il existe quelques jeux commerciaux. De cette manière, les chances d'obtenir du divertissement de haute qualité sous Linux plus rapidement deviennent plus grandes. Et bien que certains puissent penser que la distribution commerciale ne s'adapte pas à l'esprit d'un Linux libre, je pense personnellement qu'un bon logiciel vaut toujours la peine d'être acheté si le prix est raisonnable. Et les gens ne devraient pas oublier que Linux permet de gagner de l'argent, peut-être moins qu'avec la vente explicite de logiciels mais en proposant des solutions complètes matérielle et logicielle (serveurs), ou en fournissant le support. Ceci ne peut être obtenu avec des jeux. Tout que vous pouvez faire, c'est de les vendre. Et la pression du logiciel libre a contribué à forcer ces compagnies de jeux à écrire non seulement du code mais surtout du code de qualité afin d'inciter les gens à acheter leurs produits.

Heretic
Hopkins FBI
 

Les bibliothèques et les outils de développement

Comme mentionné plus haut, les programmeurs d'aujourd'hui peuvent utiliser une foule de boîtes à outils, de bibliothèques, d'ensembles de développement de logiciel (SDK) ou même construire des moteurs de jeu. Naturellement on peut utiliser ces panoplies de X widgets que sont qt, gtk, athena, xforms et autres. Ces outils fournissent une façon confortable de créer des interfaces utilisateurs conviviales. Ils permettent également la gestion de base du graphisme. Pour beaucoup de jeux c'est suffisant, les programmes qui n'ont pas besoin d'exécuter beaucoup d'opérations graphiques complexes peuvent être écrits facilement et se présenter sous une apparence déjà connue des utilisateurs via d'autres applications X.

Mais tandis que des jeux comme Minesweeper, Mahjong ou même Tetris peuvent être codés avec ces bibliothèques, les choses se compliquent lorsqu'on aborde les jeux de stratégie en temps réel (RTS) comme Warcraft ou Command & Conquer. Les jeux de tirs en 3D gèrent des textures fluides et doivent fournir des taux d'affichage élevés pour coller l'utilisateur à l'écran (imaginez Unreal ou Descent affichant une ou deux images par seconde). En raison de ces contraintes, les bibliothèques widget généralistes pour X sont insuffisantes. Heureusement il y a quelques bibliothèques conçues pour les graphismes rapides et complexes.

Pour en venir au graphisme 3D, Mesa est la bibliothèque numéro un pour ces tâches. MESA est une version d'OpenGL libre qui a été particulièrement conçue pour créer les scènes 3D à partir des primitives simples telles que les vertex et les polygones. Un aspect important d'OpenGL est que les jeux traditionnels sont écrits pour lui. Ainsi il est possible de les porter sous Linux sans les réécrire complètement. Un inconvénient important de MESA était le manque de support du matériel d'accélération 3D qui est obligatoire pour les jeux les plus élaborés avec texture, brouillard, alpha blending et plus. Pendant une longue période, 3dfx était le seul constructeur de matériel qui fournissait les binaires permettant l'accès au matériel sous MESA. Beaucoup d'ordinateurs n'utilisant pas ce matériel ont dû utiliser la capacité du processeur pour le traitement des calculs, ce qui a drastiquemnt réduit la performance. Mais aujourd'hui, beaucoup d'utilisateurs de PC peuvent bénéficier de leur matériel 3D puisque NVidia a libéré les sources pour accéder à leurs chipsets Riva128/ZX/TNT/TNT2. Et la Matrox G200 est maintenant aussi supportée par Mesa. Beaucoup d'applications (et de jeux) utilisant Mesa/OpenGL peuvent être trouvés sur Internet, la plupart de leurs noms commencent par GL.

Il y a d'autres bibliothèques et SDK pour le graphisme qui ont été conçues pour le jeu, permettant la gestion des entrées et des évènements. Une d'entre elles est SDL, écrite par Loki Entertainment. Loki porte les jeux populaires du PC vers Linux. Ils ont proposé leurs bibliothèques gratuitement, tout le monde peut donc les utiliser, et Il existe des listes de diffusion où les programmeurs et les utilisateurs de Loki parlent de SDL. Il y a quelques jeux disponibles actuellement, utilisant SDL et publiés en Open Source. En dehors de SDL, les autres bibliothèques disponibles sont : PLib, ClanLib et PowerPakGame SDK.

Mais les jeux ont besoin de plus que le graphisme. Il existe également des kits de sons disponibles pour jouer de la musique et créer des effets sonores. Il est facile les utiliser. Certaines des bibliothèques ci-dessus, qui ont été spécialement conçues pour le développement de jeu, combinent ces fonctionnalités, fournissant le graphisme et la manipulation de sons, et même des animations complètes!

Un autre ensemble d'aide est disponible pour les créateurs de jeu : les moteurs. Ces SDK essayent de couvrir tous les aspects d'un certain genre de jeu et de dispenser du codage de bas niveau, le processus de création. Citons par exemple les moteurs comme Chrystal Space pour les jeux d'action et d'aventures en 3D ou ceux pour créer les jeux de rôles.

Comme vous pouvez le voir, il n'existe pas de bibliothèque/API/toolkit standard comme DirectX sous Windows. Ceci force l'utilisateur à parcourir la liste des besoins d'un jeu afin de récupérer tous les bouts de logiciel que le jeu réclame. Et bientôt l'ordinateur est rempli d'un tas de bibliothèques pour tous ces petits jeux. D'un autre côté, le programmeur peut choisir un certain SDK en raison de ses fonctionnalités et selon ses besoins. Et aujourd'hui, la plupart des ordinateurs sous Linux doivent contenir des disques durs assez gros pour tous ces logiciels.

mHockey
Golgotha
 

A propos des jeux de civilisation, de courses et de flottes d'étoiles...

Vous pouvez trouver presque n'importe quel type de jeu sous Linux. Qu'il s'agisse d'une sorte de bref divertissement pendant une coupure au travail (un jeu comme Minesweeper, Tetris, Go) ou que vous éprouviez le besoin de libérer la planète de ces extra-terrestres hideux ou des robots (Doom,Heretic,Descent). Vous voulez plus sophistiqué ? Comme mener une tribu de l'aube des temps jusqu'à la suprématie mondiale? Aucun problème, essayez FreeCiv ou Civilisation: Call To Power. Pas de permis de conduire ? Ce n'est pas grave, entrez dans le poste de pilotage de XRacer ou de GlRacer. Vous voyez, tout est là. La plupart des jeux proposent, puisqu'ils fonctionnent sous Linux, des capacités multicouches, ce qui rend les choses encore plus excitantes.

Peut-être connaissez-vous déjà certains des jeux, alors que d'autres sont totalement nouveaux pour vous. Il existe des clones et des portages de jeux existants sur PC ainsi que de nouveaux jeux de genres connus. Les Clones sont des jeux entièrement développés, avec leur propre graphisme, leurs propres sons et données (mais bien sûr, semblables à ceux du programme original) avec plus ou moins de nouvelles fonctionnalités. FreeCiv est un bon exemple. Les portages de jeux se comportent en principe exactement comme le jeu original. Les portages sont la plupart du temps distribués dans leur totalité (comme Civilisation: Call To Power), mais d'autres projets traitent seulement les parties du jeu qui doivent être réécrites. Descent, Doom , Heretic et ALE Clone (warcraft) sont des portages de ce type. Pour les exécuter vous avez besoin (pour l'instant) des versions DOS pour les données du jeu. Et bien sûr, il existe aussi ces jeux d'arcade et de plateau, d'aventures, de simulation, de tirs en 3D, RTS, etc. Ils utilisent des principes existants (ou parfois même nouveaux) de jeu, sans liens directs avec les jeux sur PC.

Bien, il est temps maintenant de tempérer un peu l'enthousiasme. Il y a de nombreux projets de jeux. Ils diffèrent tous si on considère le graphisme et la qualité de jeu. Certains sont complexes, d'autres sont simples. Ils sont en développement permanent, parfois déjà utilisables, parfois pas encore. Ainsi ne comptez pas vous faire plaisir avec chacun. Mais soyons honnêtes, n'oublions pas que la plupart des programmes sont écrits pendant le temps libre du programmeur et sans rétribution. Souvent ces programmeurs travaillent seuls, sans l'aide d'autres utilisateurs. Soyez patients avec les jeux encore mal finis, bogués ou pas installables directement. Vous pouvez aider au développement en rapportant les bogues, en envoyant des suggestions, même peut-être en créant du graphisme et des sons ou en aidant activement à coder. Un jeu est toujours un projet de logiciel Linux qui a besoin de retour d'information et d'aide.

Pingus
World Forge
 

Le monde extérieur - les jeux sous Wine

Wine permet d'exécuter des applications Windows sous X. Idem pour vos jeux préférés. Il y a de nombreux compte-rendus et d'histoires couronnés de succès sur l'utilisation de certains de ces jeux traditionnels avec Wine. Mais vous devez savoir que Wine est toujours en construction, même s'il est utilisable et loin d'être stable, particulièrement lorsqu'il s'agit de logiciel Win32. Néanmoins il vaut la peine d'être testé, et il est une preuve supplémentaire des qualités de Linux.

X Racer
Myth II
 

Les jeux commerciaux

Le comportement du monde commercial confronté à Linux va de l'ignorance totale au portage de jeux. Certaines nouvelles sociétés ont même été fondées uniquement pour écrire des jeux pour Linux. Quelques sociétés diffusent le code source de leurs anciens produits, ainsi, ils peuvent être portés gratuitement. Certaines sociétés ont laissé porter leurs jeux alors que d'autres prévoient de le faire elles-mêmes. Certaines hésitent, ne portant que quelques parties (par exemple logiciel serveur de jeu pour les parties multi-joueurs). Il y a des pétitions d'utilisateurs sur le Web, pour convaincre les sociétés de publier des versions Linux de leurs jeux. C'est un bon moyen de leur prouver qu'il existe un marché pour Linux.

Tout bien considéré, la branche commerciale est toujours très petite, puisque la plupart des programmeurs sont totalement nouveaux sous Linux et qu'il est difficile pour ces sociétés, d'estimer le potentiel du marché Linux. Néanmoins, certaines osent dépenser du temps et de l'argent pour ces projets. Ne nous contentons pas seulement d'espérer une fin heureuse. Si vous pouvez choisir entre la version répandue et la version Linux, prenez cette dernière, même si l'installation peut ne pas être aussi évidente et qu'il soit un peu étrange de payer pour un logiciel sous Linux.

Parsec
Free Civ
 

L'avenir

Eh bien, tant que le développement de jeux en général continuera, la même chose se produira pour Linux. Je pense que, petit à petit, les différences de qualité entre les jeux traditionnels sur PC et les programmes Linux se réduiront. Grâce aux compagnies commerciales nous pourrons jouer aux mêmes jeux (pas à tous) avec la même qualité sous Linux. Enfin, je crois personnellement que ça dépendra du monde du jeu (et d'autres domaines) que Linux entre de plus en plus dans nos PC à la maison. Non seulement comme jouet, mais comme vrai système d'exploitation alternatif en soi.

A propos de projets futurs, je pense écrire quelques tests de jeux pour LinuxFocus. Mais, bien sûr, tout le monde est invité à faire de même. Je pense que le sujet est suffisamment intéressant pour lui consacrer un peu de temps. Pour être honnête, qui n'aime pas jouer ? (-:

BFRIS
X Blast
 

Références

 

Discussion sur cet article

Chaque article possède sa page de discussion. Vous pouvez y soumettre un commentaire ou lire ceux d´autres lecteurs:
 page de discussion 

Site Web maintenu par l´équipe d´édition LinuxFocus
© Harald Radke, FDL
LinuxFocus.org

Cliquez ici pour signaler une erreur ou envoyer un commentaire à Linuxfocus
Translation information:
en -> -- Harald Radke
en -> fr Laurent Richard

2001-08-30, generated by lfparser version 2.17