Doom en un mensaje de Telegram: fotogramas de 1.024 bytes
Un desarrollador ha logrado jugar a Doom dentro de un solo mensaje de Telegram. El motor corre en un Mac y cada fotograma debe caber en 1.024 bytes.

Un desarrollador ha conseguido que Doom sea jugable dentro de un único mensaje de Telegram. El motor se queda en su Mac; en el chat solo aparecen una imagen pequeña y seis botones: avanzar, retroceder, girar a izquierda o derecha, disparar y abrir la puerta.
Al pulsar un botón, el widget llama, por ejemplo, a TelegramWidget.request("right"). El bot localiza la sesión de juego y pasa la orden a ViZDoom, que avanza la simulación cinco ticks. El jugador gira, los enemigos se mueven, los proyectiles vuelan y después el mundo vuelve a congelarse. El bot toma el fotograma del búfer de pantalla y lo devuelve mediante answerWidgetQuery; el widget cambia la fuente de la imagen en el mismo elemento. Así, tras decenas de movimientos, el chat sigue teniendo un solo mensaje de juego.
El límite de 1.024 bytes
ViZDoom entrega un fotograma RGB de 320 × 200, es decir, 192.000 bytes sin comprimir. La respuesta completa debe caber en 1.024 bytes e incluir la imagen como cadena Base64. Como cada tres bytes se convierten en cuatro caracteres, el WebP puede ocupar como máximo 768 bytes.
El autor mantiene constante la calidad del WebP y ajusta la resolución en cada fotograma. Prueba primero con 120 píxeles de ancho y luego con 96, 80, 64, 48 y 32, escalando la altura de forma proporcional. La comprobación se hace sobre la cadena ya codificada, de modo que una pared vacía y una sala con un enemigo pueden llegar con resoluciones distintas. Los enemigos lejanos apenas se distinguen, pero se puede abrir una puerta y ver quién hay detrás. Mientras una respuesta está en camino, el widget ignora nuevas pulsaciones, con al menos 1.010 ms entre solicitudes. Al ser por turnos, los monstruos no se acercan durante la espera.
Pruebas y puesta en marcha
En Telegram para macOS, el autor comprobó el recorrido desde la sala inicial hasta la puerta, el giro y el disparo. El nivel completo lo probó aparte, en ViZDoom local, con los mismos seis botones y cinco ticks por turno: llegar al interruptor de salida requirió 537 turnos, con un 48 % de salud restante y seis enemigos abatidos.
Para ejecutarlo hacen falta Python 3.12, el token de un bot propio y el DOOM1.WAD original de Doom Shareware 1.9, que no está en el repositorio. La ruta se indica con DOOM_WAD. El bot de juego admite hasta seis sesiones y las libera tras diez minutos de inactividad.
Del proyecto nació Awesome Telegram Widgets. En @awesomewidget_bot hay Doom, un Pacman por turnos, una calculadora, un pronóstico del tiempo de demostración, selección de rutas y correo de demostración, con categorías, búsqueda y enlaces a cada proyecto original. Los desarrolladores pueden proponer sus propios widgets para el catálogo.
Apps que merecen la pena
Toca las casillas correctas, suma y alcanza el objetivo. Fácil de aprender, difícil de dominar. Gratis, para todas las edades.
Conversa con un compañero de IA; cada frase vuelve corregida y explicada en tu idioma. 9 idiomas, de A1 a C2.
Abre mensajes EDIFACT y X12, cada segmento explicado, conversión a JSON/XML, exportación a PDF y Excel. Funciona en local, sin subir nada.
Elige para quién es, la ocasión y su personalidad. El buscador lee las descripciones de tiendas locales y ordena lo que encaja. Gratis, sin registro.
Más de este día
Ver todas →
Steam muestra los fps medios de los juegos en Steam Deck

QuantumDiamonds usa sensores de diamante para detectar fallos en chips

Parloa amplía su alianza con OpenAI y accede antes a nuevos modelos

Paribu presenta la IA Paribu Intelligence y un terminal gratuito
Más en: Software
Ver todas →
El CEO de WhatsApp, Kunal Shah, plantea una app más simple e IA

Linkbricks lanza VORA AI DOCS, ofimática gratuita para HWP

Asahi Linux adopta copyleft para frenar la copia de su código
