Coder un jeu en suivant les évolutions et en les exploitant au mieux peut-être fastidieux. Petit tour de quelques framework Js facilitant la programmation de je
Dans le développement actuel des jeux en ligne, une technologie revient régulièrement : WebGL. Mais programmer directement dans ce langage est un peu fastidieux et peut éloigner de l’objectif recherché. De nombreuses bibliothèques ont été développées dans l’objectif de faciliter le développement web 3 D. Voici un petit tour d’horizon.
Introduction
Depuis quelques années, ce secteur évolue en effet beaucoup : chute de Flash, CSS 3D ou autres changements ont conduit à une reconfiguration du secteur. Le Khronos Group a aussi sérieusement fait évoluer WebGL qui implémente OpenGL ES 2.0 dans une API standard et multiplateforme.
Alors que des éléments 2D peuvent être dessinées dans un élément canvas, webgl rend possible d’y afficher des contenus 3D avec des performances raisonnables. La principale initiative Javascript basée sur webgl est THREE.js offrant des résultats satisfaisants et déjà utilisée dans de nombreux jeux (voir ici ou là.
Mais alors que tout cela passe par la balise canvas, le réel bénéfice tient dans l’accélération matérielle, ce qui est particulièrement utile sur les périphériques mobiles.
THREE.js est une bibliothèque développée depuis plusieurs années et maintenue ce qui est critère de choix important. Elle ne se chargera cependant que du rendu 3D, rien de plus à moins d’y ajouter des plugins.
Devant cette limitation, d’autres bibliothèques ont vu le jour en s’orientant vers des objectifs divers et certaines sont spécifiquement orientées jeu.
Playcanvas
Il s’agit d’un éditeur en ligne assez complet et qui s’inspire largement d’outils comme Unity ou l’équivalent libre Godot.
L’avantage d’une solution en ligne est entre autres de pouvoir travailler de façon collaborative et simultanée. C’est un produit open source avec de belles démos comme
http://codepen.io/playcanvas/pen/ctxoD
Reportez-vous à leur site pour plus d’exemples et d’informations :
https://playcanvas.com
Babylonjs
Babylon est un vrai concurrent à THREE.js sous licence Apache qui ajoute au moteur de rendu de vraies fonctionnalités orientées jeu comme des contrôles de caméra ou un moteur physique.
Babylon est relativement jeune et il est difficile de prédire son avenir mais il intègre déjà des fonctionnalités intéressantes comme l’import de fichier Blender et rivalise avec THREE.js sur de nombreux points. Les utilitaires permettant de mettre en place un monde permettent cependant de prédire qu’il va intéresser beaucoup de monde ce qui a des chances de lui assurer un bel avenir.
PixiJS
Mais au-delà de la 3D, Pixi, sous licence MIT, est orienté webgl pour le contenu 2D. Une bonne façon de profiter aussi de l’accélération matérielle. Le framework Phaser l’utilise et pensez aux jeux comme Angry Birds et voilà il ne vous reste plus qu’à essayer.
Lire aussi
publié le 12 mai 2015, mis à jour le dans Jeux, Programmation, Web,