Inspiración
En Internet siempre ha existido la tendencia de intentar ejecutar Doom en cualquier cosa. Pero en este HackUDC 2026, el límite a ello ha pasado a ser el espacio. Queríamos simular un entorno satelital real (en una órbita GEO) donde el ancho de banda es un lujo escaso y la radiación cósmica destruye datos. Así, la pregunta de cómo podríamos nosotros simular estas condiciones con escasos recursos y en tan solo 36 horas captó por completo nuestra atención.
¿Qué hace?
SlaySat permite jugar a DOOM a través de un enlace satelital simulado (ejecutado en una raspberry pi con arquitectura AArch64). En lugar de un streaming tradicional (que colapsaría la red), nuestro sistema comprime el juego para reducir lo máximo posible la transmisión del juego. Además, actúa como un escudo, si la red sufre micro-cortes o interferencias por radiación, el sistema es capaz de detectarlos y autoreparalos, o en su defecto de descartarlos, evitando así que el juego se congele.
¿Cómo lo construimos?
Separamos el proyecto en 2 bloques unidos por sockets UDP asíncronos:
- El Satélite (Servidor): Lo simulamos con una Raspberry Pi con una arquitectura AArch64. Modificamos el código fuente de Chocolate Doom en C. Interceptamos el framebuffer modificando el framerate, reduciendo la paleta de colores a 16 tonos de gris y lo pasamos a un enrutador adaptativo que decide si enviar la imagen en modo RAW, RLE o por un Delta de Coordenadas selectivo.
- Estación de Tierra (Cliente): Programado en Python y Pygame. Desempaqueta la señal, calcula métricas y envía los inputs recibidos del jugador de vuelta al espacio.
Retos afrontados
Uno de los mayores retos fue conseguir una reducción del ancho de bando tan considerable pues para poder llegar a una cifra de 500 Kbps tuvimos que investigar e implementar diversos algoritmos, métodos o protocolos que en un inicio desconocíamos. También sufrimos problemas con la implementación del "escudo" ante modificaciones bits. Descartar una alta cantidad de información no parecía una solución práctica por lo que optamos por métodos que permitiesen su detección y reparación.
¿De que estamos orgullosos?
Nos enorgullece enormemente haber conseguido una reducción del ancho de banda tan grande manteniendo una jugabilidad muy aceptable. Así mismo conseguir y indicador de error (ERR) prácticamente nulo la mayoría del tiempo consiguiendo reparar los bits corruptos sin perder fluidez.
¿Qué hemos aprendido?
Esta experiencia nos ha enseñado a considerar múltiples casuísticas, hallando sus problemas y buscando la mejor solución ante nuestras evidentes limitaciones de hardware y software.
¿Qué es lo próximo?
A nivel de hardware el siguiente paso sería llevarlo directamente a una placa lógica FPGA para acelerar la transmisión y liberar la CPU del satélite casi por completo.
Log in or sign up for Devpost to join the conversation.