Jouer à Mario Kart dans son navigateur, c’est possible

Durée: 49m43s

Date de sortie: 22/04/2024

Notre invité, Alex Moulinneuf, a recodé Mario Kart en ThreeJS


Pensez à mettre 5 étoiles pour soutenir l’émission !


Préparation : Matthieu Lambda



Hébergé par Acast. Visitez acast.com/privacy pour plus d'informations.

A au fait maman merci pour le conseil.
Ah oui lequel ?
Ouvrir un plan d'épargne retraite à la Carac.
Ah oui.
En 2024, le fonds euro de la Carac m'a rapporté 4%.
Mais oui la Carac s'occupe bien de nous et depuis longtemps.
Et nous avons un conseiller en patrimoine dédié qui change tout.
Et jusqu'au 31 mars, la Carac me donne 50 euros si je verse 2000 euros.
Et ça peut aller jusqu'à 1000 euros offert.
A la Carac, on se bat pour vous.
Les taux passés ne préjuchent pas des taux à venir.
Taux net de frais avant prélèvement sociaux.
Offre soumise à conditions, plus d'informations sur carac.fr.
Mutuelle soumise au livre 2 du code de la mutualité.
On a parlé Dya, on a parlé de stockage Cloud.
Et là on change encore.
J'aime bien ces émissions où vraiment ça va dans tous les sens.
Et on va parler de jeux vidéo.
On va parler de jeux vidéo.
Mais dans sa navigateur.
Ce qui soit pas ouf.
Moi tu me dis ça je pense à mini clip.
Ou éventuellement à des trucs plus récents.
Non, c'est pas ce à quoi vous devez vous attendre.
Parce qu'on va parler de jeux dans le navigateur.
Mais dans le futur.
Et pour ça on reçoit Alex.
Comment ça va Alex ?
Bonjour, déjà merci pour l'invitation.
Moi ça va très bien.
Je suis absolument ravi d'être ici.
C'est complètement dingue.
Et en effet on va parler de jeux vidéo.
Entre guillemets du futur.
Avec un jeu vidéo bien actuel pour le coup.
Tout à fait.
On va rentrer dans la vie du sujet.
Juste avant, ça me plait curiosité.
C'était mon premier live ?
Non, c'est mon premier live.
C'est une grande première.
C'est une grande première.
Tu avais dit que tu avais du setup chez toi d'audio.
Oui, parce que je tourne un petit podcast.
Mais c'est un podcast de 5 minutes très court.
Qui s'appelle Capsule Code.
Et l'idée c'est de faire sa veille tech et actuarité code.
En 5 minutes, le lundi.
Ça sort tout le lundi à 9h30.
Sur Spotify.
Pour comprendre toi, on va parler de jeux vidéo.
Et pourtant, à la base, est-ce que tu es un développeur jeu vidéo ?
Pas du tout.
A la base je fais un développeur web.
En gros, j'ai un parcours un petit peu particulier dans la tech.
Parce que j'ai commencé avec du C en lycée.
Où j'étais en classe de la STI 2D.
On a monté des systèmes embarqués sur des cartards d'une eau.
Et après, j'ai tenté l'école 42.
Par contre un peu particulier.
Parce que j'ai réussi l'école 42.
Mais j'ai pas été sélectionné.
Comme un quoi ?
Comment ça ?
C'est-à-dire qu'il y a une sélection.
À la fin, avec des critères de sélection mystérieux.
L'idée c'est que j'ai fait ce que l'on appelle la piscine.
Où, en gros, tu as de l'exercice tous les jours.
Et le but c'est de voir qui sort la tête de l'eau.
Et en fait, à la fin de cette piscine,
tu as une sélection qui dit,
oui tu passes, non tu passes pas.
Et j'ai beau avoir réussi mes déis.
Et j'ai beau avoir réussi,
puisque c'est des déis, des formats d'exercice.
Et des examens finaux.
Pas été pris là-bas.
Alors, ça se trouve que c'était sur une année
où il y avait trop de repsites.
Potentiellement, je sais pas.
J'ai une théorie mais j'en parlerai en off.
Mais...
On va en parler en off.
On a des enseins de 42.
Donc on va...
On va des brifs.
Bien sûr.
Mais non non,
sur le coup, aujourd'hui ça va.
J'ai fait ma paix avec ça.
Mais sur le coup, ça a mis une grosse déprime.
En fait, le code, c'est pas fait pour moi.
En plus, c'est un mois où t'es crevé.
Vraiment, ça use toute ton énergie.
Parce que tu vis là-bas, tu dors là-bas.
Aujourd'hui, ça se fait plus.
Mais à l'époque, c'était ça.
Parce que je l'ai passé en 2018, du coup.
Et ouais, t'es crevé.
Et du coup, à la fin,
t'as pas sacrifié,
parce que j'ai appris quand même beaucoup de trucs.
Un an de ta vie.
Et t'es passé actionné.
Donc t'es en mode...
Ah !
C'est dur.
Quel est mon avenir ?
Mais du coup, t'as fait quoi après,
pour prendre un côté ?
Du coup, je suis parti deux années de fac.
Je me suis dit que j'aime bien enseigner.
J'aime bien l'anglais.
Et je vais devenir prof d'anglais.
Ah ok.
D'accord, rien à voir.
Ouais, le chiffre complet.
Non, il fallait pas faire ça.
Après, c'est utile l'anglais dans ta carrière ?
Absolument.
Parce que j'ai trouvé un bon niveau d'anglais.
Ce qui est de l'air très pratique pour le code.
Et du coup, j'ai eu...
Je suis tombé sur une pub à un moment, sur un bus.
Je devais prendre mon bus pour rentrer.
Et je suis tombé sur une pub,
sur une école qui s'appelle My Digital School,
qui est une école du web et du digital.
Je vais là-bas.
On me fait intégrer en deuxième année.
Et franchement, super.
Tout se passe extrêmement bien.
Et là, du coup, je rencontre un prof,
Monsieur Dufais, si tu m'entends,
de se penser à toi,
qui est absolument passionné par son travail.
Et forcément, il partage sa passion.
Ça me recontamine de passion.
Je me remets à fond dans le code.
Et j'y prends beaucoup de temps.
C'est pas grave.
Trop cool.
Ouais, de la programmation.
Absolument.
Avant, juste qu'on rentre dans le vif de sujet,
petit rappel, on essaye d'éviter un peu les anglicismes.
Je dis ça parce qu'on va parler de techno web,
on va parler de dev, etc.
C'est un monde plein d'anglicismes.
Donc, petite note mentale à tout le monde.
On essaye de trouver les équivalences et tout,
mais je sais que c'est pas toujours assez simple.
Et sans plus tarder,
on va rentrer dans le vif du sujet.
Aujourd'hui, on reçoit Alex Moulinouf,
un développeur web qui a décidé de recoder entièrement Mario Kart
pour y jouer directement depuis un navigateur web.
Vous allez voir les images, ces bluffants de réalisme.
Il va nous expliquer déjà pourquoi
il s'est engagé dans ce projet,
comment ici prend quels sont les challenges
d'avoir un jeu comme ça dans un navigateur.
Et est-ce qu'il prend des risques face à Nintendo ?
C'est la question que je vous ai tout de suite posé.
Et enfin, est-ce que l'avenir du jeu vidéo
se loge dans les navigateurs web ?
Est-ce qu'un jour on pourrait jouer à des triplois
avec des nouvelles technologies comme Web, GPU, etc.
On va en discuter avec toi, Alex.
Déjà, merci d'avoir accepté notre invitation.
Comme les images que vous êtes peut-être bientôt en train de voir,
ce nouveau Mario Kart se joue dans un peu près n'importe quel navigateur.
Est-ce que déjà, on peut commencer par l'origin story ?
À quel moment tu te dis que je me lance là-dedans
et que je code cette mairie ?
Pour être franc, au moment où précisément je suis dans la merde.
Je m'explique.
En arrivée en 4e année d'étude,
je signe un contrat d'alternance dans une boîte
qui distribue un logiciel SAS,
logiciel applicatif pour des galeries d'art.
Je vais essayer d'éviter les anglicistes, je vais faire des efforts.
Et le contexte très bizarre à l'entreprise
et mon patron décide d'arrêter de me payer
au bout d'un an de contrat, sur deux ans.
Et en bonus, de faire le mort.
C'est-à-dire que tu appelles, tu envoies des messages,
pas de nouvelles, rien nada.
Et donc c'est un peu la merde, on va pas se mentir
parce que quand on est adulte et qu'on se déplace
quand on quitte le domicile familial
et qu'on arrive à se louver,
voilà, à prendre la vie active et se loger avec quelqu'un,
c'est compliqué de plus avoir de revenus,
surtout dans le contexte qu'on connaît.
Et je me dis, ok, tu sais coder, tu sais faire des trucs,
t'as fait, parce que j'ai monté d'autres petits projets en 3D avant
parce que c'est un sujet qui me passionne absolument
et j'irais que c'est le sujet qui me passionne le plus
en termes de développement.
Et tu sais coder, vas-y,
faire un projet, éclate-toi et partage-le sur les réseaux.
Et c'est de là, du coup, d'où vient le projet Marocartou.
J'ai commencé.
Avec un peu de chance, ça va faire tellement de bruit
que tu vas trouver ton prochain employeur, par exemple.
Ça m'a ouvert des portes, un truc de dingo,
je pense qu'on en parlera après,
mais un truc de dingo, ça a changé ma vie pour le mieux
parce que du coup, j'ai arrêté mes études
et je me suis mis à plein temps là-dedans
et il est en plein d'autres trucs,
dont on parlera sûrement après,
mais ça a changé ma vie, un truc de dingo.
Ok, donc tu te dis, pour un projet ambitieux,
comment tu penses à ça ?
Je suis un gros passionné de jeux de voitures, de base,
et notamment un gros joueur de compétitif.
J'ai joué toute ma vie à Marocart,
j'ai joué toute ma vie à Smash Bros, à ces jeux-là,
et j'ai baigné finalement dans l'univers Nintendo.
Et je me suis dit, ok, j'aimerais bien faire un jeu de voiture.
Et du coup, je tente un petit concept, un petit prototype
où c'est juste de voir si je peux faire rouler une sphère
selon l'orientation d'un cartes.
Et je me suis dit, si j'arrive à faire ça,
je ne suis peut-être pas obligé de faire une physique avec quatre roues,
mais je peux peut-être faire une physique un peu arcade
où ma sphère devient ma voiture
et c'est comme ça que je pourrais faire un Marocart.
Et en fait, je me suis dit, et à part ça, je me suis dit,
quand j'arrive à créer, bah voilà, c'est exactement ça,
quand j'arrive à créer ce modèle-là,
j'arrive à créer un système d'amortissage
qui crée ce effet de drift.
Et là, je me dis, oh là là, c'est là,
je vais faire un Marocart en javascript.
C'est trop marrant.
Donc en fait, tu étais en train de bidouiller dans ton bac rinçable
et tu as vu ça, tu t'as dit, bah juste, c'est un cartes en fait.
Exactement, exactement.
Et ça a reçu un amour de fou sur les réseaux sociaux,
justement, à travers Twitter et à travers LinkedIn
où du coup, je publie tous les jours les avancées du projet,
les étapes, jour après jour,
feature par feature.
Question toute bête, mais tu te lances dans ce projet,
tu publie tous sur les réseaux sociaux.
Je pense que beaucoup de gens connaissent la réputation de Nintendo
qui concerne la propriété intellectuelle, etc.
Est-ce que tu t'es un peu stressé quand même ?
Je l'étais.
Mais il y a eu deux parties là-dessus.
Au début, je l'étais, et puis ensuite, je t'envoie de...
Au final, tu fais juste de la rétro-ingénierie quelque part.
Je n'ai pas volé le code de Nintendo et dit, ça, c'est mon code,
c'est mon code et je montre le code de Nintendo, finalement,
mais voilà, je ne me suis pas approprié le code de Nintendo.
J'ai créé mon propre code Nintendo, entre guillemets,
de Mario Kart en JavaScript.
Et il y a une jurisprudence, notamment,
autour des émulateurs, puisque c'est autour de ça
que ça se retrouve, qui n'est pas illégal
de rétro-ingénierie une console.
Il est illégal, par contre, d'en faire un business commercial.
Ce qui n'a jamais été le but du projet Mario Kart.
C'est là, par exemple,
ou Yuzu, que vous devez connaître, forcément,
l'émulateur Switch, c'est un peu cassé la gueule,
parce qu'ils en ont fait une utilisation commerciale.
Mais, par contre, des émulateurs comme Dolphin
ou SNS-9Fix ne l'ont jamais fait,
et c'est pour ça qu'ils sont tranquilles.
Et de l'autre côté, j'ai eu une rencontre,
forcément, de part...
très bon article.
J'ai eu une rencontre avec plusieurs entrepreneurs,
mais notamment un qui m'a beaucoup marqué,
où il m'a dit, à la fin d'un call,
il m'a dit, mais je te souhaite que ton projet,
il se fasse descendre par Nintendo.
Parce que ce serait un coup de projecteur de malade.
Exactement, exactement.
Et là, du coup, je te rôde.
Ah ouais, j'en ai rien à faire.
Je ne sais pas les fameux Ninjas Nintendo,
je ne sais pas si, même pour de la mauvaise pub,
j'ai envie de me les mettre sur le dos.
Mais en vrai, je comprends.
Et dans les faits, t'as même pas eu besoin de Nintendo
pour que... Absolument.
On se fasse un carton partout quand on a vu le résultat,
avant de voir vraiment
des détails du gameplay,
et peut-être une course en direct,
qu'on est en train d'organiser un coulisse.
Comment on s'y prend,
quand on veut, coder
un jeu comme Mario Kart 2.0 ?
Parce que...
On ne sait pas comme si les jeux de voiture,
c'était un truc super récent
qui venait de sortir, etc.
Mais je trouve qu'il y a quand même quelque chose avec Mario Kart,
qu'il y a un feeling Mario Kart
qui est super unique,
et que tu retrouves dans aucun autre jeu.
Comment toi tu t'approches ça d'abord, techniquement ?
Et ouais, c'est un peu...
Comment... C'est quoi les grandes étapes
de ton projet, entre la boule
qu'on a vu glisser et le résultat
de dingue que vous allez voir ?
Moi, mon approche en général, quand j'approche
un projet 3D, si je commence d'abord,
en général, on ne fait pas ça. On part d'abord du prototype,
et ensuite, on améliore le visuel.
Moi, j'aime bien partir de une base visuelle
en mode, ok, ma scène 3D,
de voir ressembler à ça.
Et dès que j'arrive au résultat que je veux,
je suis en mode, oh, ok, c'est joli, là je peux développer,
tu vois. Et du coup, j'ai d'abord commencé
à monter la scène 3D,
et à voir mettre mon petit Mario,
mettre ma petite carte,
et une carte de Paris, et voilà,
on remonte sur le thread, du coup,
oui, on remonte
sur le thread.
Et du coup, ensuite, ça a été l'approche
du contrôleur,
qui est forcément le truc où il y a le plus
de travail, finalement, c'est la logique
qui va régir la petite voiture.
D'abord, il faut
une voiture où il faut que tu sois capable de tenir
la direction avant de cette voiture, que tu vas pouvoir
rotationner et avancer.
Il faut la faire rouler. Donc ça, c'est une première étape.
Créer la physique pour ça.
Ensuite, il va falloir choisir
comment tu contrôles cette voiture,
est-ce que tu vas le faire à la manette, est-ce que tu vas le faire
à la souris, est-ce que tu vas le faire au clavier,
est-ce que tu vas le faire sur téléphone, avec un justique
virtuel, c'est pas eu l'heure, j'ai fait les quatre.
Et
il y a
part sur deux là. Du coup, ensuite,
tu vas pouvoir incrementer,
rajouter des mécaniques supplémentaires, comme
le drift, par exemple, que vous allez voir
je pense après. Et ensuite, on rajoute
les objets, finalement, tout ce qui constitue
un Mario Kart. Et enfin, intervient le post-processing
pour créer ce petit feeling
Nintendo-esque
à Mario Kart.
Et là, parce que ça, c'est ton résultat.
Ça a l'air simple quand tu le dis comme ça, mais quand on zoome
un petit peu, très concrètement. Là, par exemple,
tu parles de physique, etc.
Moi, je connais le navigateur, donc
je sais développer
une interface, genre un Google, quoi.
C'est
comment tu obtiens cette notion
de 3D et de
physique concrètement, ça ressemble à quoi, de ton côté ?
Alors, il y a eu
une API, Javascript, qui s'appelle WebGL.
Mais si on essaie de l'approcher
tel quel, je peux vous assurer que c'est un bordel
syntactique
et qui est absolument
horrible à lire et qui est illisible
et codé encore plus.
Du coup,
maintenant, il n'y a quasiment plus d'approches
webGL simples. Il y a un freelancer
qui est assez connu, qui s'appelle Aristide Benoît. Lui, maintenant,
il fait tous ses trucs en webGL, mais c'est
un grand malade. Et, il m'en
se respecte pour lui, bien sûr, c'est un grand homme. Il a été élu
freelancer de l'année, je suis obligé de faire
un coup de puits pour lui. Et
bref, et du coup,
il y a une personne qui s'appelle MrDoub, qui
inventait une technologie qui s'appelle 3.js
qui est ma technologie préférée
de tous les temps, qui en fait
est utilisée sur maintenant quasiment tous les sites web
qui utilisent de la 3D,
qui nous permet en gros d'utiliser
une API JavaScript
qui nous permet de créer de la 3D en temps
réel, dans un site web. Et du
coup, par exemple,
toi qui a codé par exemple
des sites web tout à fait standard, tu vas avoir
tes éléments, div, ton arbre, ton DOM,
par exemple,
le DOM tree. Là,
ça se passe pas exactement comme ça, ça se passe
dans un canvas, du coup, tout se passe dans un canvas
et on va pouvoir
modifier le comportement de ce canvas avec 3.js
à ficher des objets 3D
leur donner un comportement
leur donner une physique avec par exemple
réactri, Raypure
qui est la physique qui est utilisée, qui est le moteur
physique qui est utilisée dans le cadre de Mario 4 3js.
Quand tu dis un gros moteur physique pour bien comprendre
c'est ce qui va décrire comment
les objets se comportent
quand ils ont des chocs entre eux par exemple
ou des choses comme ça. Tout à fait, exactement.
En fait, ce qu'on ne le sait pas dans un jeu
vidéo, c'est que le jeu est rendu deux fois.
C'est pour ça qu'on utilise des hitboxes notamment. Il y a
un monde visuel
où ce sont les objets 3D que tu vois
c'est celui que l'utilisateur voit
et il y a un monde physique. Et ce monde
physique est beaucoup plus simple et beaucoup plus abstrait
du monde
visuel, parce que
ce monde physique en fait, il fait toutes les simulations
de calculations
qui va permettre de définir le comportement
d'un objet visuel
dans ta 7 3D.
Donc en très bref, par exemple
on n'a pas de coublée en plastique, j'aurais adoré
montrer un coublée en plastique. L'idée par exemple
c'est que si on veut cibuler une animation
de coublée en plastique qui tombe
on va le faire tomber
dans le monde physique et on va dire
à l'objet 3D visuel de copier
exactement
la trajectoire que va prendre l'objet physique.
En gros, tu appliques les lois Newton etc.
sur un rectangle ? Exactement
et à la fin
tu colles
ton mesh
de goblets sur ton rectangle
physique en gros. Exactement
c'est exactement ça. Du coup
les moteurs physiques comme ça c'est les mêmes
pour tous les jeux ou chaque jeu a un moteur
physique différent ?
En fait il y a plein de moteurs physiques, on utilise
tous en général une base physique
heureusement je me suis appris la tête à faire
les calculations moi-même parce que je me suis dit
que je suis en train de faire la tête.
Il y a Avoque
qui est un moteur physique très populaire
il y a
Babylone je crois
il y a Raypure
et en JavaScript en tout cas avec 3js
on en a deux qui sont ultra connues qui sont Canon
Canon E.S.
et Raypure
d'ailleurs c'est un moteur physique qui est écrit en rust
et du coup le super avantage de Raypure
c'est que comme c'est du rust et c'est pas du JavaScript
les threads sont séparés
et donc en termes d'optimisation
et de gain de performance
la différence entre Canon GS
qui est fait avec JavaScript par exemple est énorme
Ok
En route mais
au conclusion il y a des super moteurs
qui permettent à des développeurs comme toi qui sont pas nécessairement
des développeurs de jeux vidéo
à l'origine de faire des scènes 3D complexes
de ce genre c'est ça ?
Absolument et alors tu as aussi parlé dans notre truc
c'est le feeling Nintendo
c'est quoi le feeling Nintendo
parce que je serais pas le dire comme ça
La physique du jeu qui est particulière c'est ça ?
C'est un tout
il y a le post processing, il y a les couleurs
la température de couleur
c'est en général des images chaudes Nintendo
c'est beaucoup de couleurs, c'est très coloré partout
du coup
j'ai dû forcément analyser beaucoup
Mario Kart
J'ai une question d'un an alors
parce que pardon excusez-moi
ça mange beaucoup
mais en fait
tout le visual
toutes les textures
tu les as refaîtes
les modèles
les textures sont faites à partir de modèles de sketch fab
les utilisateurs sont crédités
d'ailleurs dans le projet Mario Kart 3DS
sur github
je me suis pas embêté à
la modélisation de chaque petit objet
il y a les banques qui te permettent d'un
tout à fait, ça va être fait
parce que la finalité c'est pas forcément Mario Kart
c'est de développer mon propre projet peut-être qu'on viendra dessus plus tard
qui s'appelle POPCUP
basé sur mon petit carlin
j'ai un carlin qui est fan de voiture
et l'idée c'est que je voudrais faire un jeu
avec un carlin
qui roule et qui fait la course avec d'autres petits chiens
voilà l'idée du projet
final
c'est de faire un spin-off
il y a des gens qui ont déjà modélisé tous les assets
de Nintendo
ils ont juste
récupéré pour le coup les assets de Nintendo
ils en ont refait eux
et publié sur Sketchfab
en dira access
c'est pas le projet
c'est pas le truc de Nintendo qui sont pris
et moi j'ai juste collé
mais du coup
juste pour comprendre
dans les comparlées du feeling Nintendo
est-ce que toi après avoir observé
dis c'est qui comme ça pendant tant de temps
ce jeu
est-ce qu'il y a des trucs que tu as noté
ou tu t'es dit tiens ça ce truc
la manière dont ça fonctionne c'est quand même hyper particulier
faut que j'arrive à le reproduire
plein, c'est super intéressant
quand tu analyses, comment on fait des jeux Nintendo
du coup en fond en con
tu vois les personnages animés sur les côtés
et c'est con mais si c'est absent
tu le vois et il manque quelque chose
les couleurs c'est un truc de fou
les systèmes de particules
donc les particules c'est plein de petits effets minuscules
mais qui régissent un tout
dans une scène 3D
qui crée cet émerveillement pour les yeux
dont t'es capable Nintendo
il y a ça, il y a les couleurs
vraiment j'insiste là dessus
le post-processing également
qui va nous permettre d'en rajouter des effets additionnels
comme des vrais effets de lumière
etc c'est un vrai espèce de
photoshop permanent sur une scène 3D
typiquement
il y a des flares parfois dans les...
absolument quand ça me
revient comme ça je sais pas pourquoi mais
j'ai à souvenir d'être en train de conduire
ma course Mario Kart et d'avoir
des petits lens flares comme quand on est en train de filmer le soleil
et qu'il y a des petits ronds qui apparaissent
c'est le genre de détails qui font vivre
le jeu quoi
tout à fait, tout à fait, c'est ça, c'est des particules
encore une fois les couleurs
tu vois quand j'ai voulu refaire le
dérapage en Mario Kart
j'ai voulu aussi reproduire les systèmes de particules
qui sont faits en Nintendo
et je te rends compte que c'est pas non pas 1
non pas 2, non pas 3
mais c'est 5 systèmes de particules simultanés
juste pour le dérapage
et qui tournent en simultané
tu as une lumière qui explose
quand ton drift change de couleur
tu as
des petites particules au début de ton drift
ensuite tu as des particules mais tu as un
un modifier de gravité qui s'applique
dessus et un peu
de l'ens flare et tout, c'est un boulot
de 1 an
en fait
c'est parce que t'es passé par tout ce process
de recréer From scratch
qu'on est là à réaliser
le travail qu'il y a derrière eux
donc si jamais il y a quelque chose
c'est plutôt positif pour eux
parce qu'on se rend compte très concrètement
du talent immense qui est derrière la confection de leurs jeux
juste pour revenir
au jeu en lui-même, est-ce que
c'est quelque chose qu'on peut tester
facilement pour les gens qui sont
intéressés par ton truc, est-ce qu'il faut
une configuration violente
comme un jeu AAA, un PC gamer
c'est tout l'avantage justement
il faut une configuration
qui n'est pas mauvaise non plus
parce que par exemple sur mon Mac M2 ça galère
un petit peu mais
c'est tout l'avantage c'est que c'est un navigateur web
et du coup n'importe
il peut y jouer de absolument n'importe où
on peut ouvrir Mario Kart
on peut ouvrir Mario Kart sur son mobile
on peut ouvrir Mario Kart sur son Linux
on peut ouvrir Mario Kart sur son Mac
on peut ouvrir Mario Kart sur son Windows
il n'y a aucune limite, je suis même sûr
qu'on peut ouvrir le Mario Kart sur un navigateur de PS5 par exemple
ce qui serait assez
c'est marrant
je suis sûr qu'on peut faire ça
pas très optimisé mais cool
je suis sûr qu'on peut faire ça
je sais plus ce que j'allais dire
en gros il n'y a pas nécessairement besoin
d'une performance de malade
pour fonctionner le truc
est-ce que là, dans des jeux vidéo
ou grandement, ils peuvent
se permettre de se dire ça va être
nécessairement tourné sur
des grosses machines
est-ce que toi il y a des hacks que tu dois
trouver au moment où tu codes
ton jeu pour faire en sorte que
ça puisse tourner sur un téléphone
ou sur un importe
qu'elle apparaît
l'optimisation c'est le plus gros
et le plus dur sujet
de la création
d'un jeu en 3D
notamment avec la création de Shadows
je sais pas si vous avez déjà vu ce que c'est un code de Shadows
les projections
des ombres c'est ça ?
entre autres c'est un des trucs
c'est un Shadows c'est un code en
c qu'on appelle GLSL
du coup
qui s'appelle OpenGL Shading Language
je vais perdre un peu tout le monde et je suis un peu désolé
c'est un code qui est imbitable
en fait c'est des calculs mathématiques qui vont régir
le comportement
de les millions pixels qui s'affichent à votre écran
et du coup il faut te dire
avec un Shadows
tu vas donner à chaque pixel
et tu vas lui dire quoi faire
donc c'est un truc qui est extrêmement compliqué
qui est à développer
qui prend beaucoup de temps et par exemple
c'est ça qui permet d'utiliser la puissance graphique
donc le fait qu'une
une carte graphique est très optimisée pour faire des calculs mathéfièles
gigantesques
c'est comme ça qu'avec peu d'énergie
un peu de calculs
tu arrives à générer des genres de l'eau
par exemple ou de la fumée
j'imagine c'est tout ça
la génération de l'eau c'est tout un truc
il y a plein de techniques pour générer de l'eau
on peut le faire avec une normale map
on peut faire avec un Shadows
on peut faire avec plein de trucs
et d'ailleurs je ne sais pas si vous avez déjà vu
mais dans les jeux vidéo il y a très peu de vraies réflexions
il y a très peu de vraies miroirs
et la réalité en fait c'est parce que le coût
de rendu d'un vrai miroir
est absolument énorme et c'est pour ça que ça se fait
ça se fait jamais par exemple
dans Spiderman
très bon exemple
mais dans le dernier Spiderman 2
qui sortit sur PS5
on nous montre des raytracing, des réflexions
mais la réalité c'est que les réflexions ne sont pas réelles
c'est un Shadows
qui essayait de reproduire la scène
c'est des sujets qui sont super intéressants
mais du coup pour optimiser ma map
le plus possible et permettre que ça tourne le mieux possible partout
il faut que je réécrie plein de trucs en Shadows
il faut que je réécrie les textures en Shadows
il faut que je réécrie les ombres en Shadows
ça va demander pas mal de boulot
je n'ai pas tout à fait le temps
d'y accorder maintenant
mais c'est un truc qui sera fait
parce que le but c'est que ça tourne
sur un maximum d'appareils
avec le minimum de performance possible
donc déjà ça tourne pas mal du tout
mais en fait il y a encore beaucoup à faire
comme optimisation
pour que ce soit vraiment nickel
parce que juste là pour comprendre du coup
quand on dit que tu as recodé Mario Kart
c'est évidemment vous voyez
le screen de démarrage pour l'instant
etc
qu'est-ce que tu as fait exactement
et qu'est-ce qu'il reste à faire
et que tu comptes faire
pour nous donner un ordre d'idée
de jusqu'où t'aimes réagir
alors, la première étape
ça a été de créer le player controller
du coup
le kart, simplement
avec la caméra la troisième personne
les animations de la caméra, les animations des roues
le système d'avancée
de reculer
gauche, droite, drifté gauche
drifté droite
les systèmes de particules
le Shadows des flammes
des turbos quand on shop
un mini-turbo ou quand on appuie
sur le champignon, parce qu'il y a des objets
des objets justement
donc
chopper un cadeau, obtenir un objet
l'utiliser, l'afficher
dans la scène 3D, rajouter un objet
en temps réel dans la scène 3D
qui est un sujet qui est super compliqué d'ailleurs
le multi-joueur
donc le fait d'interconnecter 2 clients
distants pour qu'ils puissent jouer
sur la même map et qu'ils puissent se faire
la course entre eux
là c'est sur quoi je suis en train
de bosser dessus maintenant mais c'est
tout ce qui est affichage
UI, donc user interface
l'interface utilisateur pour
faire le décompte, le départ
le
pareil, un sujet dont
je ne m'étais jamais posé la question toute ma vie
mais qui était super intéressant quand j'ai dû le faire moi-même
on fait une course
on a une piste qui est pas
une ligne droite, la piste
c'est pas une ligne droite, c'est des courbes
c'est des courbes, c'est un tracé circulaire
voilà
comment on fait pour définir qui est devant
l'autre sur un tracé circulaire
vous êtes déjà posé cette question
bonne question
là, intuitivement
j'imagine que dans un train comme ça
il y aura des histoires de checkpoints
tout à fait, mais comment tu fais
pour t'assurer que les checkpoints
soient pris, mais ça sonne, il a pris un raccourci
entre les checkpoints où il a que ta course de map
tu vois, j'avais dit pas d'anglossis
il a coupé à travers la map
à travers la piste plutôt
et du coup
en fait, pour faire ça, par exemple, on va imaginer
il va y avoir plein, une multitude
de petits points
sur l'espace qui définit le tracé
et on va vérifier en temps réel tout le temps
la distance et où il en est
par rapport au point
à chaque fois qu'il se rapproche d'un point, c'est plus simple
plus simple, plus simple, plus simple, plus simple, plus simple
et pareil pour l'autre
et du coup, celui qui a le plus de points
c'est celui qui a P1 ou P2
et voilà comment on fait
un système de course
dans le circuit réel
Mais, cela dit,
dans Mario Kart, il y a quand même des endroits
où c'est pas illégal de prendre des raccourcis
tout à fait
comment est-ce qu'à ce moment-là, tu considères
que la personne est plus loin sur la piste
et elle a récolté moins de petits points
je suppose que tu définis heureusement
il faut pas être placé précisément sur le point
mais tu peux calculer par contre la distance
de ton kart avec un point
et tu peux dire par exemple si ta distance
est de 50 mètres, tu valides le point
je suppose que tu peux augmenter plus ou moins
la distance de validation de ton point
pour permettre le passage
de raccourcis
En fait, tu peux déterminer
la zone légale de jeu entre guillemets
ou ce qui serait une triche
c'est hyper intéressant et toi
enfin, là, typiquement ce genre de problème
est-ce que
c'est le truc où
tu résous un peu toi
à ton côté comme ça en y réfléchissant
est-ce que parfois, tu as de l'aide quand même
parce que, mine de rien,
il y a des grands problèmes dans le jeu vidéo
qui sont un peu standards
tu as trouvé de l'aide
tu as des communautés, des endroits où tu as pu apprendre
en sachant que tu ne viens pas de là toi
il y a des communautés, c'est sûr
malheureusement, je suis pas dedans
c'est pas forcément un souhait personnel
c'est que
j'ai jamais essayé
moi, je prends tellement de plaisir en fait
à essayer de mon côté
voilà, c'est ça
et la particularité de coder un jeu vidéo
avec 3.js comparé à
un jeu vidéo avec Unity
ou Unreal Engine
c'est que tout est fait artisanalement
et moi, c'est ça qui m'a plu
c'est à dire qu'il n'y a pas d'aide
il n'y a pas d'éditeurs visuels
non, tu as tes lignes de code
tu as ton éditeur de code
et tu as ton navigateur
tu ne peux te débrouiller que à partir de là
et c'est là aussi, c'est super intéressant
tout est fait artisanalement
tu apprends à faire tout
oui, c'est ça, tu apprends à faire tout
et du coup, ça, j'ai dû réfléchir moi-même
l'ironie
veut que
j'ai fait une petite animation
qui me permet de... en fait, je voulais un rendu un peu arcade
pour l'introduction du jeu
que vous avez vu, qui a été montré plusieurs fois d'ailleurs
où c'est juste une caméra
qui passe à travers le tracé du circuit
et pour faire ça, il m'a fallu définir
plusieurs points que la caméra
va-je vendre et ensuite je me suis dit
mais attends, j'ai déjà fait ça
des calculs de la position
tu peux la faire, tu peux les faire
à partir de ces points-là et c'est comme ça que j'ai fait
les calculs de la position des circuits
en fait, tu t'as rendu compte que les briques
que tu avais à ta disposition, ça additionne
en fait, pas de zéro à chaque fois
absolument, très très intéressant
je vous propose, parce que je sais que vous attendez ça
avec impatience, qu'on fasse le test
qu'on fasse le test indirect
on a setup
une démonstration
un affrontement
exactement, un affrontement entre
notre guest, à qui on a fourni
une manette de xbox
très cool
salut, si vous appréciez Endorscore, vous pouvez nous aider de ouf
en mettant 5 étoiles sur Apple Podcast
en mettant une idée d'invité que vous aimeriez qu'on reçoive
ça permet de faire remonter Endorscore
voilà, telle une fusée
ok, donc là tu peux choisir
ton contrôleur
est-ce que tu peux avoir un mobile connecté
le site peut s'ouvrir
depuis un mobile et ça fonctionne
et c'est pas... ah t'as même le
RRRR, c'est si, c'est si
ça fonctionne
ah ouais, j'avoue les petits, ok c'est marrant
je vois tout ce que tu as expliqué du coup
on voit les 5 particules différentes
ouais
effectivement, il y a vraiment un feeling Mario Kart
il y a
des petits lags
tu vas mettre un objet
il y a des petits lags
les aléas du direct
j'ai des goûtes de sueur en live mais
mais franchement c'est magnifique
c'est tellement satisfaisant
tu vois les flammes
les...
est-ce que tu as des petits personnages qui bougent du coup
les traces de... non je ne l'ai pas fait
je veux le faire, mais je ne vais pas faire
oh, regardez
on est autre deuxième joueur
nous a rejoint direct
il est là
il m'a mis un objet
il t'a envoyé une banane
franchement l'animation de la banane c'est tellement la même
que la vraie
c'est très très cool
dans ce genre de cas pour copier une animation comme ça
comment tu fais, tu fais à l'œil
genre t'as maillot d'un côté
c'est ça ?
quand je voulais faire ça, j'ai passé
ma nuit à jouer à Mario Kart
et j'étais en mode ok, qu'est-ce qui se passe exactement
quel particule s'affiche
c'est pour le travail
ouais c'est du vrai, là vous voyez j'ai shooté avec une carapace
c'est tellement la même
honnêtement le chat est choqué
le chat est...
dans les mois
je suis assez content, c'est plutôt vite
ça marche plutôt bien
mais surtout là tu as un multi joueur
pour expliquer c'est un multi joueur local
actuellement comme sur une console
non non non
c'est là toute la particularité
c'est que c'est pas un multi joueur local
c'est à dire que là on peut le mettre
sur un site web
et moi je peux jouer en ligne depuis chez moi
et tu peux jouer en ligne depuis chez toi
et ça marche et on a interconnecté tous les deux
on peut rejoindre le jeu
depuis nos téléphones
alors malheureusement non, parce que le truc était uploadé
sur Versel
et versel là actuellement c'est Payment Required
c'est à dire que en fait
en 24h
le jeu a été ouvert
50 000 fois
donc là la bande passante
de Versel m'ont appelé, ils m'ont fait
frérot, est-ce que tu fais ?
je peux payer maintenant
donc ça veut dire que tu t'es tapé
tout le code multi
pour expliquer que tu as quand même le net code
qui est l'enfer bien connu
de tous les jeux multi joueurs
c'est pas simple
en complexité c'est l'équivalent
de refaire ton jeu
et c'est là où je suis obligé de donner du crédit
à une entreprise qui vient de San Francisco
qui sont incroyables et je connais du coup
les devs personnellement derrière ça
donc c'est absolument fantastique et c'est là
l'avantage des réseaux de se développer
et d'afficher le développement de son jeu
c'est qu'on se fait approcher par des solutions
qu'on ne peut pas estimer
c'est une solution qui s'appelle Playroom
peut-être qu'ils vont afficher
sur à l'écran Playroom
et Playroom
Provide
je sais pas comment on dit provient
procure un back end
fonctionnel et optimisé pour le jeu vidéo
ils font tout ce qui est relou pour toi
à savoir exactement
qui envoyer quelle action
exactement et pour les développeurs
qui code avec React
moi je suis un gros fan de React
la magie du Playroom
c'est que tu set un state
sur un client

qui a un multiplier state
ton state il est set
sur tous les autres clients
c'est comme si on te disait
et que la notion
que ces gens
sont à des kilomètres de distance
on l'abstrait
tu n'as plus t'en préoccupé
pour toi ils sont tous sur la même machine
est-ce que nous qui nous chargeons
de synchroniser tous ces états
toutes ces variables entre elles
c'est un truc que provient
et ils m'ont approché
pour me proposer leurs solutions
on regarde comment ça se passe
nous on a notre équipe qui peut te soutenir
et te supporter si tu as besoin de la main
leur doc est tellement clair
pas une question à poser
juste c'est un mode oh putain ça marche
je trouve ça très inspirant
parce que ça veut dire que
évidemment
n'importe équipe ne peut pas faire ça
objectivement
tu as quand même des compétences particulières
qui te permettent de faire ça
mais là où je trouve qu'il y a un côté
rassurant c'est qu'on a quasiment
l'impression que avec les services dont t'as parlé etc
que
à peu près n'importe qui en étant motivé
et en y passant
peut-être assez longtemps
beaucoup de temps
pourrait faire sa propre version
peut-être moins bien mais
on a le sentiment que ça a porté
des gens motivés
oui absolument
moi la 3D du coup la 3D dans le web
c'est un sujet que je pense depuis quasiment 2 ans maintenant
forcément je dis ce bagage là
derrière pour rapprocher le jeu Marocarte
c'est ce qui me permet d'avoir tous les concepts
aujourd'hui c'est un sujet quand même rendu
plus accessible avant c'était pas ça du tout
et c'est pour ça que je m'en suis pas approché d'ailleurs
il y a Bruno Simon
d'ailleurs qui est un développeur qui est très populaire
qui a créé un portfolio
et dans le monde du web il y a eu un avant
et après son portfolio tellement son truc
a cassé internet
et peut-être qu'ils vont aller afficher Bruno Simon à l'écran
il a fait un portfolio avec une petite voiture
ça dans le moment ça parle à tout le monde
et en gros on peut explorer son monde
oui mais je l'ai vu le truc et je l'ai vu exactement
c'est si c'est de se faisant plus le sound design
et oula ça ramme
et heu
oh mince ça ramme
et heu
et du coup il a créé une formation qui s'appelle 3js Journée
il vit de ça aujourd'hui d'ailleurs
et il ne bosse plus que là dessus
j'ai eu un call avec lui hier
on a pu se rencontrer et discuter en personne
trop bien
et du coup il rend accessible la 3d
dans le web mais ça demande
des efforts qui sont énormes
et un travail qui est conséquent
parce que pas al méton tu veux te lancer
dans le web tu vas prendre html
css javascript
les événements network
les fetch
les appels en synchrone, les promesses
t'as tout un truc
ensuite les framework web
c'est fois 3 voire fois 4
le travail qu'il faut pour apprendre la 3d dans le web
tellement il y a des sujets qui sont ultra complexes
à aborder
et le tout le taf de développement
sur mario kart
tu l'estimerais combien d'heures
beaucoup beaucoup beaucoup
parce qu'en plus non seulement j'avais pas de travail
du fait que mon patron était absent
je me levais des fois à 6h du matin
et j'ai été nier mon pc il était 23h
je comptais pas mes heure
c'est beaucoup beaucoup de travail
beaucoup beaucoup d'essais aussi
du coup sur combien de semaines
2, 2, 2, 3 mois
2 mois avant que je shoppe
une mission en freelance qui me permet de me sortir
de là
chez shadow notamment avec jenny mobile
2 mois tu veux dire t'as co-dénon stop
pratiquant sur ce projet là
c'est un bon appartu
et qu'en fait on pourrait dire que c'est pas tant que ça
quand tu vois le résultat c'est ça
c'est rapide en fait
c'est fou mais on rappelle que d'habitude
ce genre de jeu de me nécessite
des équipes entières et beaucoup beaucoup de développement
ça prend tant de temps
il manque encore énormément de choses
et justement toi qu'est ce que tu
envie de développer parce que là moi j'ai envie de te dire
je veux la version où il y a le vrai des comptes
où il y a des vrais courses
où on a plus de track
ça fait rêver
tous les gens qui ont déjà essayé de faire de l'émulation
de oui etc
à un point
que vous ne pouvez pas imaginer
moi j'ai adoré
les mules de oui on va pas se mentir
les mules de oui
tu vois ils ont shutdown récemment
la Wii U et la 3DS
la Wii U j'ai pas eu la chance de la voir
j'étais trop content de pouvoir y jouer sur l'émulateur
on va pas se mentir par des moyens légaux
évidemment je tiens à le préciser
je n'ai pas téléchargé les jeux également
évidemment que non
mais ouais c'est
la question c'était
qu'est ce que tu envisages
de faire pour ton jeu
est ce que tu veux vraiment le pousser
encore plus loin ?
là actuellement j'ai plus tellement de temps
de me mettre là dessus mais je vais finir
ce projet sera terminé
ce sera pas terminé maintenant
ce sera pas terminé dans un mois peut être dans 2, 3, 4
5 mois j'en sais rien
et c'est on être optimiste peut être 5 mois
mais déjà l'optimisation de performance
il faut que je sois capable de
de faire le run de ce projet
il faut vraiment que je fasse un gros boulot là dessus
donc là pour l'instant c'est le gros chantier
sur lequel je passe en ce moment
et c'est pas le truc que je peux build une publique
parce qu'il n'y a pas de
avant après
c'est beaucoup de réécriture
beaucoup de
tu remontes dans ton code ça fait que 2 mois que tu l'as écrit
et tu remontes dans ton code et t'es en mode
oh mais pourquoi j'ai fait ça
oh mais tu es idiot
et du coup il y a ça
il y a le fait d'avoir mes propres assets
l'idée c'est pas de garder l'identité marocarte
marocarte c'est vraiment la façade
qui permet aussi de montrer le projet
parce que marocarte c'est quand même un nom qui parle à tout le monde
l'idée c'est Pupcup comme je vous le disais
et j'avais envoyé une image
potentiellement à votre équipe
pour vous pucer montrer
le potentiel avec une
en gros j'ai demandé la chrgpt
tiens ça c'est une photo de mon carlin
imagine-le dans un cartes et montes-nous le résultat
et le résultat est tellement mignon
j'espère qu'ils vont le montrer
et du coup voilà l'idée
voilà
exactement
en vrai je le trouve trop chaud
et je reconnais tellement mon chien là dessus ça m'éclate
et donc voilà avoir ses propres assets
avoir sa propre image
il y a des tas d'effets de particules que je veux rajouter
des tas d'effets de chadeur que je veux rajouter
le post-processing il faut que je l'améliore
à balle parce que ça consomme un mort
en termes de performance graphique
et voilà pour l'assuil projet
il y a tous les personnages aussi
absolument il y a tout un travail
du huit de cartes différents
je veux que ce soit une compétition
comme mario carte
il y a des objets je vais rajouter des bombes
là actuellement on a les carapaces
les champignons et les bananes
je vais rajouter des bombes
je vais rajouter les carapaces bleues
je vais rajouter les carapaces rouges
que je vais pouvoir du coup
les carapaces rouges je vais pouvoir fonctionner
avec le système de points que je vous ai parlé
plus tôt
il y a plein de trucs que je vais rajouter
il y a plein de projets j'ai une toulou liste
qui est comme ça de trucs que je vais rajouter
et est-ce que tu acceptes les contributions
avec sa mère ?
tout à fait il y a eu un gros moment
le projet a fait un gros boom dans sa popularité
c'est évidemment quand je l'ai annoncé en open source
parce que le projet est open source c'est accessible gratuitement partout
il y a 3 800 étoiles
sur le projet open source
il y a eu des contributions déjà
des trucs pour des typos
des trucs pour modifier la toulou liste
il y a eu une modification un peu mécanique
ou un mec qui a rajouté la fonction de reculer
sur le player controller
ce qui est très bien, je l'avais pas fait
c'est vrai que j'estimais que ça ne me servirait pas
il l'a fait donc trop cool
il y a eu un effet de fumée aussi
mais pas opti du tout donc j'ai été obligé
de le dégager mais il a tenté
il a tenté dans l'open source
il y a aussi le poids
de devoir gérer
la communauté
c'est pas forcément simple
bravo à toi de l'avoir mis en open source
c'est magnifique
il y avait une demande
dans l'open source il y avait une demande très forte
c'est vrai que ça donne envie de voir un peu les entrailles
du système
justement toi qui a une vision assez
précise de
ce qui est possible en termes de 3D
actuellement dans le navigateur
il y a disons ça aurait paru un peu
à probable d'avoir ce genre de techno dans un navigateur
on a dit non mais c'est pas du tout fait pour ça
on voulait juste afficher des
des résultats google à la base
donc ça nous aurait paru fou
est-ce que de la même manière
j'ai suivi un peu de loin qu'il y avait
des grosses innovations qui étaient en cours
de déplamands sur le navigateur
notamment un truc qui s'appelle WebGPU
et qui excite, j'ai l'impression beaucoup de gens
c'est quoi toi ton
ton avis là dessus
est-ce que tu penses que demain le navigateur
pour être encore plus
qu'aujourd'hui une place pour avoir
des applications gourmandes en ressources
alors il y a le jeu vidéo évidemment
mais peut-être des logiciels
de montage des trucs qui sont
de plus, qui serait vraiment assez lourd
en termes de
de compute
assez lourd en termes de calcul
et qui aujourd'hui nécessitent d'installer des applis
des process un peu lourds, vers quoi
tu penses qu'on pourrait se diriger
eh ben déjà je peux te répondre sur les logiciels de montage
en tout cas ça existe déjà
ça s'appelle Remotion
qui est un éditeur de vidéo avec React
qui vous permet d'éditer des vidéos en live
sur internet
et WebGPU c'est un sujet
qui est super intéressant mais avant de vous parler
de WebGPU je suis obligé de vous parler du problème
posé, bah voilà
je suis obligé de vous proposer
de vous parler du problème qui est causé à WebGPU
c'est ça
c'est l'iPhone, Apple
casse les bonbons
les biens
Apple casse les bonbons j'explique
je pense que dans l'ordre
il faut qu'on comprenne un peu du coup c'est quoi WebGPU
très juste
WebGL je vous en ai parlé de tout à l'heure
WebGL c'est le moteur de rendu qui nous permet
d'afficher des sites web en 3D
il nous permet de dessiner dans un camp de vase
et de dessiner n'importe quoi
à part ceci là il a été créé 3.js
qui nous permet d'avoir une API javascript
qui nous permet de commander
à WebGL, sans avoir l'interface
en tactique de WebGL
qui je le rappelle est infernal
et donc
je sais plus où jouer en dire
WebGL a évolué, on a eu WebGL 1
aujourd'hui on a WebGL 2
3.js a d'ailleurs enfin migré vers WebGL 2
ce qui permet des applications
plus optimisées, plus jolies
et plus fortes
il y a un autre système de rendu qui s'appelle WebGI
mais qui est basé sur WebGL
et WebGPU du coup c'est un moteur
de rendu qui fonctionne sur la carte graphique
et là où c'est super intéressant
du coup c'est super optimisé
on se rapproche des performances d'un Vulkan
qui est le moteur
graphique
des applications Unity
ou Unreal Engine
qui utilise Vulkan, ou directX
ou qui utilise plein de choses
qui sont des moteurs graphiques à part mais qui sont des moteurs graphiques
applicatifs
ou ça nécessite d'installer
un jeu via Steam etc
là ce que tu expliques c'est que c'est un peu l'équivalent de ça
mais dans le navigateur
exactement et en fait le gros avantage
de développer les jeux vidéo sur le navigateur
c'est que n'importe qui peut y jouer sans installation
il n'y a pas besoin de store
il n'y a pas besoin de...
il n'y a pas besoin de store, il n'y a pas besoin d'installation
il n'y a pas besoin de package
c'est plus ou plus ou quoi
tu ouvres une page web et tu peux jouer au jeu vidéo
et c'est là où c'est brillant, il y en a une partie qui est du marché
qui est super intéressante là-dedans
et le problème c'est Apple
parce que Apple ne supporte pas WebGPU
et actuellement il y a des tas de technologies
qui veulent migrer sur WebGPU
mais ils peuvent pas, enfin c'est pas qu'ils peuvent pas
c'est qu'ils veulent pas investir parce qu'ils disent
ouais mais se bloquer la part de marché Apple
qui n'est pas supporté ni sur Safari ni sur iOS
iOS qui est le système d'exploitation
de Apple
c'est chiant, on n'a pas envie de faire ça
moi j'ai eu des insights du coup
encore une fois les réseaux incroyables
de l'équipe qu'ils bossent actuellement
sur Strip.js
et ils sont en train de faire comme réactes natives
de créer leur propre langage
qui va permettre de compiler
un jeu entre IJS
et dans une version WebGL
et dans une version WebGPU
un peu comme réactes natives qui permet de compiler
le jeu JavaScript et dans une version Android
et dans une version iPhone
Strip.js sont en train de bosser là-dessus
c'est un boulot de fou malade
merci Apple pour cette abstraction supplémentaire
c'est clair
c'est à dire que Apple ils se font ping tous les jours là-dessus
il y a des tas de devs qui les appellent
là-dessus on va supporter WebGPU
parce qu'on vous attend
surtout que de ce que moi j'ai compris
en fait à la différence
des API
des API graphiques dont que t'as mentionné
Vulkan, DirectX etc
qui ont un peu leur gouvernance différente
le Web c'est quand même super particulier
et en général c'est des consortiums qui se mettent d'accord
sur des standards
et moi de ce que j'avais compris Apple a plutôt pas mal influencé
la direction WebGPU
qui ressemble
pas mal à du métal il me semble
actuellement ce qui m'étonne justement c'est qu'ils soient
les derniers à se mettre en salle
moi cette batailleurie c'est que Apple
ne sort jamais rien tant que c'est pas calit
c'est pour ça que
l'intelligence artificielle
on peut tous penser qu'ils ont du retard
c'est un sujet, moi je suis con
qu'elle a WWDC qui va sortir en juin 2024
ils vont éclater absolument tout le monde
parce qu'ils attendent
et en général ils attendent ce genre de moments
pour éclater le game
et je suis convaincu qu'ils sont en train de préparer
un moteur de rendu vulcane
un moteur de rendu métal excusez-moi
pour navigateur
sur Safari
et c'est pour ça que pour l'instant ils font pas la promotion
de WebGPU
ils vont justifier que non mais c'est pour des normes de sécurité
c'est la standard de Apple on la connaît
et voilà
mais il y a eu un site
qu'il faudrait que je vous retrouve et je mettrai
potentiellement en commentaire
sur la vidéo Youtube
c'est un mec qui a fait ça
dans une application 3G
il y a plus de 66 features
qui ont été supportées par Apple
et qui ne le sont plus
et du coup au miséageur de iOS
ça saute et il y a plein de trucs qui sautent comme ça
c'est super chiant pour tout le monde
c'est une info de chat donc en vrai il faudrait bien acheter
mais il serait possible que dans Safari
technologie preview fin 2023
il y ait WebGPU qui soit disponible
mais ce qui veut dire que ça n'est pas du tout dans les versions en production
mais ça laisserait présager
et que enfin on se dirige vers
un monde où
il y a cette technologie merveilleuse partout
tout à fait et ils sont en train de bosser
et du coup fin les équipes 3GS sont en train de bosser
à ce qu'on ait des jeux AAA
dans notre navigateur web
et ça ce serait assez marrant quand même
ce serait quand même assez fou
c'était hyper intéressant
merci à toi de nous avoir partagé tout ça
quel beau projet si vous voulez plus d'infos
n'hésitez pas à te suivre sur Twitter
on va essayer de partager ça dans le chat
sans attendre
vous avez le lien qui est pingue actuellement
pour tester le jeu
le multiplayer comme tu l'expliquais
et peut-être potentiellement plus disponible
pour des raisons de Tune
tout simplement
donc essayer peut-être une autre fois
merci en tout cas de nous avoir partagé
cette expérience et très inspirant
ça nous a envie de tester
toute cette techno dont tu nous as parlé
et puis sur ce nous on vous dit
à très bientôt pour de prochaines émissions
vous pouvez suivre Tiffany Hague
sur son Twitter
qu'est ce que tu as prévu toi bientôt
tu te reposes ou tu as des...
c'est un peu
c'est la saison des semites
à AWS du coup je vais pas mal voyager
et puis
tu as des prévues des events
la semaine prochaine je vais assurer de Londres
celui de la semaine d'après
et puis on fait des gros live twitch
aussi sur AWS
sur l'intelligence artificielle comme d'hab
j'en ai un tiffé
et j'en ai un gros assietteur
ce sera à la fin du mois et on va expliquer plein de trucs
sur toutes nos techno
et bah on te retrouve sur le twitch
et vous n'hésitez pas à follow
également notre chaîne twitch on revient
dans deux semaines
mercredi à 19h
et à dix-là très bonne soirée
à tous, au revoir

Les infos glanées

Je suis une fonctionnalité encore en dévelopement

Signaler une erreur

Underscore_

IA, Hacking, Robotique — Des conversations de terrain avec ceux qui construisent. 🥨


Partenariats: underscore@micorp.fr


---


Hébergé par Acast. Visitez acast.com/privacy pour plus d'informations.

Tags
Card title

Lien du podcast

[{'term': 'IA', 'label': None, 'scheme': 'http://www.itunes.com/'}, {'term': 'Investissement', 'label': None, 'scheme': 'http://www.itunes.com/'}, {'term': 'Nouvelles Technologies', 'label': None, 'scheme': 'http://www.itunes.com/'}, {'term': 'Tech', 'label': None, 'scheme': 'http://www.itunes.com/'}, {'term': 'Actu tech', 'label': None, 'scheme': 'http://www.itunes.com/'}, {'term': 'Cybersécurité', 'label': None, 'scheme': 'http://www.itunes.com/'}, {'term': 'Développement', 'label': None, 'scheme': 'http://www.itunes.com/'}, {'term': 'Dev', 'label': None, 'scheme': 'http://www.itunes.com/'}, {'term': 'Entreprenariat tech', 'label': None, 'scheme': 'http://www.itunes.com/'}, {'term': 'IT', 'label': None, 'scheme': 'http://www.itunes.com/'}, {'term': 'Robotique', 'label': None, 'scheme': 'http://www.itunes.com/'}, {'term': 'Technology', 'label': None, 'scheme': 'http://www.itunes.com/'}]

Go somewhere