Laurent Le Brun presenta el proyecto shmup8, un juego de tipo shoot 'em up desarrollado en siete días para la game jam Langjam, cuyo ejecutable final para Windows ocupa apenas 3 kB. El reto consistía en crear un lenguaje de programación y emplearlo para construir un juego. La clave de la reducción de tamaño fue integrar una pequeña máquina virtual de bytecode personalizada, escrita en C++, y delegar toda la renderización gráfica en un único píxel shader GLSL a pantalla completa. La lógica del juego se compila desde un lenguaje con sintaxis similar a C a un bytecode minimalista cuyo único tipo de dato es float32; no hay pila, registros ni etiquetas de tipo, lo que mantiene el intérprete y el bytecode ligeros. Las constantes entre 0 y 255 se almacenan en un byte y el resto de valores en dos bytes mediante un truco de empaquetado de números en coma flotante. El ejecutable se comprimió con Crinkler y el shader se minificó. El flujo de trabajo se basó en live coding: el compilador vuelca bytecode a un archivo y el binario en C++ lo recarga en cada frame, mientras el shader también se recarga al editarlo. Así fue posible iterar sobre el juego sin recompilar C++. En el plano jugable, shmup8 es infinito: arranca con tres enemigos y suma uno cada siete segundos, con tres tipos de enemigos y un sistema basado en teletransporte al impactarles, lo que simplifica el código. La duración por partida se sitúa entre 30 y 60 segundos. El artículo compara además el tamaño del bytecode frente a una versión equivalente en C++ para evaluar si la máquina virtual aporta de verdad una ventaja. El código fuente está disponible en GitHub y el juego puede probarse en itch.io.
