ECOSISTEMA DE VIDEOJUEGOS RETRO · 2026

REVERSE
PROJECT

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.

▶ VER HERRAMIENTAS QBJr. — El Lenguaje Colaborar
↓ SCROLL
// MANIFIESTO

¿Por qué Reverse?

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.

◈ ACCESIBILIDAD ANTE TODO
Cualquier hispanoparlante puede aprender a programar videojuegos. Sin barreras de idioma, sin complejidad innecesaria.
◈ RESTRICCIONES COMO ARTE
El hardware de 8/16 bits impone límites. Esos límites estimulan la creatividad y simplifican el proceso de aprendizaje.
◈ CÓDIGO ABIERTO, COMUNIDAD REAL
El proyecto vive si la comunidad lo alimenta. Código libre, documentación pública, puertas abiertas a colaboradores de todo tipo.
◈ EDUCACIÓN COMO OBJETIVO
QBJr. está diseñado para enseñar. Cada decisión del lenguaje prioriza la facilidad de aprendizaje sobre la potencia técnica.
// HERRAMIENTAS

El Ecosistema Reverse

Cuatro herramientas web que funcionan juntas. Desde escribir código hasta jugarlo en tu celular como si fuera una consola portátil.

v0.9.31
▶ PLAYER
REVERSE PLAYER
Una consola portátil virtual. Mobile-first. Cargás tu archivo .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.
Mobile-first 60fps .qbjr .qdat Touch
v1.0
◉ IDE
QBJr. IDE
Entorno de desarrollo integrado para escribir, depurar y ejecutar código QBJr. directamente en el browser. Editor con resaltado de sintaxis, consola de depuración y vista de ejecución en tiempo real. El punto de entrada ideal para aprender el lenguaje.
Editor Debug Sintaxis Browser
v0.2
◆ STUDIO
QBML STUDIO
Editor y playground para QBML, el lenguaje de marcado interno de QBJr. para renderizar texto enriquecido en canvas. Inspirado en BBCode, HTML y Markdown, con salida dual: HTML y Canvas. Incluye lexer, parser y ambos renderers.
QBML Markup Canvas BBCode Markdown
v3
✦ FAP
REVERSE FAP
Frame Animation Program. Editor web de animaciones cuadro a cuadro con QBJr. integrado para definir gráficos mediante código. El origen de todo el proyecto. Inspirado en Macromedia Flash y MS Paint, con ejecución sincrónica por frame.
Animación Pixel Art QBJr. Web
// EL LENGUAJE

QBJr.
Quick Basic Junior

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.

🇪🇸
Vocabulario 100% en español
MIENTRAS, REPETIR, CREAR SPRITE, MOSTRAR, COLISIONA, FISICA GRAVEDAD... El código se lee como lo que hace.
⚙️
Intérprete tree-walk con Generators
Corre en el browser. Game loop a 60fps con requestAnimationFrame. Sin compilar, sin instalar nada.
📦
13 módulos de runtime completos
Canvas 2D, Sprites, Audio (síntesis + archivos), Capas, Tiles, Física, Archivos, Texto con Markdown, Input táctil.
→ DOCUMENTACIÓN Especificación v2.2
mi_juego.qbjr
' Ejemplo: nave espacial básica
PANTALLA 320 200
PALETA retro
DECLARAR ejeX COMO ENTERO
CREAR SPRITE nave "nave.png"
CREAR SONIDO laser "laser.wav"
MOSTRAR nave EN 160 170
REPETIR
LIMPIAR
MOVER nave A ejeX 170
SI TECLADO(FLECHA_IZQUIERDA) ENTONCES ejeX = ejeX - 4 FIN SI
SI TECLADO(FLECHA_DERECHA) ENTONCES ejeX = ejeX + 4 FIN SI
SI TECLADO(TECLA_ESPACIO) ENTONCES
    REPRODUCIR laser
    HACER disparar
FIN SI
ESPERAR 16
HASTA TECLADO(TECLA_ESCAPE)
// ESPECIFICACIÓN

Evolución del lenguaje

QBJr. creció junto con su intérprete de referencia. Cada versión mayor incorporó lo aprendido durante la implementación real.

v1.0 — v1.1
Los fundamentos
  • Dibujo vectorial completo (PUNTO, LINEA, CIRCULO, RECTANGULO...)
  • Variables, operadores, control de flujo
  • SUBPROGRAMAS y FUNCIONES
  • Primer sistema de sprites
  • Origen del lenguaje en Reverse FAP
v2.0
El intérprete de referencia
  • Operadores lógicos renombrados: Y→AND, O→OR, OX→XOR, NO→NOT
  • Variables de una letra liberadas (x, y, o, n...)
  • COLISIONA como operador infijo binario
  • Sistema de capas (FONDO, SCROLL, RUTA)
  • Audio por síntesis y por archivo
v2.1 — v2.2 (actual)
Completo
  • Motor de Tiles: CREAR TILESET, CREAR TILEMAP, PONER TILE RIGIDO
  • Física: FISICA GRAVEDAD, VELOCIDAD, IMPULSO, EN_SUELO()
  • Archivos y datos: ABRIR/LEER/ESCRIBIR, formato .qdat
  • qbjr-text.js: Markdown extendido en canvas
  • 13 módulos de runtime completos
// ESTADO DEL PROYECTO

Roadmap · 2026

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.jsTokenizador formal. AND/OR/XOR/NOT como KEYWORD case-sensitive.✓ Completo
qbjr-parser.jsRecursive descent. 30+ comandos de dos palabras.✓ Completo
qbjr-interpreter.jsTree-walk con Generators. argNom(), yieldPromise().✓ Completo
qbjr-canvas.jsDibujo 2D. Paletas retro. Flood fill. Fuente Press Start 2P.✓ Completo
qbjr-input.jsTeclado + mouse + táctil. Combos. Mapeo configurable.✓ Completo
qbjr-sprites.jsSprites, instancias, animaciones. Colisiones AABB.✓ Completo
qbjr-audio.jsWeb Audio API. Síntesis y archivos. Pistas con figuras musicales.✓ Completo
qbjr-layers.js6 capas. Parallax. Scroll direccional y por ruta.✓ Completo
qbjr-tiles.jsTilesets, tilemaps por capa. Tiles rígidos. COLISIONA_TILE.✓ Completo
qbjr-physics.jsGravedad, velocidad, impulso. Resolución AABB vs tiles.✓ Completo
qbjr-files.jsABRIR/LEER/ESCRIBIR/CERRAR. Formato .qdat. CARGAR DATOS.✓ Completo
qbjr-text.jsRenderer Markdown extendido en canvas (bold, italic, color, sub/sup).✓ Completo
qbjr-engine.jsGame loop RAF. Two-canvas pixel-perfect. Coordinador.✓ Completo
Reverse Player UIConsola portátil virtual. Controles táctiles. Escala 0.5×–2.0×.✓ Completo
QBML StudioEditor/playground para QBML, el lenguaje de marcado interno de QBJr. Lexer + Parser + renderers HTML y Canvas.✓ Completo
Empaquetado ZIPProyectos portables con main.qbjr + assets en un solo archivo.Siguiente
Puerto C++ / SDL2Intérprete nativo para desktop y consolas retro modernas.Planificado
Puerto C# / GodotIntérprete embebido en Godot Engine para export a plataformas.Planificado
Reverse StudioEditor de juegos integral con soporte visual para todos los módulos: tiles, capas, física, audio.Planificado
// FILOSOFÍA

Los principios de QBJr.

Cada decisión del lenguaje — desde la sintaxis hasta la arquitectura del intérprete — responde a estos cuatro principios.

01
Simplicidad ante todo
Cada decisión prioriza la facilidad de aprendizaje sobre la potencia expresiva. Si es más simple de entender, es mejor.
02
Vocabulario en español
Todas las palabras clave están en español. El código se lee como lo que hace: CREAR SPRITE, MOSTRAR, COLISIONA.
03
Una palabra, una función
Ninguna palabra clave comparte nombre con otra. Cada término del lenguaje es único, inequívoco, sin ambigüedad.
04
Portabilidad por diseño
El núcleo del intérprete es independiente del runtime. Mismo lenguaje en browser, C++ con SDL2, o C# con Godot.
// DOCUMENTACIÓN

Todo documentado, todo abierto

Especificaciones, arquitectura, guías y manuales. Escrito para desarrolladores, docentes y estudiantes por igual.

// EL AUTOR
JP
Juan Pablo Castañeda
@jpalcast
📍 Máximo Paz, Buenos Aires, Argentina · Estudio J&J

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.

// CONTACTO Y COMUNIDAD

Sumate al proyecto

¿Querés colaborar, dar feedback, reportar un bug, o simplemente saber más? El proyecto está abierto a todo tipo de contribuciones.

TWITTER / X
@jpalcast
¿CÓMO PODÉS
COLABORAR?

El Reverse Project está en desarrollo activo. Hay muchas formas de participar, sin importar tu background:

  • Programadores — implementar módulos o portar el intérprete
  • Diseñadores — UI/UX de las herramientas y el sitio
  • Docentes — usar QBJr. en clase y dar feedback real
  • Creadores — hacer juegos, compartirlos, documentarlos
  • Traductores — documentación en otros idiomas
  • Mecenas — apoyo económico para sostener el proyecto

✉ ESCRIBIR AL AUTOR