Developpez.com - Rubrique 2D-3D-Jeux

Le Club des Développeurs et IT Pro

GDC 2013 : l'Unreal Engine 3 arrive sur nos navigateurs

Mozilla a travaillé avec Epic Games pour rendre ce portage possible

Le 2013-03-28 14:30:05, par LittleWhite, Responsable 2D/3D/Jeux
Mozilla, à l'occasion de la Game Developers Conference, a annoncé le portage de l'Unreal Engine 3 en JavaScript. Le moteur avait déjà été porté sur Flash 11, Android et iOS et cette nouvelle conversion permet de conquérir une multitude de nouveaux supports.

Afin de rendre cela possible, Mozilla travaillait depuis quelques temps sur des optimisations du langage JavaScript permettant de gagner assez de vitesse pour exécuter des jeux 3D.

[ame="http://www.youtube.com/watch?v=XsyogXtyU9o"]Engineering teams at Mozilla and Epic ported Unreal Engine 3 to the Web. - YouTube[/ame]

Grâce à ce portage, de nombreux jeux 3D pourront être facilement portés et cela, tout en gardant une grande qualité visuelle.

Les développeurs pourront par la suite soumettre leurs applications sur le Firefox Marketplace.
D'autres entreprises telles que Disney, Electronic Arts, ZeptoLab travaillent sur l'optimisation de leurs jeux afin de les rendre disponibles dans le navigateur.

Votre opinion

Un tel portage est-il nécessaire alors que le moteur est déjà porté sur Android et iOS ?

Source

Blog de Mozilla
  Discussion forum
11 commentaires
  • Zefling
    Expert confirmé
    Et bien, il y a eu un sacré chemin de fait. Je n'aurais jamais pensé qu'il arrive à ce niveau aussi vite. BananaBread est pas mal, mais le résultat fait très daté. asm.js semble repousser encore plus loin les limites du JS. Ça ne va pas faire plaisir à tout le monde.
  • loukoum82
    Membre habitué
    Nécessaire pour Firefox OS (et Ubuntu Mobile) oui !
  • p3ga5e
    Membre confirmé
    Envoyé par Djakisback
    Quelqu'un aurait-il des infos supplémentaires sur le rendu graphique ? (WebGL ?)

    Après réflexions/recherches, est-ce que cela n'appellerait pas directement les fonctions natives sans passer par WebGL ?
    Cela n’est pas possible en javascript sur Firefox.

    Emscripten dispose d’un support EGL à travers WebGL. L’implémentation de WebGL pour Chrome et Firefox sous Windows utilise en réalité DirectX 9 à travers la bibliothèque ANGLE
  • Dabou Master
    Membre expert
    Ouais enfin le plus triste c'est qu'on vend des jeux sur PC qui sont encore plus moches et pas plus fluides, et là on n'a pas l'excuse d'une plateforme qui n'a pas la puissance requise ...
  • n.b.p
    Candidat au Club
    Mozilla travaillait depuis quelques temps sur des optimisations du langage JavaScript
    Juste pour clarifier, « quelque temps » pour OdinMonkey (nom de code de l'implémentation de asm.js dans SpiderMonkey) cela corresponds à 3-4 mois de travail pour une personne.

    Ce qu'il faut voir c'est que OdinMonkey réutilise une partie des optimisations apporté par IonMonkey, dont l'allocation de registres et la compilation parallèle.

    Un tel portage est-il nécessaire alors que le moteur est déjà porté sur Android et iOS ?
    C'est une démonstration technique. Ce portage sert à montrer que la technologie qui est disponible et est capable de faire tourner des programmes demandeur en ressources avec une assez bonne qualité.

    De toute évidence, cela sera toujours plus lent que si le programme tourne nativement sur la machine hôte, mais le surcoût de lenteur viens de l'ajout de sécurité supplémentaire permettant de vérifié que le programme n'est pas malicieux.

    L'avantage que cela apporte comparé à des programmes installés est que cela réduit énormément le temps entre le coups de cœur et l'achat. Deplus, asm.js se base sur des standards existants (modulo Math.imul) et par conséquent réduit les problèmes de compatibilité.

    Au passage, la démo sera bientôt disponible en ligne [1] et devrais aussi fonctionner certainement dans Opéra, Chrome, Safari et Firefox (car asm.js reste du JavaScript), avec des performances qui seront réduite comparé aux versions nightly et aurora de Firefox.

    [1] https://github.com/kripken/emscripten/wiki
  • Djakisback
    Membre émérite
    Quelqu'un aurait-il des infos supplémentaires sur le rendu graphique ? (WebGL ?)

    Après réflexions/recherches, est-ce que cela n'appellerait pas directement les fonctions natives sans passer par WebGL ?
  • shenron666
    Expert confirmé
    belle vidéo, par contre dans les points négatifs, on ne sait pas quelle machine fait tourner ce que l'on voit
    et surtout, pas de dynamisme dans la scène, que des éléments statiques, pas de "personnage", pas d'IA, pas de physique

    conclusion, j'attend d'en voir plus pour être impressionné... ou pas
  • Djakisback
    Membre émérite
    Ok, merci pour les infos. Je ne connais pas encore ams.js (et Nacl), je pensais que l'idée était de compiler du JS en natif en passant par du C/C++, du coup l'appel aux fonctions natives OpenGL m'a semblé possible.
  • LittleWhite
    Responsable 2D/3D/Jeux
    La démonstration est maintenant disponible :
    http://www.unrealengine.com/html5/

    Pour pouvoir l'éxecuter, il faut la version 23 de Firefox (Nighty build).
  • c.aug
    Inactif
    Ca marche pas sur chrome ?