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 • Equip 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?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.

Live Chat