﻿﻿{"id":2275,"date":"2026-02-06T16:24:50","date_gmt":"2026-02-06T15:24:50","guid":{"rendered":"https:\/\/elearningsamba.com\/index.php\/arcadegpu-un-moteur-de-jeu-retro-qui-tourne-dans-votre-navigateur\/"},"modified":"2026-02-06T16:24:50","modified_gmt":"2026-02-06T15:24:50","slug":"arcadegpu-un-moteur-de-jeu-retro-qui-tourne-dans-votre-navigateur","status":"publish","type":"page","link":"https:\/\/elearningsamba.com\/index.php\/arcadegpu-un-moteur-de-jeu-retro-qui-tourne-dans-votre-navigateur\/","title":{"rendered":"ArcadeGPU &#8211; Un moteur de jeu r\u00e9tro qui tourne dans votre navigateur"},"content":{"rendered":"<p>Et si les meilleures techniques de game dev des ann\u00e9es 2000 revenaient dans votre navigateur ?<\/p>\n<p><strong>ArcadeGPU<\/strong>, c&#8217;est un moteur de jeu complet qui tourne dans le navigateur gr\u00e2ce \u00e0 WebGPU. C&#8217;est une vraie architecture de jeu avec walkmesh, hitbox BSP, moteur de script, pipeline graphique \u00e0 la PS1 et m\u00eame la physique Jolt int\u00e9gr\u00e9e (un moteur open source utilis\u00e9 dans certains gros jeux).<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/korben.info\/cdn-cgi\/image\/width=1200,fit=scale-down,quality=90,f=avif\/arcadegpu-moteur-jeu-retro-web\/arcadegpu-moteur-jeu-retro-web-2.png\" alt=\"\" loading=\"lazy\"><\/p>\n<p>Le truc c&#8217;est que le dev derri\u00e8re, un Fran\u00e7ais qui bosse seul sur le projet, a pris le parti de ressusciter des techniques qu&#8217;on utilisait entre 2000 et 2010 dans le d\u00e9veloppement de jeux. Du walkmesh pour la navigation des personnages, du hitmesh pour les collisions, du draw call only pour le rendu&#8230; Des trucs qu&#8217;on ne voit quasi plus dans les moteurs modernes, et pourtant c&#8217;est redoutablement efficace pour les ind\u00e9s. Bon, apr\u00e8s faut quand m\u00eame \u00eatre \u00e0 l&#8217;aise avec TypeScript et la stack web, car c&#8217;est pas un moteur drag-and-drop \u00e0 la GameMaker.<\/p>\n<p>\n<img decoding=\"async\" src=\"https:\/\/korben.info\/cdn-cgi\/image\/width=1200,fit=scale-down,quality=90,f=avif\/arcadegpu-moteur-jeu-retro-web\/arcadegpu-moteur-jeu-retro-web-1.jpeg\" alt=\"\" loading=\"lazy\">\n<\/p>\n<p>Car oui comme tout est en TypeScript, vous codez votre jeu comme une app web classique. Vous modifiez votre fichier main.ts, le jeu se rafra\u00eechit en temps r\u00e9el sans avoir \u00e0 tout relancer. Et vous avez toute la pile web en support, du Web Audio API au CSS en passant par les workers async&#8230; Quand on compare avec les 45 secondes de build d&#8217;un projet Unity moyen, y&#8217;a pas photo.<\/p>\n<p>Y&#8217;a aussi un paquet de d\u00e9mos jouables directement sur<br \/>\n<a href=\"https:\/\/aliyah-corp.github.io\/\">le site du projet<\/a><br \/>\net c&#8217;est pas des petits exemples bidon avec un cube qui tourne. Vous y trouverez de vrais prototypes de jeux complets, de la 2D r\u00e9tro au rendu toon 3D avec ombres volum\u00e9triques. L&#8217;id\u00e9e c&#8217;est de fournir des templates pr\u00eats \u00e0 l&#8217;emploi, vous choisissez le gameplay qui vous correspond et vous partez de l\u00e0 (plut\u00f4t que de tout repenser from scratch).<\/p>\n<p>D&#8217;ailleurs y&#8217;a m\u00eame<br \/>\n<a href=\"https:\/\/sokobanversus-3117d.web.app\/\">un jeu en b\u00eata<\/a><br \/>\nd\u00e9velopp\u00e9 avec le moteur, un Sokoban versus, pour voir ce que \u00e7a donne en conditions r\u00e9elles.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/korben.info\/cdn-cgi\/image\/width=1200,fit=scale-down,quality=90,f=avif\/arcadegpu-moteur-jeu-retro-web\/arcadegpu-moteur-jeu-retro-web-3.png\" alt=\"\" loading=\"lazy\"><\/p>\n<p>C\u00f4t\u00e9 compatibilit\u00e9, \u00e7a tourne sur les navigateurs qui g\u00e8rent WebGPU (Chrome, Edge, et Firefox en mode exp\u00e9rimental avec le flag dom.webgpu.enabled). Pour Safari et mobile, c&#8217;est plus al\u00e9atoire pour le moment donc attention si votre cible c&#8217;est iOS. Le projet est open source sous licence Apache 2.0, dispo sur<br \/>\n<a href=\"https:\/\/sourceforge.net\/projects\/arcadegpu\/\">SourceForge<\/a><br \/>\net \u00e7a p\u00e8se environ 400 Mo avec toutes les d\u00e9mos.<\/p>\n<p>Et le rendu&#8230; C&#8217;est du pipeline PSX complet avec ombrage toon, volumes d&#8217;ombre, le tout dans le navigateur. Pour les nostalgiques de la premi\u00e8re PlayStation, c&#8217;est un peu la papillote R\u00e9villon version code (oui \u00e7a change des madeleines ^^), sauf que l\u00e0, c&#8217;est vous qui cr\u00e9ez les jeux.<\/p>\n<p>\n<img decoding=\"async\" src=\"https:\/\/korben.info\/cdn-cgi\/image\/width=1200,fit=scale-down,quality=90,f=avif\/arcadegpu-moteur-jeu-retro-web\/arcadegpu-moteur-jeu-retro-web-4.png\" alt=\"\" loading=\"lazy\">\n<\/p>\n<p>Voil\u00e0, je trouve que cette approche old-school mix\u00e9e avec la techno web moderne c&#8217;est pas b\u00eate du tout. Si vous \u00eates dev ind\u00e9 et que les usines \u00e0 gaz style Unity ou Unreal vous donnent des boutons, \u00e7a vaut peut-\u00eatre le coup d&#8217;aller jeter un oeil. Seul b\u00e9mol, la doc est encore un peu l\u00e9g\u00e8re, donc faudra fouiller dans les exemples pour comprendre l&#8217;API.<\/p>\n<p>Bref, merci \u00e0 Slay3r pour le partage et bravo !<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Et si les meilleures techniques de game dev des ann\u00e9es 2000 revenaient dans votre navigateur ? ArcadeGPU, c&#8217;est un moteur de jeu complet qui tourne dans le navigateur gr\u00e2ce \u00e0 WebGPU. C&#8217;est une vraie architecture de jeu avec walkmesh, hitbox BSP, moteur de script, pipeline graphique \u00e0 la PS1 et m\u00eame la physique Jolt int\u00e9gr\u00e9e (un moteur open source utilis\u00e9 dans certains gros jeux). Le truc c&#8217;est que le dev derri\u00e8re, un Fran\u00e7ais qui bosse seul sur le projet, a pris le parti de ressusciter des techniques qu&#8217;on utilisait entre 2000 et 2010 dans le d\u00e9veloppement de jeux. Du walkmesh pour la navigation des personnages, du hitmesh pour les collisions, du draw call only pour le rendu&#8230; Des trucs qu&#8217;on ne voit quasi plus dans les moteurs modernes, et pourtant c&#8217;est redoutablement efficace pour les ind\u00e9s. Bon, apr\u00e8s faut quand m\u00eame \u00eatre \u00e0 l&#8217;aise avec TypeScript et la stack web, car c&#8217;est pas un moteur drag-and-drop \u00e0 la GameMaker. Car oui comme tout est en TypeScript, vous codez votre jeu comme une app web classique. Vous modifiez votre fichier main.ts, le jeu se rafra\u00eechit en temps r\u00e9el sans avoir \u00e0 tout relancer. Et vous avez toute la pile web en support, du Web Audio API au CSS en passant par les workers async&#8230; Quand on compare avec les 45 secondes de build d&#8217;un projet Unity moyen, y&#8217;a pas photo. Y&#8217;a aussi un paquet de d\u00e9mos jouables directement sur le site du projet et c&#8217;est pas des petits exemples bidon avec un cube qui tourne. Vous y trouverez de vrais prototypes de jeux complets, de la 2D r\u00e9tro au rendu toon 3D avec ombres volum\u00e9triques. L&#8217;id\u00e9e c&#8217;est de fournir des templates pr\u00eats \u00e0 l&#8217;emploi, vous choisissez le gameplay qui vous correspond et vous partez de l\u00e0 (plut\u00f4t que de tout repenser from scratch). D&#8217;ailleurs y&#8217;a m\u00eame un jeu en b\u00eata d\u00e9velopp\u00e9 avec le moteur, un Sokoban versus, pour voir ce que \u00e7a donne en conditions r\u00e9elles. C\u00f4t\u00e9 compatibilit\u00e9, \u00e7a tourne sur les navigateurs qui g\u00e8rent WebGPU (Chrome, Edge, et Firefox en mode exp\u00e9rimental avec le flag dom.webgpu.enabled). Pour Safari et mobile, c&#8217;est plus al\u00e9atoire pour le moment donc attention si votre cible c&#8217;est iOS. Le projet est open source sous licence Apache 2.0, dispo sur SourceForge et \u00e7a p\u00e8se environ 400 Mo avec toutes les d\u00e9mos. Et le rendu&#8230; C&#8217;est du pipeline PSX complet avec ombrage toon, volumes d&#8217;ombre, le tout dans le navigateur. Pour les nostalgiques de la premi\u00e8re PlayStation, c&#8217;est un peu la papillote R\u00e9villon version code (oui \u00e7a change des madeleines ^^), sauf que l\u00e0, c&#8217;est vous qui cr\u00e9ez les jeux. Voil\u00e0, je trouve que cette approche old-school mix\u00e9e avec la techno web moderne c&#8217;est pas b\u00eate du tout. Si vous \u00eates dev ind\u00e9 et que les usines \u00e0 gaz style Unity ou Unreal vous donnent des boutons, \u00e7a vaut peut-\u00eatre le coup d&#8217;aller jeter un oeil. Seul b\u00e9mol, la doc est encore un peu l\u00e9g\u00e8re, donc faudra fouiller dans les exemples pour comprendre l&#8217;API. Bref, merci \u00e0 Slay3r pour le partage et bravo !<\/p>\n","protected":false},"author":1,"featured_media":2276,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"give_campaign_id":0,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_kadence_starter_templates_imported_post":false,"footnotes":""},"class_list":["post-2275","page","type-page","status-publish","has-post-thumbnail","hentry"],"campaignId":"","_links":{"self":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages\/2275","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/comments?post=2275"}],"version-history":[{"count":0,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages\/2275\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/media\/2276"}],"wp:attachment":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/media?parent=2275"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}