Doom en Brainfuck con IDE profesional

Descubre Braintease, un IDE web para Brainfuck con una VM basada en cinta, ensamblador, macrolenguaje y compilador C. Visualiza la cinta, depura y ejecuta demos, incluido Doom.

29 ago 2025 • 4 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Resumen rápido TLDR: He creado un entorno de desarrollo profesional para Brainfuck, un lenguaje macro, una máquina virtual estilo RISC implementada en Brainfuck, un ensamblador para la VM, un compilador C con fallos por pulir, un macroensamblador, y todo ello lo usé para mostrar el título de Doom en mi VM ejecutándose técnicamente todavía en Brainfuck. El IDE está disponible en https://braintease.dev y el código en https://github.com/ahineya/braintease

La chispa nació al ver un video donde alguien hizo una serpiente en Brainfuck. Divertido pero lleno de errores, y eso me llevó a preguntarme si podía hacerlo mejor. Como profesional en desarrollo y diseño, echo de menos IDEs bien pensados cuando exploro lenguajes excéntricos, así que empecé por crear el componente editor de código para la web y sobre él construir un IDE completo.

Diseñé un editor con resaltado léxico para Brainfuck, visualización de la cinta y un intérprete inicial para volver a recordar cómo funcionan los comandos básicos. Rápidamente prototipé una canalización de fetch decode execute en unas pocas decenas de líneas y entonces comprendí que necesitaba abstracciones para entender y mantener ese código.

Para ello implementé un segundo lenguaje tipo macro con expansión y análisis sintáctico real, lo que me permitió definir constructos como definir movimientos repetitivos y nombrar secuencias de comandos Brainfuck para legibilidad. Con esos macros empecé a modelar una arquitectura de máquina virtual sobre la cinta.

La idea de los carriles resultó clave. En vez de pensar la cinta como una secuencia lineal, la agrupé en bloques conceptuales que forman carriles paralelos. Cada carril puede dedicarse a registros, códigos de operación, operaciones aritméticas temporales, o trails de unos para moverme rápidamente a posiciones necesarias. Esto resolvió el problema de los punteros y permitió una visualización clara de la cinta en modos de carriles.

Con la VM ya tomando forma tuve que añadir depuración: puntos de ruptura, ejecución paso a paso y visualización de la instrucción actual. Implementé breakpoints accesibles desde la interfaz y la posibilidad de detener la ejecución en una posición concreta para inspeccionar algoritmos complejos, por ejemplo divisiones en Brainfuck.

Después vino la parte de bajo nivel: una implementación completa de la máquina virtual que puede ejecutar código máquina dispuesto en la cinta. Para no trabajar a mano con números crudos escribí un ensamblador y un linker que generan Brainfuck que inicializa la VM y coloca el código en la cinta automáticamente. Eso redujo drásticamente errores humanos al programar en código máquina.

No satisfecho con eso, di el siguiente paso y creé un compilador C que emite código para mi ISA y a la vez para Brainfuck. El proyecto generó más utilidades, como una interfaz TUI de tests. Como ejecutar cientos de tests en la VM Brainfuck era lento, reimplementé la misma VM en Rust para depurar el compilador de forma mucho más ágil sin perder la compatibilidad final con Brainfuck.

La VM incluye también mapeo de memoria para E O, lo que permitió emular controladores de juego, teclado, una terminal 40x25, pantalla RGB565 con doble buffer y un pequeño almacenamiento persistente. Con esto construí demos que van desde FizzBuzz y un intérprete Brainfuck hasta Tetris y una máquina Forth corriendo sobre la VM.

Encontré un bug en el compilador C que corruptaba memoria en función del tamaño del programa; al no poder resolverlo rápidamente adapté mi lenguaje macro para generar ensamblador y escribí un parser de archivos WAD de Doom en macroensamblador. Ver la imagen del título de Doom aparecer en pantalla dentro de la VM fue una de las mayores satisfacciones del proyecto.

Importante para quien quiera reproducir: los programas que no requieren E O mapeada aún funcionan en intérpretes Brainfuck convencionales como https://copy.sh/brainfuck/ siempre que se configure el tamaño de celda a 16 bits, memoria suficiente y comportamiento de desbordamiento en wrap.

Para devolver algo a la comunidad publiqué el IDE en https://braintease.dev y subí todo el código a https://github.com/ahineya/braintease Advertencia: gran parte del trabajo del editor y del ecosistema de herramientas fue acelerado con ayuda de asistentes de código, lo que me permitió dedicarme a diseñar la ISA, el macro lenguaje y escribir demos en Brainfuck, ensamblador, C y Rust en un mes en lugar de varios.

En Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida, especialistas en software a medida, inteligencia artificial y ciberseguridad. Ofrecemos servicios cloud aws y azure, servicios de inteligencia de negocio, soluciones de ia para empresas, agentes IA y dashboards con power bi. Si te interesa trasladar ideas experimentales como esta a soluciones reales de negocio, integrar agentes IA o mejorar tus flujos con aplicaciones a medida, en Q2BSTUDIO podemos ayudar desde la consultoría hasta la entrega de producto.

Palabras clave de posicionamiento buscadas en este artículo: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi. Contacta con Q2BSTUDIO para transformar prototipos en productos y escalar soluciones con la seguridad y la gobernanza que exige la empresa moderna.

Gracias por leer y ojalá este viaje por hacer el tarpit de Brainfuck un poco menos tarpit y mucho más usable te inspire a crear tus propias abstracciones y herramientas. Cheers desde el equipo de Q2BSTUDIO.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat