Téléchargez l'application
Tom's Hardware sur l'App Store
Toute l'actu informatique de référence sur votre iPhone
Oui Non

Doom en JavaScript et HTML 5

par - source: Tom's Hardware FR

Doom dans une fenêtre Safari

Mozilla vient de porter Doom sur JavaScript et HTML5. La démo est jouable depuis Safari ou Firefox et si nos premiers tests ont rencontré quelques problèmes, c’est tout de même une belle prouesse de la part des développeurs

Selon les explications publiées sur le site de l’éditeur, Mozilla a utilisé le code source de la démo de Doom publié par id Software. Il a d’abord utilisé Clang pour passer du code source en C à un bitcode LLVM. Il s’est ensuite tourné vers Emscripten, un compilateur LLVM vers JavaScript. Le code a ensuite été optimisé avec closure-compiler.

Doom est rendu à l’aide de l’API SDL qui est une bibliothèque multimédia implémentée en JavaScript par Emscripten. Elle offre un accès à l’audio, la souris et à la puce graphique grâce à l’OpenGL. La vidéo était affichée à l’aide de l’élément HTML5 « canvas ». Mozilla souligne aussi que l’absence d’une API universelle pour le son l’a obligé à utiliser la Mozilla Audio Data API. Cela pourrait expliquer pourquoi il n’y a pas de son lorsque la démo tourne sur Safari. Sous Firefox 4.0.1 pour Mac OS X, les choses ne sont malheureusement pas bien meilleures. Le son était saccadé et très désagréable.

Doom dans une fenêtre SafariDans l’ensemble, la démo et le système de sauvegarde fonctionnaient bien et nous tournions à 25 images par seconde. Il y a tout de même certains bugs. En plus de la disparition de textures au cours du jeu, la souris n’a jamais été reconnue et de nombreuses touches étaient inactives. Le jeu a refusé de tourner sur Chrome. Mozilla reconnait qu’il y a un problème avec le moteur V8. La démo serait aussi très lente sur Opera, selon l’éditeur.

Pour mémoire, Google avait fait une démo similaire l’an dernier. Il avait porté Quake 2 en JavaScript et HTML5. Son projet avait eu le mérite d’être plus impressionnant de par son envergure et la taille de la fenêtre de jeu. Néanmoins, dans les deux cas, on apprécie surtout le travail des développeurs qui montrent ce qu’il est possible de faire avec du JavaScript et du HTML5.

Partager:
16
Commentaires
X
Valider

Commentaires
Ajouter un commentaire
Hornpipe 01/06/2011 17:52
Masquer
-2+

- Bientôt, dans tous les bacs, Assassin Creed en Qbasic !

- Ouéééééééééééééééééééééééééééééééééééééééééé !

- Par contre, il faudra se contenter de graphismes à la gorilla.bas...

- Ohhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh...

darkbul 01/06/2011 18:00
Masquer
-0+

Quelques Bug de textures mais que de souvenir...

12jojo34 01/06/2011 22:20
Masquer
-0+

moi j'y joue sur ma calculette....

anonymous 01/06/2011 22:20
Masquer
--3+

hornpipe : t'es pitoyable. Commence déjà à faire un "hello world" correct en html, après t'auras le droit de critiquer.

anonymous 01/06/2011 22:32
Masquer
-0+

pas de problème à signaler sous opéra 11.11 , c'est fluide (30ips de moyenne) alors que je n'ai qu'un P4. Faudrait peut être vérifier les infos plutot que de recopier bêtement.

anonymous 01/06/2011 22:34
Masquer
-0+

Super les nouvelles techno de langage arrivent à faire tourner à peu près des jeux vieux de 15 ans, on arrête pas le progrès ;-)

Ara78 01/06/2011 23:41
Masquer
-0+

Mozilla aurait-il peur d'Opera pour le vilipender de la sorte ?

Sur mon laptop:
- Firefox 4: 36 fps
- Opera 11: 33 fps

the clash 02/06/2011 08:13
Masquer
-0+

darkbul :
Quelques Bug de textures mais que de souvenir...



C'est clair trop bon ce jeux pour l'époque,souvenir souvenir......

Hornpipe 02/06/2011 09:12
Masquer
-2+

Je vois pas en quoi le fait de faire un Hello world en HTML me donnerait plus le droit de critiquer ce genre de projet ? Bien au contraire, vu la facilité de la tâche, qui ne nécessite pas de connaissances particulières en programmation.

Ceci étant, je reste persuadé que ce genre de projet est une contre-performance (pour être poli). Lorsqu'on met en place quelque chose qui doit apporter un progrès, on vise quelque chose d'audacieux qui a une vraie utilité pratique.

Faire tourner un jeu qui date d'il y a 20 ans sur des machines équivalentes à celles d'il y a dix ans avec un langage de programmation qui nécessite de vulgariser le code à outrance, ce n'est pas un progrès au sens où je l'admets, c'est de la pure branlette intellectuelle.

Essayez de faire tourner dosbox sur votre mobile (il en existe pour symbian, mais certainement que cela été porté aussi sur Android et que cela pourrait l'être facilement sur les autres OS mobiles) et vous aurez Doom sans bug ni limitation de FPS. Vous aurez d'ailleurs la possibilité de faire tourner tous les jeux dos que vous possédez et même des programmes x86 en 16 bits...

Alors, qu'est-ce que çà apporte que ce soit en javascript ? On ne passe pas par de l'émulation ? Bien, mais si c'est pour avoir plus de restrictions encore que l'émulation, je vois pas l'intérêt. Ah si : bientôt, on vous fera payer le Cloud qui va avec pour lancer le jeu sur votre navigateur...

anonymous 02/06/2011 19:06
Masquer
--2+

@Hornpipe : toi t'as pas l'air de savoir ce que c'est javascript.
Je te laisse à ton ignorance ? Oui, je te laisse à ton ignorance. Bon "hello world" !

nicky66 03/06/2011 00:11
Masquer
-2+

l'intérêt de l'exercice n'est pas de jouer à doom ....


c'est d'utiliser le HTML5 de façon originale voire impressionante

idem pour le javascript, on ne parle pas ici de java mais bien de script, du coup quand même c'est sympa comme performance à voir


enfin tout le monde l'aura compris... ou presque ;)

Hornpipe 03/06/2011 09:49
Masquer
-0+

"l'intérêt de l'exercice n'est pas de jouer à doom .... "

C'est pour cela que Doom a été choisi, par exemple, plutôt qu'un programme d'aide médical ou une simulation d'architecture. Le choix ne me semble pas anodin.

"c'est d'utiliser le HTML5 de façon originale voire impressionante"

Rien n'interdisait de le faire en concevant un programme de A à Z qui apporte une réelle plus-value. Certes, cela leur a moins coûté de transposer un code déjà existant et cela a peut-être aidé à cette démonstration, sauf que cela n'apporte rien sur le plan pratique et que ce n'est même pas convaincant car on fait mieux ailleurs pour la même utilisation.

La seule différence entre nous, c'est donc que nous n'avons pas la même définition de la branlette intellectuelle. Néanmoins, merci de respecter le fait que je n'ai pas le même avis que toi sur le sujet, Nicky 66.

Quant aux personnes qui s'inscrivent avec des pseudo douteux simplement pour tourner mon avis en dérision, elles devraient plutôt chercher à savoir ce que je sais ou ce que je ne sais pas avant de poster des messages. Tâtonner entre HTML et Javascript pour laisser entendre que je ne maîtrise pas le sujet ne fait que la mesure de leur médiocrité. J'attends plus de dignité et des vrais arguments de leur part, sur l'exemple de Nicky66. A moins, bien sûr, qu'ils n'en soient pas capables...

shooby 03/06/2011 10:12
Masquer
-0+

12jojo34 :
moi j'y joue sur ma calculette....


et moi sur mon grille pain ... OK je sors ;)

jey350 03/06/2011 12:47
Masquer
-0+

Mise à part la prouesse technique que l'ont peu saluer, on se rend compte au travers des divers portages (Doom, Quake, Angry Brirds...) que le HTML 5 a du potentiel mais un gros problème persiste pour que cette norme devienne réellement compétitive: la compatibilité cross navigateurs.
Plus les projets seront imposants plus il sera difficile de les rendre compatible tout navigateur.
A moins que les navigateurs n'arrivent à accorder leurs violons, je crains que ce standard ne puisse pas passer le stade de jeux complexes en démos jouables.

12jojo34 03/06/2011 17:04
Masquer
-0+

sur la ti nspire avec ndless il prend l'assembleur

mais le jeu est en nuance de gris

Sh4d3rZ_86 17/06/2011 22:15
Masquer
-0+

A mon avis faudrait le développer davantage ce projet OpenGL ... dire qu'on peut jouer à Doom sur Linux cool :sol:

Publicité

Les offres du moment

Newsletters


OK