Les FPS sous Linux
par Red Morgan
en parler dans le forum
Pour commencer, étant donné que moi même
je me mélangeais les pinceaux dans les différentes technologies, je
vais faire un petit point sur comment fonctionnent les jeux 3D, ceci
permet d'expliquer en partie pourquoi certain peuvent fonctionner
nativement sous linux et d'autre non.
Un jeux 3D doit utiliser
une API (interface de programmation) pour communiquer avec le matériel.
Il existe deux principales API pour la 3D : DirectX et OpenGL
DirectX
est implémenté par Microsoft, le code source est fermé et le
développeur ne voit que la façade (API) de l'application. Ceci veux
dire que l'on ne peut utiliser DirectX que sur des systèmes
d'exploitations ou DirectX à été porté. C'est à dire uniquement Windows
et la Xbox. Le Mac et Linux en sont privé. Un jeux développé uniquement
en DirectX n'est pas directement portable sur d'autre plate forme,
encore moins exécutable. (Mais il y a des exceptions)
OpenGL est
une API open source qui est tiré de GL. C'est Silicon Graphic qui
implémente GL. Etant open source (le code source est ouvert) OpenGL à
été portée sur de nombreuse plate-forme dont Linux et Mac. Un jeux
développé sous OpenGL est donc plus facilement portable sur différente
plate-forme.
DirectX et OpenGL sont donc concurrent. Et on
comprend très bien pourquoi microsoft ne portera pas DirectX sur
d'autre plate-forme, cela lui permet de garder une certaine hégémonie
sur les jeux (entre autre).
Pour palier ce problème de
portabilité on trouve des applications qui utilisent les deux API,
Unreal Tournament 2004 par exemple... (cliquez sur 'lire la suite...')
L'exception Wine : (un projet existe sous Mac : Darwine)
Wine, un programme libre pour Linux, qui recrée l'interface de programmation de Windows.
Ce
programme permet donc d'installer des applications Windows sous linux.
Le code source de windows et celui de directX étant fermés, Wine n'est
pas parfait (il fonctionne en ingénierie inverse), et ne permet pas de
faire fonctionner toutes les applications Windows.
Liste des applications supportés par Wine : http://appdb.winehq.org/
Il
existe deux branches payantes de Wine (tout n'est pas gratuit sous
linux) Crossover office pour les produits bureautiques, et Cedega pour
les jeux, elles permettent de prendre en charge certain programme
Windows qui ne fonctionne pas avec Wine.
Liste des jeux supportés par Cedega : http://games.cedega.com/gamesdb/
D'autre
part, les FPS utilisent un moteur 3D, lui même basé sur DirectX ou
OpenGL ou les deux. C'est un programme très lourd à développer, on ne
développer un moteur par jeux, la plupart achète la licence d'un moteur
existant, et développe le jeux autour quitte à modifier le moteur.
Il existe 3 grands moteurs : Quake engine, Unreal engine, et Source engine
Source
engine, basé sur directX9, est le moteur de half life 2 et donc de
counter strike, d'ou l'appelation counter strike source, pour le
différencier du premier counter strike basé lui, comme half life 1, sur
un moteur de quake. C'est a l'heure actuelle, le moins utilisé parce
que le plus récent.
Quelques jeux utilisant Source engine :
Half-Life2, et les mods Counter-Strike Source et Day Of Defeat Source,
Dark Messiah of Might & Magic, Postal3, Vampire : The Masquerade -
Bloodlines...
UnrealEngine est basé sur directX et OpenGL et existe actuellement en 3 versions
Quelques jeux utilisant UnrealEngine 1
Unreal, Unreal Tournament 99, Deus Ex...
Quelques jeux utilisant UnrealEngine 2
Unreal
II, Unreal Tournament 2003, Deus Ex : Invisible War, Armerica's Army
1-2, Rainbow Six 3 : Raven Shield, Splinter Cell 1-2-3, SWAT4, Ghost
Recon 2, Tribes : Vengeance...
Quelques jeux utilisant UnrealEngine 3
Gears of War, Unreal Tournament 3, America's Army 3, Rainbow Six : Végas
Enfin
Quake Engine est lui aussi basé sur directX et OpenGL, il a le gros
avantage d'avoir les sources de ses version 1-2-3 libérées. Attention
les jeux Quake 1-2-3 ne sont pas libre car les éléments constituant le
jeux comme les textures restent la propriété de id software.
Un
certain nombre de mod de Quake sont donc devenu des standalones, des
programmes qui n'ont plus besoin de l'original de Quake pour
fonctionné, ils sont distribués gratuitement. On peut cité par exemple
: Tremulous, World Of Padman, Nexuiz, Warsow.
Alors a quoi on peut jouer sous linux ?
Et bien un peu de tout...
Certain
jeux sont natif linux, Quake3 par exemple, d'autre fonctionnent
directement a partir du logiciel windows, mais il n'y a pas de règles
pour savoir si le jeux sera jouable sous linux, il faut tester ou se
renseigner.
petit liste de fps jouable sous linux avec leur moteurs :
Half-Life 1 / Quake1-2
Half-Life 2 / Source engine
Unreal Tournament 99 / Unreal engine
Unreal Tournament 2003 / Unreal engine 2
America's army / Unreal2
Devastation / Unreal2
Unreal Tournament 2004 / Unreal engine 2.5
Nexuiz / DarkPlaces mod de quake
Warsow / Qfusion mod de quake2
Quake3 / Quake3
Tremulous / Quake3
Return to the castle wolfenstein / Quake3
Enemy-territory / Quake3
Urban terror / Ioquake mod de quake3
World of padman / Ioquake mod de quake3
Doom3 / Doom3
Quake4 / Doom3
Far cry / CryEngine
Serious Sam / Serious Engine
Legends / Torque
savage / Silverback Engine
savage 2 / K2 Engine
fonctionnerait
avec cedega (je met le conditionnel n'ayant pas testé) et puis entre
fonctionne et jouable... je prend des pincettes
America's army 2.8 / Unreal2
Raven Shield / Unreal2
Battlefield 2 / Battlefield 2 Engine
Battlefield 2142 / Battlefield 2 Engine modifié
Operation flash point / Real Virtuality
Vietcong 2 / Ptero-Engine II
ne fonctionne pas sous linux (à ma connaissance)
Armed assault / Real Virtuality 2
Végas / Unreal3
Sinon côté mmorpg qui tournent sous linux ont peut citer :
World of Warcraft
Anarchy online
Dofus
Voili voilou, la prochaine fois je met un coup de projo sur un fps en particulier.
N'hésiter pas à commenter, voir à corriger les erreurs, ou les commissions...
RedMorgan
Juin 2007
|