Les mystères de Luna, le service de jeu vidéo en streaming à jouer sur iOS avec une web app

Mickaël Bazoge |

Pour accéder aux jeux en streaming de Luna — le futur service d'Amazon — sur un iPhone ou un iPad, il suffira de se rendre sur le site web de la plateforme, de lancer le panneau de partage puis de toucher le menu Sur l'écran d'accueil. Cela installera la Progressive Web Apps (PWA) de Luna sur son appareil, qui prendra alors la forme d'une icône très semblable à celle d'une application native. La web app Luna permettra de jouer au catalogue du service, ainsi qu'aux chaînes des éditeurs.

Pas besoin de perdre son temps à télécharger sur l'App Store tous les jeux du service pour en profiter en streaming, comme les dernières règles d'Apple l'imposent. Mais alors que Microsoft a dit tout le mal qu'il pensait de ces guidelines1, Amazon a choisi un chemin de traverse. En fait, la seule voie recommandée par Apple à tous les éditeurs qui veulent s'affranchir de la loi d'airain de sa boutique : le web.

Certes, les PWA empruntent des fonctions aux apps natives, elles respectent certains gestes du système et les configurations Split View de l'iPad, par exemple. Apple les améliore de temps à autre, avec iOS 12.2 et iOS 13 par exemple. Mais ces web apps n'ont pas accès à l'ensemble des API publiques qui permettent aux applications classiques d'utiliser une manette, par exemple.

Dans ces conditions, comment s'est débrouillé Amazon ? Marc Whitten, patron de Luna, l'a affirmé à Engadget : « Pour être parfaitement transparent, sur iOS, [Luna fonctionne] au travers du navigateur. Ce n'est pas une application native de l'App Store ». Microsoft, Google, Epic Games et les autres ont certainement pensé à passer par une PWA pour contourner l'App Store. Ces entreprises ne manquent pas de talent ni d'ingénieurs, et pourtant elles s'y sont cassé les dents, pour le moment.

Amazon ne révélera pas sa formule secrète, mais George Tsipolitis, chef de l'ingénierie et de la technologie Luna, indique avoir travaillé avec l'équipe de Safari pour « nous assurer que certaines des choses qui n'étaient pas là le seraient, et qu'elles nous permettent d'être là où nous en sommes aujourd'hui ». Voilà qui est bien mystérieux, mais cela laisse un espoir pour la concurrence : si ces technologies sont intégrées dans Safari, cela signifie qu'elles sont disponibles pour tout le monde.

Le journaliste d'Engadget a eu l'opportunité de tester le jeu Control entre Fire TV, macOS et iOS. Le passage d'un appareil à un autre n'a posé aucun problème, à chaque fois il a retrouvé sa progression : « J'ai lancé la PWA [sur iOS] de Luna et repris ma partie sans souci ». Il faut préciser qu'il jouait avec la manette Luna, qui grâce à la technologie Cloud Direct communique directement avec le jeu dans le nuage (elle « suit » le jeu et pas l'appareil, ce qui évite le processus de connexion à chaque fois qu'on change de terminal). Par rapport à un contrôleur Bluetooth, la latence est réduite de 20 à 30 millisecondes. La plateforme prend en charge les périphériques tiers, mais Amazon recommande de jouer avec sa propre manette (50 $).

La PWA sera proposée durant la phase de bêta test public. Amazon ne dit pas si Luna continuera d'être proposé de la sorte, ou si le service jouera le jeu de l'App Store et des 30% lors de son lancement officiel. Marc Whitten précise que le travail en commun avec Apple se poursuit. « Nous adorerions proposer une expérience native. Ils continuent d'évaluer leurs règles, ils continuent d'en parler. Et quand nous pourrons créer une bonne expérience, nous nous lancerons ».

En coulisses, il se passe donc des choses. Phil Spencer, le chef de la division Xbox chez Microsoft, a ainsi assuré qu'il voulait lancer le Game Pass Ultimate (qui comprend le service de streaming xCloud) « sur tous les smartphones, y compris l'iPhone ».

La proximité entre Apple et Amazon ne date pas d'hier. En 2016, les deux entreprises se sont rapprochées pour nouer un accord global qui a permis à Amazon de devenir un distributeur officiel de produits Apple, et aussi de bénéficier de plusieurs avantages pour Prime Video (lire : Les dessous de l'accord commercial majeur entre Apple et Amazon). Des privilèges sur lesquels Apple a fini par lever le voile, quatre ans plus tard.

Les responsables de Luna ont néanmoins assuré que cet accord n'avait rien à voir dans le fait que Luna sera disponible sur iOS (ainsi que sur macOS et Windows) avant Android ! Ce n'est que dans un second temps que sortira l'app Android du service…

Édit : précisions sur les fonctionnalités des PWA.


  1. Des guidelines qui exigent aussi que les achats intégrés dans les jeux offerts dans xCloud, Stadia, GeForce Now et consorts passent par le système de facturation de l'App Store.  ↩︎

avatar r e m y | 

C'est très malin de la part d'Apple, dont on sait les liens très forts bâtis ces dernières années avec Amazon, de travailler avec eux pour montrer que le streaming de jeu est tout à fait possible sur iOS sans obligation aucune d'en passer par le prélèvement de 30% d'Apple, et donc que les plaintes diverses en cours n'ont pas lieu d'être.

Et en même temps, si ça s'appuie sur des fonctions spécifiques de Safari (et pas de WebKit), ça sécurise l'utilisation de Safari au moment même où l`utilisateur est autorisé à le remplacer (ou presque) par un autre navigateur.

avatar DrStax | 

@r e m y

Meme si je pense que ces décisions ont été prise avant que Epic et consort ne s'attaque à eux.

avatar r e m y | 

@DrStax

Oui mais il y a longtemps que les règles de l'AppStore sont attaquées et il y a longtemps aussi que des tentatives de streaming de jeux se heurtent aux règles d'Apple.
Avec Amazon, Apple peut affirmer que tout est possible sur iOS et que les limitations dont se plaignent certains n'existent pas.

avatar Adodane | 

@r e m y

Oui on pourrait jouer à Fortnite via une webapp 🤦‍♂️

avatar shaba | 

Mais et l’Apple TV ?

avatar MartyNick | 

@shaba

AirPlay ? Mais cela rajoute de la latence

avatar r e m y | 

@MartyNick

La latence pour un jeu vidéo, est rédhibitoire !

avatar MartyNick | 

@r e m y

De toutes les façons sur tous ces solutions, vu les manettes, les ips et la technologie, on peut difficilement être compétitifs alors le esport on oublie.

avatar DrStax | 

@MartyNick

Oui clairement, ces cloud actuellement sont fait pour les jeux solo. Mais c'est très malin le coup de la manette connecter directement au cloud et non pas via l'appareil.

avatar koko256 | 

@DrStax

Pour cela, l'idée est prise de Stadia (je ne sais pas qui l'a inventé pour de vrai).

avatar DrStax | 

@koko256

Ah je ne savais pas que Stadia fonctionnait comme ça aussi. Merci de l’info 👍

avatar fte | 

@r e m y

"La latence pour un jeu vidéo, est rédhibitoire !"

Pas pour Frostpunk. Ni Civilisation. Ni Stellaris. Ni Pode...

avatar armandgz123 | 

@fte

Eux... ça dépend à quel point ! Avec AirPlay, ça va devenir injouable

avatar raoolito | 

@armandgz123

nan mais une latence pas un fps de 2 :D

avatar JustGeek | 

Les PWA peuvent envoyer des notifications sur iOS ? Il me semblait justement que c’était l’une des limites sur iOS par rapport aux PWA sur Android

avatar jackWhite92 | 

@JustGeek

Je suis surpris aussi. J’ai cherché sur le net et la situation semble malheureusement toujours bloquée. Si quelqu’un a des news, ça m’intéresse !

avatar iValFR | 

@jackWhite92

Non Safari ne prend pas en charge les notifications push pour le moment
-> https://caniuse.com/?search=Push%20notifications

avatar John McClane | 

Est-ce qu’il faut déjà posséder les jeux ?

avatar r e m y | 

@John McClane

Non.
Pour 6$/mois Luna donnera accès à toute la bibliothèque de jeux proposés par Amazon

https://www.amazon.com/luna/landing-page

avatar Insomnia | 

@r e m y

Attention est pas là version française que tu partage, j’ai appris qu’en France c’est toujours très difficile d’offrir la même chose qu’en dehors.

avatar r e m y | 

@Insomnia

Je partage la seule version qui existe à ce jour (le service est en bêta test)

avatar Insomnia | 

@r e m y

Je comprends t’inquiète pas 😌

avatar Darlito | 

Et du coup vous préférez Google Chrome ou Safari comme navigateur principal ?😂😅

avatar r e m y | 

@Darlito

Safari, c'est trop cool! C est le seul qui permet de accéder à Luna!

avatar Darlito | 

@r e m y

Ben oui du coup 😀

avatar l3chvck | 

A mon avis ca va pas plaire a Apple ... pas du tout... attendons nous a ce que les flux luna soient complètement bloqués par les couches bas niveaux d’ios

avatar lufffy447 | 

@l3chvck

Aurais-tu lu l’article 🤔?

avatar r e m y | 

@l3chvck

Faut lire les articles (et accessoirement essayer de comprendre ce qu'on a lu) avant de commenter... 🤦‍♂️

avatar l3chvck | 

@r e m y

L’article insinue qu’Amazon et Apple sont les meilleurs amis du monde. C’est possible mais cela ne sera plus le cas si Amazon fait du pognon en outrepassant le store via une webapp. Enfin vous verrez bien. Requins vs requins

avatar r e m y | 

@l3chvck

C'est donnant-donnant car grâce à Amazon, Apple vend un maximum d'iPhone et iPad en ayant également obtenu de virer d'Amazon les revendeurs un peu louches ou de matériel Apple d'occasion qui faisaient du tort au marché du neuf.

En plus Apple aide Amazon à mettre en place son service de jeux en streaming (en adaptant Safari) ce qui permet d'avoir des arguments très forts dans les procès ou enquêtes visant à casser son business modèle très fermé. (si Amazon le fait en respectant toutes les règles d'Apple, pourquoi les autres, qui se plaignent, ne le font pas?)

Enfin rien ne dit qu:il n'y a pas un nouvel accord entre Apple et Amazon pour le support technique au développement de la web app, avec une somme forfaitaire à verser par Amazon à Apple.

Bon et puis de toutes façons, c'est soit Amazon développe son service de jeux en streaming avec tous les avantages pour Apple que je cite ci-dessus, soit Apple l'interdit et Amazon ne le développe que sur Android. Dans les 2 cas, Apple ne touche rien des gains d'Amazon, donc pourquoi seraient-ils fâchés qu'Amazon gagne de l'argent?
Ce qui importe pour Apple c'est que personne ne gagne de l'argent en passant par l'AppStore, sans qu'Apple touche sa commission, pour éviter que ça ne crée un précédent et que très vite, plus personne sur l'appStore ne verse de commission.

C'est plus Gang de Requins, que Requin vs Requin.

avatar koko256 | 

Au boulot Epic. On porte l'unreal engine pour safari et hop. By by les 30% pour plein de jeux vidéos ! Il restera à porter unity après pour mettre le dernier clou dans le cercueil de la taxe Apple sur le jeu vidéo.
#freefortnite

avatar flapy | 

@koko256

C’est techniquement impossible. L’Unreal Engine est développé en C++ et les navigateurs ne prennent en charge que le JavaScript. Et développer un moteur de jeu en JS, même avec WebGL demanderait des années.

avatar koko256 | 

@flapy

On a bien un émulateur de PC en JS. On a des traducteurs CAML vers JS. Le JS a évolué dans le bon sens mais les outils qui produisent du JS ont explosé, de même que les compilateurs de JS (mais il faut que safari en intègre un bon mais ils sont un peu obligés avec la course à la puissance contre chrome). Je ne crois pas du tout qu'avec les outils actuels ce soit impossible et en plus avec l'économie des 30%, cela fait plein de cash qui rentrera dans les poches des développeurs (et non des clients du coup) pour un retour sur investissement.

avatar iPop | 

@flapy

Il y a pourtant eu Quake

avatar byte_order | 

@iPop

Entre les besoins d'un Quake qui date de 20 ans déjà et ce que les jeux récents exigent, y'a un énorme gouffre.
Le bon colossal des GPU ces 10 dernières années est là pour le montrer. Les nouvelles consoles pour noel aussi...

avatar dodomu | 

@flapy

Petite précision : que les jeux soient codés dans un langage X ou Y n’importe pas tant que ça : ce qui est important c’est le fait que le programme final soit compilé en code binaire natif à la machine finale (le cas de toute les applications dite native), ou qu’il ait besoin d’un intermédiaire (qui lui est une application native) qui fera le lien entre le programme écrit dans un langage (qu’on dira interprété, en opposition au langage dits compilés) et la machine.

Les principaux moteur de jeu actuels, comme l’Unreal engine, Unity, etc, sont capables d’exporter un projet de jeu sur plusieurs plateformes différentes, comme une application native Windows, macOS, GNU/Linux, console, Android, iOS, et le web, à destination donc des navigateurs web, qui ne comprennent pas que le JavaScript. 😉
D’autres éléments peuvent être embarqués dans une page web, fut un temps nous avions les contrôles activeX, les applet Java, Silverlight, et le plus connu, Flash player. Tous ces éléments sont aujourd’hui soit disparus soit en voie de disparition plus ou moins avancée, mais des alternatives plus récentes et performantes existent, je pense notamment au WebAssembly :

« WebAssembly est un nouveau type de code qui peut être exécuté dans un navigateur web moderne. C'est un langage bas niveau, semblable à l'assembleur permettant d'atteindre des performances proches des applications natives (par exemple écrites en C/C++) tout en fonctionnant sur le Web. WebAssembly est conçu pour fonctionner en lien avec JavaScript. »
https://developer.mozilla.org/fr/docs/WebAssembly

Je suis d’accord avec vous pour dire qu’aujourd’hui il n’existe pas de jeux du niveau de complexité de Fortnite dans nos navigateurs, mais ce sera (peut-être) le cas dans le futur... 😇

avatar Frodon | 

Faux, le C++ (ainsi que le Rust et d’autres) sont supporté par les navigateurs avec WebAssembly (et pour Safari Mobile, depuis iOS 11).

Un document du Khronos Group (organisation spécifiant les standards OpenGL, WebGL, Vulkan, ...): https://www.khronos.org/assets/uploads/developers/library/2018-gdc-webgl-and-gltf/WebGL-and-Why-You-Should-Target-It_Mar18.pdf

Il y a même une démo avec Unreal Engine justement (malheureusement plus accessible à l’heure actuelle) ;)

Cela dit le support de WebGL 2.0 (et WebGPU) est encore expérimental (et incomplet) dans Safari (Mobile ou non), sur iOS il peut être activé dans les paramètres avancés de Safari.

Cela dit pour le Cloud Gaming, il n’y a pas besoin de toutes ces API, puisqu’alors le rendu est fait côté serveur, seul l’API Gamepad (parfaitement supportée par Safari iOS) et les APIs de streaming vidéo sont nécessaires.

avatar kristopheman | 

Pour info, sur la dernière beta de l’application Xbox, il est maintenant possible de streamer ses jeux

avatar hillel | 

Les PWA ne peuvent accéder à aucune fonction native d'iOS (ou de n'importe quel OS). Une PWA c'est une page web qui stocke ses ressources sur l'appareil et qui contient un manifeste permettant de créer un raccourci sur le bureau pour les OS qui le supporte.

Pour ce qui est des notifications, comme pour tant d'autres choses sur le web, Safari est le seul à refuser de suivre le standard que Apple a pourtant contribué à écrire ( https://notifications.spec.whatwg.org/).

On en parle pas souvent ici, mais Safari est le pire des cauchemars depuis quelques années pour le développement web. Il n'a rien a envier à feu internet explorer dans sa position de frein à l'innovation. C'est bien sûr valable pour tous les navigateurs iOS étant donné qu'Apple interdit les moteurs web autre que Webkit.

Je pense que ça vaudrait bien un article pour le coup.

Quoiqu'il en soit Safari supporte les API gamepad d'après MDN: https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API

Il semblerait que ce soit tout simplement ce que Amazon utilise pour Luna

avatar reborn | 

@hillel

Je veux pas d’un futur ou je dois tout faire dans un navigateur. En terme de perf, conso, RAM, c’est un enfer. Et sur les appareils anciens c’est inutilisable, Twitter par exemple..

Quand je vois les softs qui sont développé avec Ionic 🤮

avatar hillel | 

Qui peut le plus petit le moins.

Je ne vois pas ce qui justifie qu'Apple n'implémente pas des standards auxquels ils ont contribué

avatar daxr1der | 

le site Livejasmin proposait ca aussi, c’est un site de streaming 😅

avatar Paquito06 | 

Mais c’est encore mieux du coup, on a rien a installer 👌🏼 J’espere que la Nimbus est compatible, c’est celle que j’utilise deja avec l’Apple TV 👀

avatar byte_order | 

Ouais, donc en gros, Amazon a visiblement un accord avec Apple (et qui en douterait) qui leur permet de penser qu'ils ont moins à craindre d'une rupture unilatérale par Apple de la compatibilité du moteur web de iOS avec leur service de game streaming que des entreprises comme Microsoft, Google, Sony, Steam.

Perso, je pense qu'ils devraient se méfier plus que cela. Suffit de voir comment Apple adorait montré que les jeux de Epic fonctionnaient sur ses plateformes, comment Epic a sûrement adoré le boom du nombre de joeurs avec l'arrivée de la version iOS et voir que désormais, l'un comme l'autre se sert de sa position pour tenter de détruire l'autre, la victime directe étant à chaque fois l'utilisateur final.

Si je devais tester Luna, cela ne sera pas depuis un moteur web lié à une seule plateforme et sur lequel il est interdit d'utiliser un autre moteur web en plus.

avatar pat3 | 

@byte_order

"Perso, je pense qu'ils devraient se méfier plus que cela. Suffit de voir comment Apple adorait montré que les jeux de Epic fonctionnaient sur ses plateformes,"

Le jeu est un marché secondaire pour Amazon comme pour Apple. Leur accord porte sur l’ensemble des marchés, y compris les marchés cruciaux (vente pour Amazon, matériel pour Apple).
Dans le précédent deal avec Epic, les démos servaient à Epic pour mettre en avant leur jeu sur une grosse plateforme, et à Apple pour faire la démo qu’iOS pouvait être une plateforme profitable pour les développeurs de gros jeu. Ce n’est pas ce qui faisait vivre Apple, ni Epic, même si c’était un gros bénéfice d’image pour l’un et un bon relai de croissance pour l’autre.

Après, Epic joue une partie de poker menteur avec Apple, à ses risques et périls - mais le jeu en vaut la chandelle: il s’agit du prochain marché du jeu vidéo et Epic a décidé de tirer le premier.

avatar dodomu | 

Amazon a effectivement des leviers de discussion avec Apple, comme spécifié dans l’article le partenariat pour les conditions avantageuses du service vidéos, la vente des produits Apple directement sur Amazon...
Mais je pense qu’on en oublie un autre : si je ne me trompe pas, Amazon est en grande partie utilisé pour fournir certains service web d’Apple, comme iCloud par exemple. Je pense qu’Amazon peut facilement demander à Apple de développer en priorité la compatibilité de certains standards sur Safari (qui te à ce que ce soit disponible pour tout le monde, il s’agirait ne ne pas être anticoncurrentiel 😜), en échange de ristourne sur les contrats Amazon web services...

CONNEXION UTILISATEUR