Programación interactiva con Common Lisp y Raylib: un cubo en vivo

Fuentes: Interactive Raylib with Common Lisp

Este vídeo muestra las posibilidades de la programación interactiva en Common Lisp usando la biblioteca gráfica Raylib. El autor parte de una pregunta frecuente: qué aporta un entorno interactivo al desarrollador medio y por qué Emacs invita a explorar el sistema desde dentro, a diferencia de un sistema operativo convencional donde el usuario no participa en la ejecución del programa.

La demostración utiliza un proyecto en curso —una novela visual promocional— como excusa para ilustrar el flujo de trabajo. Con Raylib enlazado desde Common Lisp, se define una clase que modela un cubo 3D con propiedades como tamaño, ángulo, velocidad, coordenadas y color RGBA. Gracias a un REPL conectado al programa en ejecución, es posible inspeccionar y modificar esas propiedades mientras la escena se renderiza: el usuario cambia la velocidad de rotación del cubo en tiempo real, ajusta el tamaño de los objetos y recompila funciones que alteran la escena al instante, por ejemplo ocultando los cables blancos.

El siguiente paso añade control por teclado. Se escribe una función que recibe la tecla pulsada y, mediante condiciones, incrementa o reduce la coordenada X del cubo al pulsar las flechas derecha e izquierda. La función se enlaza al bucle de dibujo para que el evento se procese antes del renderizado. El resultado es un ciclo de retroalimentación muy rápido entre código y escena, presentado como ejemplo del valor de los sistemas Lisp interactivos para tareas creativas como el desarrollo de juegos.