Doom dans un message Telegram : des images de 1 024 octets
Un développeur fait tourner Doom dans un seul message Telegram. Le moteur reste sur un Mac et chaque image doit tenir dans une réponse de bot de 1 024 octets.

Un développeur a rendu Doom jouable dans un seul message Telegram. Le moteur reste sur son Mac ; dans la conversation, on ne voit qu'une petite image et six boutons : avancer, reculer, tourner à gauche, tourner à droite, tirer et ouvrir la porte.
Un appui déclenche, par exemple, TelegramWidget.request("right"). Le bot retrouve la session de jeu et transmet la commande à ViZDoom, qui fait avancer la simulation de cinq ticks. Le joueur pivote, les ennemis bougent, les projectiles volent, puis le monde se fige de nouveau. Le bot prélève l'image dans le tampon d'écran et la renvoie via answerWidgetQuery ; le widget remplace la source de l'image dans le même élément. Même après des dizaines de coups, la conversation ne contient donc qu'un seul message de jeu.
La limite de 1 024 octets
ViZDoom produit une image RVB de 320 × 200 pixels, soit 192 000 octets avant compression. La réponse entière doit tenir en 1 024 octets et contenir l'image sous forme de chaîne Base64. Comme trois octets deviennent quatre caractères, le WebP ne peut dépasser 768 octets.
L'auteur garde une qualité WebP constante et ajuste la résolution image par image. Il essaie d'abord 120 pixels de large, puis 96, 80, 64, 48 et 32, la hauteur suivant les proportions. La vérification porte sur la chaîne finale encodée : un mur vide et une salle avec un ennemi peuvent donc arriver en résolutions différentes. Les ennemis lointains sont difficiles à distinguer, mais on peut ouvrir une porte et voir qui se cache derrière. Tant qu'une réponse est en route, le widget ignore les nouveaux appuis, avec au moins 1 010 ms entre deux requêtes. Le jeu étant au tour par tour, les monstres n'avancent pas pendant l'attente.
Tests et installation
Dans Telegram pour macOS, l'auteur a vérifié le trajet de la salle de départ à la porte, la rotation et le tir. Il a testé le niveau complet à part, dans ViZDoom en local, avec les mêmes six boutons et cinq ticks par tour : 537 tours jusqu'à l'interrupteur de sortie, avec 48 % de santé restante et six ennemis éliminés.
Pour l'installer, il faut Python 3.12, le jeton de son propre bot et le fichier original DOOM1.WAD de Doom Shareware 1.9, absent du dépôt. Le chemin se règle via DOOM_WAD. Le bot de jeu gère jusqu'à six sessions et les libère après dix minutes d'inactivité.
Le projet a donné naissance à Awesome Telegram Widgets. Le bot @awesomewidget_bot propose Doom, un Pacman au tour par tour, une calculatrice, une météo de démonstration, un choix d'itinéraire et une messagerie de démonstration, avec catégories, recherche et liens vers les projets d'origine. Les développeurs peuvent proposer leurs propres widgets au catalogue.
Des apps à découvrir
Touche les bonnes cases, additionne, atteins l'objectif. Facile à apprendre, difficile à maîtriser. Gratuit, pour tous les âges.
Discutez avec un partenaire IA ; chaque phrase revient corrigée et expliquée dans votre langue. 9 langues, de A1 à C2.
Ouvrez des messages EDIFACT et X12, chaque segment expliqué, conversion JSON/XML, export PDF et Excel. Fonctionne en local, sans envoi.
Choisissez pour qui, l'occasion et la personnalité. Le moteur lit les descriptions de produits de boutiques locales et classe ce qui convient. Gratuit, sans inscription.
Plus d'actus de ce jour
Tout voir →
Steam affiche la fréquence d'images moyenne sur Steam Deck

QuantumDiamonds : des capteurs en diamant pour traquer les défauts de puces

Parloa renforce son partenariat avec OpenAI et accède tôt aux modèles

Paribu lance l'IA Paribu Intelligence et un terminal gratuit
Plus dans: Logiciels
Tout voir →
WhatsApp : Kunal Shah promet une appli plus simple et plus d'IA

VORA AI DOCS : Linkbricks lance un bureautique gratuit pour HWP

Asahi Linux passe au copyleft pour limiter la reprise de son code
