Moteurs de jeux HTML 5 et outils

Liste des frameworks et outils de création de jeux en JavaScript et dans Canvas.

Ces frameworks sont compatibles avec les mobiles et sont supportés par Android, iOS, WebOS, Windows Phone 7, et autres...

Disney a racheté en mars 2011 la société finlandaise Rocket Pack pour produire de tels jeux multi-plateformes, preuve qu'elle voit un grand avenir dans HTML 5.

Moteurs professionnels

Les moteurs pro sont payant mais proposent des services supérieurs notamment la gestion d'un travail collaboratif. Il existe bien sûr des services indépendants pour les autres solutions.

Unity 3D

Le plus connu, et vraiment portable basé sur .NET ou Mono. Ses inconvénients sont qu'il fonctionne uniquement en 32 bits ce qui limite en pratique la mémoire disponible à 2.7 gigas. C'est suffisant pour la version en production, mais durant la phase de développement la limite peut être dépassés. Malgré la licence professionnels, de nombreux services sont proposé comme extensions payantes. Unity semble plutôt conçu pour des petits éditeurs. L'avantage par rapport à UE4 est que la boutique d'éléments à incorporer à un jeu et beaucoup plus fournie. Il convient sans doute mieux aussi pour les mobiles.

Unreal Engine 4

Concurrent d'Unity, il ne présente pas les mêmes limitations sans avoir un coût supérieur. En fait, depuis la version 4, la licence est devenue nettement moins onéreuse faisant passer la part du moteur de 50% à 5% des revenus!. Le langage n'est plus le même, il faut revenir à C++ qui est moins sûr que C#, mais avec l'aide de Blueprint, un langage de scripts visuel pour gérer les objets et personnages. Unreal Editor permet de générer directement le code pour différents systèmes comme Windows ou iOS.
Depuis mars 2015, l'utilisation du moteur graphique est devenue gratuite, aucun abonnement n'est requis, il est librement téléchargeable et ce n'est qu'à partir de 3000$ de revenus pour un produit sur un trimestre que les 5% sont dûs!

Unreal Engine.

MarketPlace. Un aperçu des composants que l'on peut acheter pour créer un jeux.

Lumberyard d'Amazon

Gratuit, ce moteur peut se relier au service de cloud d'Amazon, AWS, pour le multi-joueurs en ligne (c'est le seul service de cloud autorisé sauf serveur personnel). Il est dérivé de CryEngine et permet de réaliser des jeux 3D dits AAA. Le code source en C++ est fourni également mais on ne peut distribuer le code source modifié (on peut le distribuer sous forme binaire). En se connectant sur Twitch, des spectateurs pourront assister à des parties de jeux.

Scène de jeu avec Lumberyard

Paysage avec le moteur de rendu de Lumberyard

Il permet de réaliser des jeux et autres simulations sur PC, Xbox One, PlayStation 4. Les mobiles sont prévus pour plus tard.

Moteurs et frameworks personnels

Turbulenz

Turbulenz, vignetteOn peut le télécharger sur Github et produire des jeux en 2D ou 3D. La démonstration Polycraft montre une parfaite fluidité et la gestion de tous les aspects du monde physique comme les propriétés des corps et leurs interactions. Il inclut le support de WebSocket nativement, supporte souris, clavier et multi-touch. C'est une bibliothèque de haut niveau et la licence MIT accorde une totale liberté d'utilisation. Un must pour les programmeurs ambitieux!
Devenu open-source en mai 2013. Le code client a été réalisé en partie en TypeScript et converti en JavaScript et quand WebGL n'est pas supporté, donc sur IE ou un ancien navigateur, il requiert alors un plugin, sauf à changer de navigateur.

Superpowers

Turbulenz, vignette Pour réaliser des jeux 2D ou 3D, cet ensemble d'outils basé sur Node.js, Three.js et TypeScript permet de cibler tous les systèmes et notamment les mobiles. Superpowers est aussi un système d'usage général et un générateur de site statique.
Gratuit et open source.

Phaser

Framework PhaserFramework complet pour réaliser des jeux ou démonstrations en 2D, avec gestion de forces physiques, sprites ou groupes, animation, son, gestion du décor en briques. Requiert WebGL et Canvas, il peut se programmer avec TypeScript.

Godot

Godot moteur de jeuLe framework que l'on attendait, propose une documentation très complète et un éditeur de scène et de sprits également d'un bon niveau. Fonctionne en 2D et 3D.
On le compare avec Unity pour sa portabilité notamment, la 2D est supérieure mais la 3D est inférieure, il lui faudrait un scripting plus rapide (GDScript est similaire à Python) et une boutique d'éléments.
Fonctionne sur plusieurs plateformes, PC, Mobile et Web. Fonctionne avec Node.js.

DevKit

Vignette de Devkit

Passé en open source en 2013, ce framework de développement de jeu est aussi rapide que les applications natives sous Android et iOS. Il gère le problème important des collisions et les déplacements. L'utilisation de Node.js est une des sources de sa rapidité car cela permet d'avoir une partie du code en natif. L'autre facteur est l'utilisation d'OpenGL pour Canvas.

Siritaka

Framework pour construire des mondes virtuels fonctionnant sous un navigateur avec WebGL et WebSockets. On peut interagir avec d'autres internautes et discuter dans une boite de chat.

RPG JS

Pour créer des jeux de rôle en JavaScript, des RPG (rôle playing games) de type donjons et dragons, ce framework qui se veut une SDL de HTML 5 fournit une boite à outils.
Les graphismes de la démonstration sont jolis quoique simplistes tout comme l'animation, cependant la vitesse d'interaction assure une fluidité suffisante.

Three.js

Three.js et WebGL

Cette librairie graphique JavaScript peut fonctionner avec WebGL dans une application Canvas et ainsi réaliser des applications fluides et des jeux d'actions rapides.

Gladius de Mozilla

Mozilla a aussi sa version d'un moteur de création de jeu, basé sur WebGL. Il fait appel à WebAPI, une autre bibliothèque de Mozilla pour les applications Web et autres technologies telles que JoystickAPI. Il semble aussi inclure le code de ammo.js.

Enchant.js

Venant du Japon, cet autre framework de construction de jeux simples à une licence MIT permissive. Open source depuis 2011, il dispose de plus de jeux en ligne que DevKit. Il est compatible avec WebGL pour les jeux 3D.
Fonctionne aussi sur navigateur de bureau dont Windows 8 ou mobiles.

Sprite.js

Bibliothèque pour programmer des animations, fonctionnant avec ou sans Canvas.
Elle permet de réaliser des jeux aussi sous plateforme Android, mais les démonstrations sur le site ne sont pas très excitantes, peut-être peut on faire mieux avec le framework.

Générateur de sons en ligne

Le code source JavaScript est disponible sur github.

Autres bibliothèques

Distribution