Un ecosistema de herramientas para crear videojuegos de estilo 8/16 bits.
Con QBJr., un lenguaje de programación propio, completamente en español.
Hecho para aprender, para crear, para jugar.
En los años 80 y 90, millones de personas aprendieron a programar con QBasic: un lenguaje simple que vivía en la pantalla negra de MS-DOS. Sin instalaciones, sin tutoriales de YouTube, sin Stack Overflow. Abrías el programa, escribías código, y algo pasaba.
Reverse Project nació de esa nostalgia convertida en propósito. Queríamos recrear ese momento mágico: la primera vez que tu código hace algo visible, algo divertido, algo tuyo.
Pero con una diferencia crucial: en español. El idioma nunca debería ser una barrera para aprender a programar. Cada palabra clave de QBJr. es en español, pensada para que el código se lea exactamente como lo que hace.
Las restricciones del hardware retro no son limitaciones — son un marco creativo deliberado. 256 colores, resoluciones pequeñas, sprites simples. La presión de la restricción genera ingenio.
Cuatro herramientas web que funcionan juntas. Desde escribir código hasta jugarlo en tu celular como si fuera una consola portátil.
.qbjr y lo jugás como si fuera un Game Boy: D-pad, botones A/B/X/Y, bumpers L/R, SELECT y START. Resolución virtual independiente, pixel-perfect scaling, game loop a 60fps.Un lenguaje de programación educativo diseñado para crear videojuegos retro. Todas sus palabras clave están en español. Inspirado en QBasic, pensado para el siglo XXI.
QBJr. creció junto con su intérprete de referencia. Cada versión mayor incorporó lo aprendido durante la implementación real.
Estado actual del intérprete de referencia y los módulos de QBJr. Actualizado con cada versión.
| MÓDULO | DESCRIPCIÓN | ESTADO |
|---|---|---|
| qbjr-lexer.js | Tokenizador formal. AND/OR/XOR/NOT como KEYWORD case-sensitive. | ✓ Completo |
| qbjr-parser.js | Recursive descent. 30+ comandos de dos palabras. | ✓ Completo |
| qbjr-interpreter.js | Tree-walk con Generators. argNom(), yieldPromise(). | ✓ Completo |
| qbjr-canvas.js | Dibujo 2D. Paletas retro. Flood fill. Fuente Press Start 2P. | ✓ Completo |
| qbjr-input.js | Teclado + mouse + táctil. Combos. Mapeo configurable. | ✓ Completo |
| qbjr-sprites.js | Sprites, instancias, animaciones. Colisiones AABB. | ✓ Completo |
| qbjr-audio.js | Web Audio API. Síntesis y archivos. Pistas con figuras musicales. | ✓ Completo |
| qbjr-layers.js | 6 capas. Parallax. Scroll direccional y por ruta. | ✓ Completo |
| qbjr-tiles.js | Tilesets, tilemaps por capa. Tiles rígidos. COLISIONA_TILE. | ✓ Completo |
| qbjr-physics.js | Gravedad, velocidad, impulso. Resolución AABB vs tiles. | ✓ Completo |
| qbjr-files.js | ABRIR/LEER/ESCRIBIR/CERRAR. Formato .qdat. CARGAR DATOS. | ✓ Completo |
| qbjr-text.js | Renderer Markdown extendido en canvas (bold, italic, color, sub/sup). | ✓ Completo |
| qbjr-engine.js | Game loop RAF. Two-canvas pixel-perfect. Coordinador. | ✓ Completo |
| Reverse Player UI | Consola portátil virtual. Controles táctiles. Escala 0.5×–2.0×. | ✓ Completo |
| QBML Studio | Editor/playground para QBML, el lenguaje de marcado interno de QBJr. Lexer + Parser + renderers HTML y Canvas. | ✓ Completo |
| Empaquetado ZIP | Proyectos portables con main.qbjr + assets en un solo archivo. | Siguiente |
| Puerto C++ / SDL2 | Intérprete nativo para desktop y consolas retro modernas. | Planificado |
| Puerto C# / Godot | Intérprete embebido en Godot Engine para export a plataformas. | Planificado |
| Reverse Studio | Editor de juegos integral con soporte visual para todos los módulos: tiles, capas, física, audio. | Planificado |
Cada decisión del lenguaje — desde la sintaxis hasta la arquitectura del intérprete — responde a estos cuatro principios.
Especificaciones, arquitectura, guías y manuales. Escrito para desarrolladores, docentes y estudiantes por igual.
Desarrollador de videojuegos, músico, escritor y podcaster. Reverse Project es la síntesis de décadas programando, creando y experimentando con herramientas digitales. Nació de la convicción de que aprender a crear videojuegos debería ser accesible para cualquier hispanoparlante, sin importar su formación técnica previa.
El proyecto fue ideado en 2025 y puesto en práctica en 2026. Cada línea de documentación, cada decisión de diseño del lenguaje y cada módulo del intérprete llevan el mismo sello: hacer simple lo que parece complicado.
¿Querés colaborar, dar feedback, reportar un bug, o simplemente saber más? El proyecto está abierto a todo tipo de contribuciones.
El Reverse Project está en desarrollo activo. Hay muchas formas de participar, sin importar tu background: