Mis papás vinieron de vacaciones a Cancún desde Ciudad Madero, que es de donde soy, y se trajeron a mi sobrino. Tenía muchas ganas de verme, aunque los primeros días casi no me habló. Era la tercera vez que nos veíamos: la primera tenía dos años, la segunda cuatro, y ahora llegaba con seis y medio.
Yo le había regalado un iPad cuando cumplió cuatro. La idea era ponerle juegos de lógica, cosas para aprender. Hace poco descubrió Roblox por su cuenta y ahí se acabó mi plan educativo.
Primero me ganó
Lo vi jugando Rivals, que ni siquiera es un juego para su edad, y me quedé callado. Jugaba bien. Muy bien. Reflejos, puntería, decisiones rápidas.
Yo nunca he sido bueno en shooters. Crecí con Atari y Super Nintendo, en una casa donde no hubo computadora hasta bastante después, así que ese género me agarró tarde y mal. Le pedí que me enseñara. Los primeros días me barrió sin despeinarse.
En algún momento entre partida y partida me dijo que de grande quiere ser como yo. Programador. Que quiere hacer juegos. También creador de contenido de Roblox y Minecraft, para no comprometerse demasiado con una sola carrera.
Le contesté lo único que se me ocurrió: si quieres ser programador, en algún momento hay que hacer algo más que jugar.
Roblox Studio y una sorpresa de hace veinte años
Le instalé Roblox Studio en mi computadora y me puse a leer cómo se hacen las cosas ahí dentro, buscando una forma de explicárselo que no lo aburriera a los diez minutos.
Y me encontré con Lua.
Entre 2005 y 2010 jugué Tibia, y no solo jugué: monté mis propios servidores. Ahí aprendí a construir mapas, a configurar mobs, a pelearme con archivos que hoy reconozco como lo que eran. El servidor estaba en C++ y buena parte de la configuración vivía en Lua. Veinte años después, abrí un script de Roblox y me sentí en casa.
Con la ayuda que tenemos hoy, aprender la parte que me faltaba fue cuestión de días. Preguntarle a una IA cómo funciona algo y recibir el ejemplo exacto que necesitas es una ventaja que no existía cuando yo empecé.
Podía haberlo dejado ahí, pero no
La ruta fácil era clara: le abro el Studio, que le mueva a las paredes y ya está. En unas cuantas horas hizo su primer mapa. Malísimo, para ser honesto. Pasillos que no llevaban a ningún lado y un monstruo que caminaba como si trajera resaca.
Daba igual. Estaba feliz y quería enseñárselo a todo el mundo.
El problema es que en ningún proyecto me sale hacer las cosas por hacer, y este tenía dos riesgos evidentes. Uno, que un niño de seis años con acceso a todo puede romper todo, sin mala intención, en cinco minutos. Dos, que si aquello iba a ser suyo de verdad, tenía que ser un juego, no un pasillo.
Así que le puse la misma red que le pondría a cualquier proyecto de trabajo.
La regla que hizo que esto funcionara
Roblox Studio guarda el mundo y los scripts en el mismo lugar. Si él mueve una pared mientras yo edito código, alguien pierde su trabajo. Y él no va a usar git, evidentemente.
La regla que escribimos en la primera línea del repositorio es esta:
- El mapa se edita en Studio. El laberinto, la casa, el monstruo. Que le mueva lo que quiera.
- El código vive fuera, en
src/, y Rojo lo sincroniza hacia Studio. - Rojo nunca toca el
Workspace, que es donde está el mundo.
Esa última línea es la que lo cambia todo. Mover una pared no puede romper el código, porque el código no está ahí. Él construye sin miedo, yo trabajo en mi editor, y si algo se descompone, se recarga desde el repositorio y no perdimos la tarde.
Alrededor de eso puse lo de siempre: Luau con tipos donde ayudan, Rokit para fijar las versiones de las herramientas, selene para el análisis estático, stylua para el formato y Lune para correr pruebas sin abrir Studio. Nada de esto le hacía falta a un juego de laberinto. A mí sí, cuando el proyecto duerme tres semanas y lo retomo un domingo.
El juego
Con la base ya sólida, empezamos a darle vida de verdad. Dinámicas, recompensas, un perseguidor que persiga como se debe. La idea siguió siendo suya en un setenta por ciento y su trabajo fue el que más me sirvió: probaba cada cambio a los dos minutos y me decía la verdad sin ningún filtro. El monstruo va muy lento. Esa pared no se ve. Ya me aburrí.
Se llama Escapa en el laberinto del hombre musculoso, y esa es su portada ahí arriba, la misma que aparece en Roblox. Hay un detalle que para mí es el más importante de todo esto: está publicado en su cuenta, no en la mía. Cuando alguien lo juega, lo juega en el perfil de Emiliano. Él se siente programador, porque lo es. Y eso me hizo más ilusión que cualquier cosa que haya lanzado este año.
Lo que me dejó a mí
De tanto jugar Rivals me entraron ganas de hacer algo más grande. Llevo tiempo dándole vueltas a llevar a Roblox algo del espíritu de los juegos con los que crecí, Tibia y Tantra Online: un RPG de acción por mazmorras, cooperativo, con combate, botín y progresión. Se llama VORM y va como al setenta por ciento. Lo que falta es el arte, y el tiempo, que es lo que siempre falta.
Mi sobrino ya regresó a Madero. Seguimos jugando un día sí y otro no. Al principio me ganaba siempre; ahora vamos parejos, cosa que él lleva regular. Se enoja. A veces llora. Esa es otra historia.
Empecé en Roblox a los treinta y nueve años porque un niño de seis me dijo que quería ser como yo. Vale la pena revisar de vez en cuando quién te está mirando.



