Revue des moteurs de jeu du jour

Alors voilĂ , comme j’avais pas grand chose Ă  foutre entre midi et deux (Ă  part un SUPER site) et que je me suis fait tĂ´ler de trop nombreuses fois sous Warcraft 3 « le trĂ´ne gelĂ© », je me suis dit qu’un court rĂ©capitulatif des principaux moteurs que j’ai en ce moment dans le collimateur pourrait Ă©ventuellement vous intĂ©resser. Y’a pas de raison que seuls les petits malins qui viennent poser la question soient servis.


Donc, parmi ceux-ci, j’ai dĂ©gagĂ© 3 laurĂ©ats, que je vous prĂ©sente ici du moins intĂ©ressant au plus prometteur (le meilleur pour la fin), en tout cas selon mes critères (que je garde pour moi).


(oui, je fais ce que je veux, c’est mon billet)


1- Maratis

(http://www.maratis3d.org/)


Jolie initiative d’un dĂ©veloppeur (dont le dev a quand mĂŞme durĂ© 8 ans Oo).

Le principal avantage de Maratis est son approche outil qui le rapproche au plus près d’Unity 3D. Or si vous l’ignorez, Unity 3D c’est le truc qui dĂ©boite en ce moment, la preuve, on l’utilise chez Klakos.


Donc, l’approche outil, c’est que le moteur est d’abord un Ă©diteur qui fonctionne sur le moteur (et qui permet donc le « what you see is what you get » tellement cool Ă  utiliser), et ensuite un outil de distribution. Ça a l’avantage de prĂ©senter un seul et mĂŞme logiciel qui intègre la solution de publication, l’outil de dev (scene graph, langage de script, moteur physique, son, etc…) et le code du moteur.


Les plus :

- approche outil

- editeur WYSIWYG


Les moins :

- scriptable seulement en LUA (donc pas orienté objet)

- Ă©diteur seulement en fenĂŞtre OpenGL (pas pratique pour le alt+tab, les glisser-dĂ©placer, etc…)

- n’Ă©carte pas le dev C/C++ (chaque projet doit fournir sa propre dll)

- ne permet pas le streaming des données

- ne compacte pas les données pour la binarisation

- n’implĂ©mente pas les systèmes de rendu modernes (deffered shading)

- ne permet pas de publier sur autre chose que Windows ou Mac OS

EDIT toutefois le moteur fonctionne également pour iPhone et mobile

- est GPL pur (donc contaminant, et ça quand on est une boite, c’est pas tellement gĂ©rable)

EDIT : seuls l’Ă©diteur et l’interface sont GPL, le moteur est en open source permissif

- communauté de dev encore très (trop ?) jeune

EDIT Maratis a Ă©tĂ© publiĂ© il y a tout juste un mois Ă  la date d’Ă©criture de ce billet


2- Ogre 3D

(http://www.ogre3d.org/)


Ogre est le plus vieux moteur Open Source qui ait une architecture orientĂ©e Objet (full C++). De part son âge il prĂ©sente une structure stable, il est fiable, et possède la communautĂ© de loin la plus active dans le milieu, avec Irrlicht (mais Irrlicht, c’est Allemand, donc c’est le mal).


(ceci n’est pas un appel Ă  la haine, mais une plaisanterie de mauvais goĂ»t)


A noter que c’est le moteur 3D qui a servi au dĂ©veloppement de Torchlight, c’est pas la plus petite des preuves de fiabilitĂ©. MalgrĂ© ces avantages, il reste dans l’utilisation d’Ogre un souci majeur pour un petit studio indĂ©pendant : Ogre n’est pas un moteur de jeu, mais « juste » un moteur de rendu 3D temps rĂ©el. Il est très performant, mais il oblige Ă  faire une intĂ©gration maison pour en faire un moteur de jeu Ă  part entière, puis intĂ©grer l’intĂ©gration (sic !) dans un Ă©diteur pour avoir un truc « relativement » WYSIWYG.


Bon, cela dit, la communautĂ© existant autour d’Ogre propose beaucoup de solutions bien avancĂ©es pour mettre en place une intĂ©gration sans trop de soucis (existence de librairies prĂŞtes Ă  l’utilisation, wrappers C# et autres, Ă©diteurs dĂ©jĂ  intĂ©grĂ©s, il existe mĂŞme un projet – OgreKit – qui consiste en l’utilisation de Blender comme Ă©diteur de niveau…).


(et Blender c’est le bien)


L’autre avantage qui se dĂ©gage de ce type de solution est qu’on peut conserver la globalitĂ© du pipeline en interne, et du coup la maitrise totale.


Les plus :

- communauté active et beaucoup (voire nombreuse !)

- « state of the art » realtime render engine (shaders et deffered shading)

- de nombreuses licences de jeu commerciales déjà produites avec ce moteur

- utilise indistinctement OpenGL (mac/linux) ou directX (genre plutĂ´t Windows quoi)

- offre des possibilités de publication web (un projet existe en ce sens)

- offre de multiples passerelles vers Blender (et Blender c’est le bien)

- licence MIT, on est libre de vendre Ogre tout nu si ça nous chante (et surtout si y’a un con pour l’acheter, amis de la peau de banane…)


Les moins :

- faut se peler le reste du moteur de jeu Ă  la mano :’(

- l’architecture full C++ peut prĂ©senter des dĂ©savantages pour l’intĂ©gration avec d’autres langages (comme le C#). Cela dit cette difficultĂ© technique est en pleine discussion et devrait ĂŞtre rĂ©solue d’ici qu’on ait les thunes pour se payer le pack d’ingĂ©s pour le job.

- Une fois qu’on s’est pelĂ© le moteur, on a fait qu’un tier du job, Ă©tant donnĂ© qu’il faut ensuite se peler l’Ă©diteur WYSIWYAPPG (what you see is what you Ă  peu près get).

- Une fois l’Ă©diteur en place, il ne reste plus qu’Ă  crĂ©er le jeu ! Tadaaa !


3- Horde 3D

(http://www.horde3d.org/)


Comme Ogre, Horde 3D est un moteur de rendu avant d’ĂŞtre un moteur de jeu. La grosse diffĂ©rence entre Ogre et Horde (ne pas confondre !) est sans doute le fait que Horde propose « out of the box » un Ă©diteur de scène et une gestion des scene graph qu’Ogre a eu du mal Ă  mettre en place, notamment pour l’Ă©dition des scènes intĂ©rieures/extĂ©rieures. C’est donc un bon niveau intermĂ©diaire entre Ogre et tous les autres.


Selon moi, le principal dĂ©faut de Horde 3D c’est son jeune âge, qui ne lui permet pas (contrairement Ă  Ogre) de proposer des exemples d’intĂ©grations avancĂ©es pour accĂ©lĂ©rer la mise en place de moteur de jeu complet. Dit autrement, il faut tout se peler Ă  la main, mais avec beaucoup moins d’aide qu’Ogre, mĂŞme si le boulot d’intĂ©gration entre le moteur et l’Ă©diteur est beaucoup plus avancĂ©. Donc bon.


Enfin, un autre des avantages de Horde 3D est le fait qu’il propose une interface C pour faciliter l’intĂ©gration de langages externes comme, par exemple, le C#.


Les moins :

- trop jeune

- ce n’est qu’un moteur de rendu, pas un moteur de jeu

- communauté encore assez fluette

- manque d’outils pour l’intĂ©gration d’objets Blender (et Blender c’est le bien)


Les plus :

- offre dès le début un éditeur et un moteur

- scene graph très performant

- interfaçage avec le C# en natif

- si on y regarde de près, les fritures sont dĂ©jĂ  celles que proposait Unity Ă  sa version prĂ©cĂ©dente (l’Ă©tĂ© dernier), moins le moteur de physique


Voilou. En espérant que vous aurez tout lu sans vous endormir.


Petite prĂ©cision ; pour ma part je pense qu’a la date d’aujourd’hui le meilleur choix reste Ogre (pour peu qu’on ait suffisamment de thunes, bien sur). Feel free de laisser un commentaire pour dĂ©battre du sujet comme ils disent.

Bonne année 2011

MMOG : addiction, abus de langage ou véritable évolution ?

Addiction, « mort après 50 heures de jeu », pratique pathologique du jeu vidĂ©o… tout dĂ©but de siècle a droit Ă  ses terreurs, ses peurs. Et si les nouveaux mĂ©dias murissaient d’autres buts que ceux de nous divertir ? Cette question n’a finalement rien d’irrationnel si on considère le nombre d’heures de jeu par semaine qu’est [...]

État de l’art des MMORPG PART 1 : Persistance des objets dans les mondes persistants (Sic !)

L’inflation des biens de consommations virtuels est un problème que tout monde virtuel semble rencontrer ; effectivement l’obtention de richesse dans les mondes persistants est basĂ© sur l’exploitation de ressources qui se renouvellent Ă  l’infini. Ce phĂ©nomène tends Ă  rendre la valeur des richesses obtenues soit nĂ©gligeable (quand tous les joueurs finissent par accumuler Ă©normĂ©ment de richesses) soit irrĂ©elles (quand les dĂ©veloppeurs du jeux ont rendu l’obtention des richesses tellement difficile Ă  un certain niveau que personne ne peut rĂ©ellement les exploiter).

Il est libre le Max qui fait comme l’oiseau qui a tuĂ© un lapin …

L’animal sur la plage (a phoque in beach)

L’indigène est Ă  l’industrie ce que la madeleine est Ă  Michel Platini.