Cette traduction est incomplète. Aidez à traduire cet article depuis l'anglais.

Le Web d'aujourd'hui est désormais une plate-forme viable pour créer des jeux époustouflants et de bonne qualité mais aussi et surtout pour distribuer ces jeux.
 
Imaginez tous les jeux qui peuvent être créés...

Grâce aux technologies web actuelles et aux navigateurs récents, il est tout à fait possible de créer un jeu excellent pour le Web. Et nous ne parlons pas ici de jeux de cartes ou de jeux sociaux multi-joueurs déjà créés il y a longtemps avec Flash® mais bien de jeux de tirs en 3D, de RPG etc. Grâce aux améliorations des performances des compilateurs juste-à-temps JavaScript et aux nouvelles APIs, vous pouvez construire des jeux vidéo qui fonctionnent dans un navigateur (ou sur des plate-formes HTML5 comme Firefox OS) sans compromettre les performances.

La plate-forme HTML5 pour les jeux

Le Web peut vraiment se concevoir comme une plate-forme pour les jeux : "le Web est la plate-forme". La liste qui suit présente les technologies au cœur de cette plate-forme.

Fonctionnalités Technologie
Audio Web Audio API
Graphisme WebGL (OpenGL ES 2.0)
Mécanismes d'interface utilisateur Événements tactiles, Gamepad API, capteurs, WebRTC, Full Screen API, Pointer Lock API
Langage JavaScript (ou C/C++ utilisé avec Emscripten pour être compilé en JavaScript)
Réseau WebRTC et/ou les WebSockets
Stockage IndexedDB ou le "cloud"
Web HTML, CSS, SVG, Social API (et plus encore...)

 

L'aspect commercial

 

En tant que développeur de jeux vidéo, que vous soyez seul ou fassiez partie d'un studio plus grand, vous voulez savoir pourquoi le Web serait pertinent pour votre prochain jeu. Nous verrons ici en quoi le Web peut vous aider :

Distribution

Contrôle

Monétisation ?

  1. La portée du Web est phénoménale : il est partout. Les jeux construits avec HTML5 peuvent fonctionner sur les smartphones, les tablettes, les PCs et les télévisions connectées.
  2. La visibilité de votre jeu et le marketing en sont améliorés. En effet, la promotion de votre jeu n'est pas limitée à un app store maîtrisé par quelqu'un d'autre. Vous pouvez tout à fait promouvoir et faire la publicité de votre jeu sur le Web lui-même comme sur d'autres médias. Les liens, les partages effectués sur le Web sont autant d'avantages pour atteindre de nouveaux utilisateurs.
  3. Vous disposez d'un contrôle à un endroit important : les paiements. Il n'est pas nécessaire pour vous de reverser 30% de vos revenus à  d'autres simplement parce que votre jeu fait partie de leur écosystème. Vous pouvez décider de votre propre politique tarifaire et utiliser le service de paiement que vous voulez.
  4. Le contrôle, encore. Vous pouvez mettre à jour votre jeu dès que vous le souhaitez. Vous n'avez pas à attendre l'approbation de quelqu'un d'une autre entreprise décidant si oui ou non tel ou tel correctif sera livré aujourd'hui ou demain.
  5. L'analytique. Plutôt que de vous reposer sur des décisions et influences externes quant aux données dont vous avez besoin, vous pouvez collecter les statistiques que vous voulez, ou bien utiliser un outil analytique tiers de votre choix afin de mesurer les ventes et la portée de votre jeu.
  6. Vous pouvez gérer la relation clientèle de façon plus directe, sans que les retours des clients soient limités aux mécanismes d'un app store. Soyez directement en contact avec vos clients, sans intermédiaire.
  7. Le Web est partout et vos joueurs peuvent donc jouer où bon leur semble : leurs téléphones, tablettes, ordinateurs de bureau ou portables...

Les technologies Web pour les développeurs de jeux vidéo

Pour celles et ceux qui souhaitent plonger dans la technique, voici la liste des APIs et des technologies Web qui vont alimenter votre jeu.

Full Screen API
Cette API simple permet à votre jeu de fonctionner en plein écran et d'offrir ainsi une expérience plus immersive.
Gamepad API
Si vous souhaitez que vos joueurs puissent utiliser des manettes ou d'autres contrôleurs pour votre jeu, vous aurez besoin de cette API.
HTML et CSS
Combinées ensembles, ces deux technologies vous permettent de construire et de mettre en forme l'interface utilisateur de votre jeu. L'élément HTML <canvas> permet de gérer des graphisme en deux dimensions.
HTML audio
L'élément HTML <audio> vous permet de jouer de la musique et des sons. Si vous souhaitez aller plus loin, l'API Web Audio vous offre plus de possibilités de traitement !
IndexedDB
Une API puissante, permettant de maintenir les données de l'utilsateur stockées sur son ordinateur ou son appareil. Une bonne façon de sauvegarder l'état d'un jeu ou autre information localement de telle sorte qu'elle ne sera pas téléchargée à chaque fois qu'on aura besoin de cette information. Aussi utile pour rendre le jeu utilisable même quand le joueur n'est pas connecté à internet (comme durant un long vol en avion...).
JavaScript
JavaScript, est un langage de programmation utiliser sur internet. Il a d'excellente performance sur les navigateurs modernes et est sans cesse amélioré. Utiliser sa puissance pour coder vos jeux, ou regarder son utilisation dans des technologies comme Emscripten ou Asm.js pour easily port vos jeux existant.
Pointer Lock API
L'API Pointer Lock API vous permet de bloquer la souris ou tout autre machine de pointage à l'intérieur de l'interface de votre jeu de telle sorte qu'au lieu de reçevoir une position absolue du pointeur vous reçevrai le delta des coordonnées. Ce qui vous donne une mesure plus précise de ce que fait l'utilisateur, mais aussi l'empêcher d'envoyer accidentellement ses imputs ailleurs pour ne pas manquer des actions importantes.
SVG (Scalable Vector Graphics)
 
Lets you build vector graphics that scale smoothly regardless of the size or resolution of the user's display.
Typed Arrays
JavaScript typed arrays give you access to raw binary data from within JavaScript; this lets you manipulate GL textures, game data, or anything else, even if it's not in a native JavaScript format.
Web Audio API
This API for controlling the playback, synthesis, and manipulation of audio from JavaScript code lets you create awesome sound effects as well as play and manipulate music in real time.
WebGL
Vous permet de créer avec haute performance, et l'accélération matériel de graphisme 3D (et 2D) à partir contenu internet . C'est une implémentation qui permet prise en charge Web de OpenGL ES 2.0.
WebRTC
L'API WebRTC (Real-Time Communications) vous donne le pouvoir de controller les données audio et vidéo, y compris la téléconférence et le fait de transmettre des données d'applications aux utilisateurs et entre utilisateurs. Vous voullez que vos joueurs discutent lorsqu'ils explosent des monstres ? Cette API est faite pour vous.
WebSockets
L'API WebSocket vous permet de connecter votre application ou site à un serveur pour transmettre des données en temps réel. Parfait pour les jeux d'action multi-joueurs, services de chat (discussion) et autres.
Web Workers
Les Workers vous donnent la possibilité de créer des routines qui tournent en arrière plan avec leur propre code javascript, pour prendre avantage des processeurs multi-core moderne.
XMLHttpRequest and File API
La combinaison de XMLHttpRequest et de l'API File vous permet d'envoyer et de reçevoir toutes les sortes de données que vous voulez (ne vous fiez pas au "XML" dans son nom!) depuis un serveur Web. Il s'agit d'une bonne façon de divers choses comme télécharger de nouveaux niveaux du jeu et les éléments de graphismes ou encore transmettre (pas en temps réèl) les informations du status du jeu vers votre serveur.

 

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : DeathPixHell, CarlosAvim, Tetrastorm, Goofy, SphinxKnight
 Dernière mise à jour par : DeathPixHell,