Haz tu propio juego
moood es una escena viva dibujada con código y una página donde tu código funciona encima de ella: lo que llegue a ser lo decides tú. Qué está abierto, en qué ayuda el estudio y cómo entrar.
En el corazón de moood hay dos cosas. Una escena viva dibujada con código: un lugar con luz, clima, gente y música. Y una página donde el código de tu juego funciona encima de esa escena. Todo lo demás —qué tipo de juego será— lo decide el autor.
Nuestros juegos resultaron ser historias con decisiones: capítulo tras capítulo, líneas con voz, minijuegos. Pero es solo una de las maneras. Una escena puede ser un lugar donde simplemente apetece quedarse un rato. Un juego puede ser un rompecabezas, un juguete, un paseo sin rumbo, una conversación: cualquier cosa que quepa en código. Aquí está lo que hay para ello y cómo usarlo.
Un mundo en moood es un conjunto de escenas. Cada una es un lugar: un muelle al amanecer, una cocina, una estepa nevada. El código la dibuja —luz, agua, niebla, viento, reflejos— y en ella viven personas: caminan, se sientan, se dan la vuelta. La cámara filma sola a quien la escena está mirando. Cada escena tiene su propia música.
Una escena también vive por sí sola. Su estado —amanecer o noche, lluvia o cielo despejado, quién está dónde— cambia mediante claves, y la misma escena puede pasar del crepúsculo a la oscuridad en un minuto. Una escena puede mostrarse sin ningún juego, como una imagen viva: en moood.me también hay bocetos así.
Un juego es código que escribes tú, y cuánto haya de él también depende de ti. La página le da las escenas y todo lo que se puede cambiar en ellas: mostrar otra escena, cambiar el clima, guiar a una persona hasta un lugar, dejar que diga una línea con su propia voz, reproducir un sonido, guardar, pausar. Lo demás es como lo imagines.
Puedes escribir capítulos y decisiones, como hacemos nosotros. Para eso hay ayuda ya hecha: un mapa de la partida, repeticiones, un lenguaje de minijuegos —gestos, marcas y respuestas que el jugador entiende sin letreros—. Puedes no usar nada de eso: dejar una sola escena y permitir que alguien haga algo en ella. Puedes mostrar el juego en tu propio sitio y dejar que su código hable con lo que quieras, incluso con un modelo de lenguaje que interpreta a un personaje.
Al principio cada juego tenía sus propios minijuegos, y el jugador tenía que adivinar cada vez qué pulsar. Después, de quejas y deseos, creció un lenguaje común: una marca sobre un objeto, un gesto de la mano, la respuesta de la escena, una placa arriba —y un sonido que indica si funcionó—. Más en la historia [«El lenguaje de los minijuegos»](/stories/minigame-language). No hace falta usarlo, pero ahorra mucho esfuerzo.
Por una carpeta. Un mundo, un juego y una historia son simplemente carpetas en un repositorio de git: el tuyo, en tu GitHub, con tus coautores, tus ramas y tu historial. En un repositorio caben tantas como quieras.
Lo más cómodo es escribirlos junto con un agente de IA: Claude Code, ChatGPT, Gemini, cualquiera. Para eso existe el repositorio abierto [moood](https://github.com/moood-me/moood): los motores, la página de la escena y la página del juego, el lenguaje de minijuegos, la comprobación y un pequeño reproductor para jugar en tu propio equipo. Guardamos ahí las cosas con una sola regla: si algo hace falta para hacer un juego y jugarlo, está ahí. Y la documentación, escrita para que un agente pueda trabajar con ella: qué importa en una escena y qué no hacer nunca, cómo poner la luz y las personas, cómo se construye un juego, cómo escribir un guion si lo necesitas.
Y para que el agente tenga algo que mirar, abrimos también nuestro propio trabajo: los repositorios [works](https://github.com/moood-me?q=works). Ahí están los mundos y juegos de moood.me con el código de sus escenas y la historia de cómo se hicieron, un campo de pruebas de minijuegos donde cada gesto se puede probar por separado, y pequeños mundos tempranos: ensayos de lo que pueden ser las escenas. Toma lo que te sirva.
Cualquier cosa —un mundo, una escena, un juego, una historia— se nombra con una sola línea: `tu-repositorio@rama:carpeta`. Un commit puede ocupar el lugar de la rama. Así se abre en el estudio, se enlaza desde otro juego, se le da a un agente. Un juego también puede apoyarse en el mundo de otra persona, mediante una dirección así.
Al principio era más complicado: cada mundo tenía ramas de servicio propias para cada sitio donde se desplegaba. Los agentes estaban acostumbrados. Pavel lo miró y dijo: «Qué complicado resulta esto, cognitivamente)… ¿No se puede sin ramas?)» —y pidió pensar no en cómo parchearlo, sino en cómo hacerlo sencillo. Resultó que no hace falta nada más que git: tus ramas son tus borradores.
En tu propio equipo, en el reproductor de moood: funciona sobre tu carpeta, y en cuanto guardas un archivo la página se recarga sola y el juego sigue desde donde estaba. O en el estudio: cualquier rama aparece allí justo después de un push, en el ordenador y en el teléfono. ¿Cambiaste algo mientras jugabas? El estudio te propone seguir con la nueva versión, sin empezar de nuevo.
Hay cosas que no se pueden hacer en tu propio ordenador: hace falta una tarjeta gráfica y modelos que hablen, compongan música y muevan a la gente. Para eso está el estudio. Puedes usarlo entero, tomar de él una sola cosa o no usarlo en absoluto.
**Ver.** El estudio dibuja una escena en una tarjeta gráfica: una imagen, una hoja de fotogramas segundo a segundo, un vídeo. No es solo para ti. Un agente mira su propio trabajo en imágenes y lo corrige por sí mismo mientras tú estás ocupado en otra cosa. Se conecta al estudio una sola vez: tú lo permites en una página que dice con palabras sencillas qué podrá hacer, y desde entonces trabaja en tu nombre.
**Dar vida a la gente.** El movimiento de una persona se describe con palabras: «camina despacio hacia delante», «se sienta y mira el agua». Lo hace un modelo entrenado con grabaciones de movimiento real, y el estudio lo muestra en distintas personas antes de que pase a la escena.
**Dar voz.** Cualquier línea puede ponerse en voz: cada personaje tiene su propia voz y su manera, y una línea suelta puede tener una manera propia: «con envidia y entusiasmo, no con burla». Todas las líneas de un juego están en un solo lugar, y puedes escucharlas.
**Dar música.** Describes con palabras la música de una escena y mezclas las descripciones por peso: «piano suave al anochecer» más fuerte, «lluvia sobre las hojas» más bajo. Puedes escucharla al instante, antes de guardar nada. Lo que se hace una vez se conserva: la misma línea o la misma música no se hace dos veces.
**Empezar sin código.** El estudio tiene un artista: una IA a la que puedes simplemente escribirle: «que sea de noche y que el farol del muelle esté encendido». Edita la escena por sí mismo, y cada cambio se ve al instante. Está para que se pueda empezar un mundo directamente en el navegador, sin editor ni agente propio. Incluso solo por curiosidad: haz un par de escenas y mira qué sale.
**No tartamudear.** Una escena viva debe funcionar con fluidez en un portátil modesto y también en un teléfono. El estudio la mide en distintas máquinas y muestra dónde no da la talla. Por qué esto nos importa tanto, en la historia [«Por qué iba lento»](/stories/why-it-was-slow).
**Hablar todos los idiomas.** Los juegos de moood hablan doce idiomas, y el tuyo también puede. La comprobación encuentra lo que no está traducido, los enlaces que no llevan a ninguna parte, las escenas que no se construyen —y muestra qué voces, música e imágenes faltan—. Lo que falta se hace con un botón. La comprobación es rápida: solo vuelve a dibujar las escenas en la tarjeta gráfica si se lo pides, porque al fin y al cabo uno quiere comprobar a menudo.
Un juego terminado puede proponerse para su publicación en moood.me. Se revisa antes de mostrarse, y luego ocupa su lugar en el sitio junto a los demás, con imágenes de sus escenas, voces y música.
O sin nosotros. Las páginas de moood las puede mostrar cualquier sitio o aplicación que responda a sus pocas peticiones sencillas. Puedes tomar el motor y hacer con él algo totalmente tuyo.
Intentamos que el estudio sea un lugar donde no te pierdas. Está construido como un portal: a la izquierda los servicios —repositorios, mundos, juegos, historias— y el taller: renders, mediciones, voz, música, movimiento, el artista, comprobaciones, publicaciones. Arriba, una búsqueda sobre todo a la vez: escribes «farol» y ves el juego, la historia y la escena. Lo que necesitas se puede marcar con una estrella. Hay tema oscuro y versión para teléfono, y el propio estudio habla los mismos doce idiomas.
También se cazaron detalles pequeños. Pulsas un elemento del menú y nada responde: ¿se pulsó o no? Ahora el elemento se ilumina al instante, y si la página tarda más de un momento, aparece «Cargando…». Si es más rápido, no parpadea nada.
Un agente aparte recorrió todo el estudio como varias personas inventadas: un autor con experiencia, un principiante, alguien que acababa de entrar. Abrió cada página en dos idiomas, en tema claro y oscuro, en ordenador y en teléfono, y anotó dónde tropezaba.
Hubo hallazgos graciosos y fastidiosos. Un autor pulsaba «Medir» y acababa en «no encontrado»: su propia medición no se abría. Un juego en inglés aparecía en el estudio en ruso sin título y sin botón «Jugar». Un principiante se topaba con un callejón sin salida: entra y después no hay nada. Todo se arregló antes de abrir el estudio.
El acceso al estudio lo da Pavel. Escríbele por [Telegram](https://t.me/pavel_zhur) o a [[email protected]](mailto:[email protected]): te abrirá la puerta, así, sin más. Y si te apetece ayudar al propio moood —el motor, las páginas, la documentación—, se alegrará: los issues y pull requests en [moood](https://github.com/moood-me/moood) están abiertos a todos.