Ready Player Web

Créer des jeux pour le Web moderne

Tom Greenaway

Les bons développeurs de jeux savent que pour tirer parti des opportunités offertes par une plate-forme particulière, il est important de prendre en compte les caractéristiques uniques de celle-ci. Alors, quelles sont les caractéristiques uniques du Web ? Qu'est-ce qui définit un jeu sur le Web ?

Lors de la conférence Google I/O 2019, j'ai présenté mes réflexions sur l'état de l'écosystème des jeux en ligne, les bonnes pratiques actuelles pour le développement de jeux en ligne modernes et l'évolution du secteur. Dans cet article de blog, je vais récapituler certains points clés de notre discussion que vous pouvez regarder dans son intégralité sur YouTube:

Les défis des jeux en ligne

Avant de rejoindre Google, j'ai créé Duet, un jeu pour mobile qui a été téléchargé près de 20 millions de fois. Grâce à cette expérience, j'ai appris que les trois ingrédients essentiels à la réussite d'une activité avec un jeu sont les suivants:

  • Un jeu fonctionnel
  • Utilisateurs
  • Un moyen de monétiser les utilisateurs

Sans ces trois éléments, un développeur de jeux ne peut pas réussir. De nos jours, ces deux derniers points sont les plus critiques. Les écosystèmes HTML5 fermés, tels que WeChat et Facebook Instant Games, ont prouvé qu'il était possible de créer des jeux en HTML5.

Bonnes pratiques modernes

Le terme "jeu fonctionnel" désigne les trois éléments les plus importants qui font fonctionner un jeu:

  • Performances
  • Visuels
  • Audio

Dans chacun de ces domaines, la plate-forme Web a connu des progrès considérables au cours des dernières années. Pour les performances du processeur, nous avons accès à une nouvelle norme performante appelée WebAssembly. Côté graphismes, WebGL 1.0 est compatible avec plusieurs navigateurs et les futures normes telles que WebGPU positionnent la plate-forme Web pour un avenir extensible de la programmation graphique semblable à Vulkan et Metal. Enfin, pour l'audio Web, nous avons l'API Web Audio commune et, plus récemment, l'API Audio Worklet.

Récemment, Unity a présenté un nouvel environnement d'exécution appelé Project Tiny, qui se concentre sur la création de jeux 2D pour les plates-formes HTML5. Project Tiny applique une nouvelle conception modulaire à la structure du moteur d'Unity, permettant au moteur principal d'Unity d'atteindre une taille inférieure à 1 mégaoctet.

Deux chars engagés dans une bataille.
La démo d'Unity's Tanks est exportée via HTML5.

D'un point de vue technique, c'est le moment idéal pour se lancer dans le développement de jeux Web.

Entrez dans la boucle

Un bon jeu ne se résume pas qu'à des performances, des graphismes et un son de qualité. Pour être performant, un jeu doit être amusant.

Le plaisir est un élément difficile à mesurer dans un produit. Lorsqu'un jeu est suffisamment amusant, intéressant ou innovant, les utilisateurs ont envie d'en parler à leurs amis, autrement dit, ils veulent partager leur expérience. Le fait de saisir cette opportunité et de l'associer au Web constitue une combinaison efficace qui ouvre de nombreuses possibilités de croissance virale. Et sur le Web en particulier, sans plate-forme de découverte centralisée, notre meilleur moyen d'attirer des utilisateurs est de faire en sorte que nos jeux soient aussi viraux que possible.

Les bons développeurs de jeux savent que, pour exploiter une plate-forme particulière, que ce soit au niveau logiciel ou matériel, il est important de prendre en compte ses caractéristiques uniques. Par exemple, si vous créez un jeu pour une console avec des commandes de mouvement, vous devriez probablement trouver la meilleure façon de les adopter.

En d'autres termes, vous devez respecter les attentes des utilisateurs de la plate-forme pour laquelle vous créez des applications. À quoi les internautes s'attendent-ils ? Ils s'attendent à ce que le contenu Web se charge et soit interactif rapidement. Au cours de mon intervention, j'ai présenté plusieurs façons, sur le Web et en dehors, de concevoir des jeux pour se charger rapidement, attirer les utilisateurs dans leurs univers, susciter l'intérêt de ces utilisateurs et les inciter à partager leur expérience.

Trois jeux aux styles artistiques minimalistes.

Personnellement, je pense que la clé du succès d'un jeu sur le Web est de s'appuyer sur cette caractéristique unique du Web. Plus précisément, la force de la structure de l'URL du Web et la boucle de partage que les utilisateurs peuvent rejoindre.

Voici un exemple de jeu en ligne que j'ai créé à l'aide de Construct 3, qui exploite l'URL de manière amusante et attrayante.

Interface d'éditeur de niveau pour un jeu

Space Board est un jeu très simple qui peut se jouer sur mobile à l'aide de commandes tactiles ou sur ordinateur avec saisie au clavier. L'objectif est de naviguer dans un labyrinthe d'obstacles pour atteindre un objectif final.

Comment Space Board exploite-t-il l'URL de manière unique ? En codant la structure des niveaux dans l'URL elle-même. Tous les niveaux sont définis sous la forme d'une grille d'objets de 10 x 10 (murs, tourelles ennemies, clés, portes verrouillées, etc.). L'URL liste ensuite toutes les positions individuelles de la grille et leur contenu. Un mur est représenté par un caractère W. Un espace vide est un trait de soulignement.

Exemple :

https://io-space-board.firebaseapp.com/?gameWorld=_wwwwwwwwww___ww__eww_k__d___ww___ww___ww_wwwww_www_wwwww_www___ww___ww_s_ww_f_ww___ww___wwwwwwwwwwww

C'est moche, mais ça fait le travail.

À la fin d'un niveau dans Space Board, le joueur peut créer son propre niveau à l'aide de l'éditeur de niveaux simplifié ci-dessus. En permettant aux joueurs de créer leurs propres niveaux, nous leur donnons la possibilité de les personnaliser. Lorsqu'un utilisateur ressent un lien avec un jeu et qu'il éprouve un sentiment d'appropriation via la création et la personnalisation, il est plus susceptible de vouloir le partager avec le monde entier.

L'envie de partager un jeu est le point de départ d'une boucle virale que nous visons à atteindre avec nos jeux en ligne. Cette conception de jeu et ce mécanisme de partage n'est qu'un exemple possible, mais il existe de nombreuses autres possibilités. Je vous encourage à regarder mon discours pour d'autres exemples !

de retour sur investissement

À l'heure actuelle, il existe en fin de compte deux écoles de pensée concernant la façon dont un développeur de jeux peut générer des revenus grâce aux jeux en ligne:

  • Monétiser les jeux directement
  • Les traiter comme un canal d'acquisition

Considérer les jeux Web comme un canal d'acquisition implique d'utiliser la version Web de votre jeu iOS/Android/pour ordinateur comme un mécanisme pour attirer l'attention des joueurs et les convaincre de télécharger votre fichier binaire iOS/Android/ordinateur de bureau plus volumineux. Vous générez ensuite des revenus avec les backends de paiement et de facturation intégrés à la plate-forme iOS/Android/pour ordinateur.

La monétisation associe généralement de la publicité et des microtransactions. Il reste encore beaucoup à faire pour que le Web rivalise avec les plates-formes mobiles dans la publicité pour les jeux vidéo. Par exemple, des formats tels que les annonces vidéo avec récompense sont extrêmement populaires pour les jeux mobiles depuis plusieurs années. Pourtant, nous ne voyons aujourd'hui que des réseaux publicitaires déployer ces formats sur le Web.

Néanmoins, certains développeurs de jeux continuent d'être performants sur le Web ouvert grâce à la publicité par le biais de bannières classiques et d'annonces vidéo interstitielles. Pour en savoir plus sur ces formats, consultez AdSense pour les jeux.

Pour les microtransactions, le Web offre une flexibilité totale en raison du nombre illimité de modes de paiement pouvant être mis en œuvre. Cependant, cette qualité est une épée à double tranchant. L'inconvénient, c'est que les joueurs ont moins de confiance en un nouveau site Web qu'ils découvrent, contrairement aux modes de paiement spécifiques à chaque plate-forme dans les boutiques mobiles.

L'API Payment Request est une solution permettant d'offrir une interface de paiement plus cohérente sur le Web. Cette API appelle une UI affichée par le navigateur et simplifie l'acquisition des informations de paiement, telles que les cartes de crédit et les adresses de facturation. Toutefois, l'acquisition des informations de paiement n'est que la première étape d'une transaction. Vous avez également besoin d'une plate-forme de facturation backend.

L'avenir

Plusieurs jeux Web ont connu un succès étonnamment réussi ces dernières années. Slither.io a développé une activité à la fois spécifique au Web et aux plates-formes, ce qui démontre l'immense couverture et le potentiel de croissance virale qu'offre le Web. Des portails tels que Poki.com innovent en termes d'expérience utilisateur et publient chaque jour de nouveaux jeux, y compris des titres qui reflètent la fidélité de leurs homologues sur mobile, comme Subway Surfers ou Crossy Road.

De plus, si vous regardez en dehors du Web ouvert, vous pouvez constater que les jeux en ligne sont déjà en plein essor. Les écosystèmes fermés tels que WeChat et LINE proposent des jeux intéressants qui ne sont pas jouables sur le Web ouvert, mais qui reposent sur des technologies Web telles que HTML5 et WebViews. Cela indique clairement que le Web a atteint un niveau de fidélité capable de rivaliser avec les jeux mobiles spécifiques à une plate-forme, peut-être pas dans une définition de la fidélité fournie par les manuels, mais sur un critère plus important: l'attention du joueur.