Neural Drive - Le jeu de kart qui tourne sans moteur de jeu, dans votre navigateur
Aujourd'hui je vais vous parler d'un jeu de karting façon Mario Kart qui fonctionne sans moteur 3D et sans même une seule ligne de code.
En réalité, il s'agit d'un modèle de 130 millions de paramètres qui est capable de deviner à quoi doit ressembler l'image suivante. Cela a été mis en ligne hier soir par Asankhaya Sharma, c'est le gars derrière OptiLLM . Ça s'appelle Neural Drive et ça imite Super Tux Kart , le Mario Kart libre dont je vous ai déjà parlé.
Neural Drive est donc un modèle qui regarde les sept dernières images ainsi que les touches que vous enfoncez sur votre clavier. Son job c'est simplement de peindre l'image suivante. Ainsi, si vous appuyez sur la flèche du haut, il dessinera une carte qui avance, si vous tournez à gauche, il dessinera un virage...etc.
Donc, il n'y a aucun code derrière, c'est juste une hallucination que vous pilotez en 384 x 192.
Les 262 Mo du fichier ONNX se téléchargent dans votre onglet et c'est votre carte graphique qui transpire ensuite, avec le WebGPU. Il y a donc zéro serveur derrière, exactement comme l'agent Gemma que je vous montrais en avril .
Je l'ai testé chez moi sur mon Mac Studio dans Firefox et je suis à 2,5 frames par seconde, ce qui représente 405 millisecondes de génération par image sur mon GPU Apple. Donc autant vous prévenir qu'à ce rythme-là c'est injouable. Vous appuyez sur une touche, le monde se redessine mollement, et vous conduisez comme dans un rêve où vos jambes ne répondent plus... Mais ça reste dingue quand même !
Sharma annonce que sur les MacBook M récents on peut obtenir environ 10 images par seconde, et sur des GPU ça devrait approcher le temps réel, 15 à 20 images par seconde. L'écart avec ma mesure vient sûrement du fait que je suis en train de compiler tout un tas de conneries au moment où j'écris cet article... donc testez plutôt que de me croire sur parole. Et si vous êtes sur mobile, les petits boutons sous l'écran servent de contrôles tactiles, si vous avez de la patience.
Aucune de ces images n'existe dans un fichier de jeu. Le chrono en haut à droite est illisible parce que le modèle le repeint à chaque frame.
Le plus marrant, c'est tout ce qu'il vous dessine en plus de la route. Il régénère aussi l'interface : le compteur de tours, la minimap en bas à gauche, les petites têtes de Tux empilées sur le côté, le chrono en haut à droite. Sauf qu'il ne sait pas ce qu'est un chrono. Du coup les chiffres bavent, se réécrivent tout seuls, vous annoncent un tour 1 sur 300 ! Ce modèle ne compte pas le temps écoulé, il peint simplement des pixels qui ressemblent à du temps. Et pendant ce temps-là le décor fond carrément en haut de l'image, avec des bouts de falaise qui coulent dans le ciel.
Côté cuisine, c'est un LatentDiT de 130,8 millions de paramètres (768 de dimension, 12 couches) posé sur un petit ConvVAE qui compresse l'image d'un facteur 8. Le gros du boulot d'optimisation c'est que le modèle d'origine avait besoin de 8 étapes de débruitage par image, et la version distillée n'en fait plus que 2. C'est ce qui vous fait passer de "démo qui rame" à "démo qui rame un peu moins". Vous démarrez à l'une des 18 positions pré-enregistrées dans un fichier de seeds, et si votre navigateur n'a pas WebGPU, ça bascule sur le CPU avec un message d'avertissement sans ambiguïté : "prêt (CPU, ce sera lent)".
Vous avez aussi les poids PyTorch, dont le checkpoint non distillé de 523 Mo, si l'envie vous prend de bidouiller l'entraînement. C'est la même famille d'idées que DIAMOND, l'IA qui rêve pour mieux jouer , ou que Mirage 2 , sauf qu'ici tout a été ramené à la taille d'une page web. Le kart ne pèse plus que 262 Mo et tient dans un onglet de navigateur !
Bref, c'est une démo, pas un jeu. Mais c'est la première fois que je fais tourner un monde entier chez moi sans envoyer un seul octet à un serveur.
Ça se teste ici , et les poids sont là .

