Sumerian, ce nom ne vous dit peut-être rien. Non je ne parle pas de cette langue morte de l’antiquité mésopotamienne (merci Google) mais bel et bien du nouveau moteur de jeu estampillé Amazon. Après avoir proposé des services comme Amazon Polly (synthèse vocale), Lex (chat-bot) et bien d’autres, voila qu’il se lance dans la technologie du jeu-vidéo.

Interface Sumerian

Pour décrire un peu le moteur, il est seulement disponible via le navigateur internet. Il met en avant la création de jeux 3D en réalité virtuelle et augmentée avec son support Oculus Rift et HTC Vive. Il propose également des personnages (appelés « hôtes ») qui en quelques clics peuvent se mettre à parler avec des animations réalistes. Car oui, c’est ça la vrai force de ce moteur, il se couple à tout les autres services d’Amazon. C’est à dire que le personnage utilisera Amazon Polly afin de pouvoir parler grâce à sa synthèse vocale, mais il pourra utiliser aussi Amazon Lex pour faire office de chat-bot vivant !

Coté 3D il met à disposition quelques modèles que l’utilisateur n’aura plus qu’à placer dans sa scène pour la décorer rapidement. Il propose aussi l’importation de ses propres modèles en prenant en charge le format Obj et FBX, j’ai néanmoins eu quelques problèmes embêtants à ce niveau où j’ai du reconfigurer tout mes matériaux car ils n’étaient pas retransmis dans Sumerian.

Il fournit également un système de briques logiques pour se passer de code, ce qui en fait un outil adapté à n’importe qui pour réaliser du contenu tel qu’un concierge virtuel, de la simulation pour former du personnel ou encore la présentation d’un produit dans un environnement virtuel.

Briques logiques

Pour des interactions plus avancées, le système de briques peut être vite limité et on se tournera vers le langage de programmation dédié: on parle ici de JavaScript.

Une des autres forces de Sumerian de mon point de vue est l’intégration de HTML dans la vue 3D. Si je vous dis affichage de votre site internet dans votre jeu, diffusion d’une vidéo Youtube, intégration de formulaires et de boutons de toutes sortes … C’est possible et de manière très simple, ce qui élargit le champ des possibilités à mon sens.

J’ai l’occasion de l’utiliser depuis maintenant une dizaine de jours et après un départ difficile j’ai finalement réussi à faire ce que je voulais. Le problème principal de Sumerian pour moi ne se situe pas d’un point de vue technologique ou sur ses fonctionnalités, mais au niveau de sa documentation. Il m’a en effet été assez difficile les premiers jours de savoir comment appréhender ce moteur. Après avoir testé en long en large et en travers le système de brique qui permet de mettre en place des mécaniques sans coder, je me suis lancé dans la programmation à proprement parlé.

En essayant de coder mes propres scripts je n’arrivais à rien au départ, ou très peu. Sumerian possède bien une API qui recense la totalité de ses fonctions, mais pas tellement de tutoriels sur du scripting avancé. En effectuant des recherches sur internet à ce sujet on ne trouve que très peu de résultats et on est donc contraint de se débrouiller un peu tout seul (adieu StackOverflow avec des solutions en deux recherches). Du fait que le moteur ne sois pas très répandu c’est difficile de trouver des personnes pour nous venir en aide.

Mais après plusieurs recherches je suis tombé sur un lien menant vers une communauté Slack et je dois dire que cela m’a pas mal aidé. Le canal Slack est assez actif avec des ingénieurs et des personnes compétentes qui répondent volontiers à vos questions et c’est une très bonne chose. Voici le lien slack pour les intéressés.

Pour en revenir à mon projet du moment avec Sumerian, voici quelques images du prototype:

Simulation d'une salle de classe

Il s’agit d’un scénario sur la santé sécurité au travail où vous incarnez un instituteur qui va devoir repérer des risques potentiels dans sa classe. Vous êtes accueilli par le proviseur de l’école qui vous explique les règles du jeu:

Pour se déplacer le joueur peut cliquer sur différents boutons qui représentent des compartiments de la classe (bureau, fond de la classe, fenêtre …) afin de mener sa petite investigation à bien. Une fois qu’il aura trouvé un danger potentiel et interagit avec, il devra correctement répondre à un questionnaire à choix multiple. Voici un exemple:

Le joueur trouve une prise électrique qui pend du mur, il a le choix entre remettre la prise, appeler un technicien ou la laisser. Si il répond bien il recevra un point. Une fois les dangers tous identifiés la partie se termine et un tableau des scores s’affiche.

A terme, nous allons mettre en place un personnage que le joueur pourra consulter en lui écrivant du texte afin de se faire aiguiller sur tel piste ou sur tel comportement à adopter (avec un service chat-bot).

Pour conclure et pour apporter une touche concurrentielle, Amazon Sumerian rentre dans le marché de la VR avec des arguments de poids comme la compatibilité avec tout les services Amazon, la mise en place de manière rapide de scénario réalistes et le déploiement en 3 clics sur un navigateur web.

Il pourrait venir à concurrencer Unity dans le domaine de la réalité virtuelle et augmentée, mais pour ma part il est destiné à des types de jeux différents de ceux d'Unity. Il se révèle plus performant si on désire mettre en place des jeux à petit budget à base de visites virtuelles, personnages intelligents et sur navigateur. Néanmoins Unity est plus performant et stable sur d’autres types de « gameplay » avec des interactions plus poussées et la réalisation de jeux à plus grande envergure.

J’espère que le moteur Sumerian sera entretenu de la part de ses développeurs car il a du potentiel, c’est une affaire à suivre. En attendant je continu de me former dessus parce que ça en vaut la peine et il représente un outil solide pour la création de contenu pédagogique.

Merci de votre lecture.