Mi otro hijo tampoco para de crear: así nació LO-E, su propio hub de videojuegos
Luca Cantón ha creado LO-E, un hub donde convierte las ideas de videojuegos que le van pasando por la cabeza en siete mundos jugables desde el navegador.
Un taller para empezar desde cero: usar OpenCode con capturas reales, pedirle que cree el juego y dejarle la parte técnica. Firebase con preparación única del adulto.

Después de contar lo que están creando Leo con MAD TOWER y Luca con LO-E, muchos padres me han escrito con la misma pregunta:
«Mi hijo también tiene un montón de ideas. ¿Cómo podemos empezar?»
Vamos a empezar por algo que ya sabemos hacer: contar una idea.
No tenéis que aprender comandos ni escribir código antes de ver algo moverse. Le pediremos a la IA que prepare los archivos, abra el juego y se encargue del trabajo técnico. Nosotros elegiremos qué queremos crear, lo probaremos y decidiremos qué cambiar.
No lo hará todo bien a la primera. Tampoco puede tomar por nosotros decisiones sobre cuentas, permisos o gastos. Ahí estará el adulto.
La primera meta es pequeña: que hoy podamos jugar a algo que hemos imaginado. Publicarlo puede esperar a otro día.
Necesitáis un ordenador, navegador, conexión y un adulto disponible. No vamos a introducir tarjetas ni contratar servicios.
Esta guía tiene actividades para niños de 10 a 14 años, pero no todos pueden usar las mismas herramientas. OpenCode excluye el uso de sus servicios por menores de 13 años. Para 10–12, el niño diseña, dibuja y prueba en local; el adulto maneja la IA online, sin cederle su cuenta. Para 13–14, comprobad las condiciones del servicio y la autorización familiar. Los proveedores de modelos pueden tener requisitos adicionales. Condiciones de OpenCode.

En el chat hablamos de juegos: no ponemos contraseñas, fotografías, colegio, dirección ni información personal.

Las capturas de la aplicación están tomadas en OpenCode Desktop 2.0.12 para Mac, en español, con un proyecto de demostración llamado Cazaestrellas. En Windows o en otras versiones algunos controles pueden cambiar. Los dibujos de apoyo se identifican como esquemas, no como pantallas reales.
¿Queréis probar primero el resultado? Jugad a Cazaestrellas. Es un robot que recoge estrellas y esquiva un meteorito. También podéis descargar el juego y los mensajes para la IA.
Un gato que recoge peces. Una nave que esquiva rocas. Un robot que busca estrellas.
Elegid un personaje, algo que hacer y una manera de ganar. Todavía no hacen falta cien niveles ni un mundo infinito. Las demás ideas se apuntan en una hoja llamada Para después.
Abrid la página oficial de descarga. Buscad OpenCode Desktop, que es la aplicación de escritorio, y descargad la versión de vuestro ordenador.

Podéis ignorar las líneas de comandos de arriba. Estamos siguiendo la ruta de la aplicación de escritorio.
En Mac, → Acerca de este Mac indica si tiene un chip Apple M o Intel. En Windows, el adulto puede comprobar el tipo de sistema en Configuración → Sistema → Información si duda de la descarga compatible.
En Windows, abrid el instalador descargado y seguid sus indicaciones. En Mac, abrid la descarga y arrastrad la aplicación a Aplicaciones si así lo indica.
Si aparece una alerta inesperada, comprobad con el adulto el origen de la descarga. No desactivéis las protecciones del ordenador para continuar.
En Documentos, cread una carpeta llamada MisJuegos. Dentro, otra llamada Cazaestrellas.
En Windows: Explorador de archivos → Documentos → botón derecho → Nuevo → Carpeta. En Mac: Finder → Documentos → Archivo → Nueva carpeta.
No hace falta crear los archivos del juego. Se lo pediremos a la IA.

Si preferís partir del descargable, descomprimid el ZIP y colocad su contenido dentro de Cazaestrellas. En Windows usad Extraer todo; en Mac, doble clic. No trabajéis dentro del ZIP.
Queremos que OpenCode pregunte antes de modificar archivos o ejecutar acciones. He dejado la configuración preparada: solo hay que descargarla y colocarla, sin escribir código.
La configuración permite leer los archivos del juego y pide permiso para las acciones. Pide aprobación para acceder fuera del proyecto y bloquea la lectura directa de algunos nombres habituales de secretos. El adulto solo autoriza las ubicaciones concretas necesarias, nunca todas sus carpetas. Cuando pidamos el primer cambio, verificaremos que pregunta de verdad. Si no lo hace, revisad configuraciones globales, agentes, autorizaciones guardadas y que no esté activada la aprobación automática.
No es una caja de seguridad: un programa autorizado se ejecuta con el acceso del usuario del ordenador. Es preferible usar un usuario dedicado al taller, sin documentos de trabajo ni otras credenciales. Referencias: permisos V2 y permisos V1.
En la pantalla inicial de OpenCode, buscad Proyectos y pulsad el icono de carpeta con un +, a su derecha. En nuestra versión se llama Añadir proyecto al situar el cursor encima.
Elegid la carpeta Cazaestrellas. Seleccionad ese proyecto y pulsad Nueva sesión. Comprobad que debajo del cuadro de conversación pone Cazaestrellas, no otro proyecto.

Si aparece «Sin Git», no os bloqueéis con ello: para este primer juego no necesitáis configurar Git.
Mirad debajo del cuadro donde se escribe, hacia la izquierda. Hay un nombre de modelo y una pequeña flecha hacia abajo. En nuestra captura pone Space Bunny Free; en vuestro equipo puede poner otro.
Haced clic en ese nombre, no en el botón + de adjuntar archivos. Se abrirá la lista.

En la captura aparecen varias. Por ejemplo, Space Bunny Free tiene la etiqueta Gratis y una marca a la derecha porque es el seleccionado.
Los modelos y su disponibilidad cambian. Una suscripción conectada o unos créditos de bienvenida no significan uso gratuito indefinido. Si no encontráis ninguno, comprobad Gestionar modelos, al final del menú, con el adulto; no conectéis un servicio de pago para seguir el tutorial.
Si pide tarjeta, saldo o recarga automática, parad. Podéis continuar con el juego descargado. Si el modelo alcanza un límite, esperad en vez de pagar por impulso.

Algunos modelos gratuitos pueden usar las conversaciones para mejorar modelos. Revisad sus condiciones y limitaos a las ideas del videojuego.
Copiad este texto en el cuadro grande. No hay que escribirlo en ninguna terminal.
Vamos a hacer nuestro primer videojuego y empezamos desde cero.
Explícanos las cosas en español y con palabras sencillas.
Danos una sola tarea cada vez y espera a que la terminemos.
Encárgate tú de crear los archivos y de la parte técnica.
No nos des listas de comandos para copiar.
Antes de instalar, ejecutar acciones o publicar,
explica para qué sirve y pide permiso al adulto.
Trabaja solo en la carpeta del juego.
No cambies tus permisos ni leas archivos privados.
Si algo no puedes hacerlo desde aquí, dilo y guíanos
con un único paso sencillo.
Para enviarlo, pulsad la flecha hacia arriba situada a la derecha del cuadro. El + de la izquierda sirve para adjuntar, no para enviar.
Este mensaje expresa nuestra intención; no sustituye a los permisos del paso 5.
Un prompt es simplemente la petición que escribimos. Aquí tenéis uno:
Quiero crear Cazaestrellas: un robot recoge diez estrellas
y esquiva un meteorito. Que se juegue en el navegador
con flechas y botones para móvil. Pon Jugar, Pausa y Reiniciar.
Haz una primera versión pequeña, sin cuentas, compras,
anuncios ni sonidos fuertes. Que pueda abrirse en el navegador
sin instalar programas adicionales para jugar.
Guarda los archivos que se publicarán en una carpeta public.
Encárgate tú de los archivos y de la parte técnica.
Primero dime tu plan en pocas frases y espera mi confirmación.

Ejemplo de mensaje preparado en la aplicación, antes de enviarlo. No es una respuesta simulada de la IA.
Si usáis el descargable, pedid en su lugar: «Ya tengo el juego en esta carpeta. Míralo sin cambiarlo y propón una primera mejora pequeña».
Si encaja: «Sí, crea esa primera versión».
Si propone demasiado: «Eso lo dejamos para después. Quiero una pantalla y poder jugar ya».
Si OpenCode está en modo Plan y explica que no puede hacer cambios, cambiad al modo Build, de construcción, usando el selector de agente que ofrezca vuestra versión. No hace falta memorizar atajos.
Cuando pida crear archivos, comprobad que estén dentro del proyecto. Para empezar, elegid permitir una vez, no permitir todo permanentemente.
Si no se entiende una acción, rechazadla y preguntad: «¿Para qué necesitas hacer eso? Explícalo sin tecnicismos». Si no solicita permiso al editar, revisad la preparación del paso 5 antes de seguir.
Para esta primera versión no debería necesitar instalaciones. Recordadle que queremos un juego sencillo que se abra directamente en el navegador.
Quiero probar el juego. Ábrelo en el navegador si puedes.
Si no, dime exactamente qué archivo debo abrir y dónde está.
Una sola instrucción, por favor.
Si necesitas preparar algo, encárgate tú y pide permiso
al adulto. No me des una lista de comandos para copiar.

Este es otro ejemplo de mensaje antes de enviarlo; no implica que la aplicación ya haya construido el juego.
No todas las instalaciones pueden abrir ventanas. En nuestro descargable basta con abrir la carpeta public y hacer doble clic en index.html. Si pregunta con qué abrirlo, elegid el navegador.
Pulsad Jugar, moveos y recoged una estrella. ¿Sube el marcador? Probad Pausa y Reiniciar. ¿Podéis volver a empezar?

La versión creada por vuestra IA puede verse diferente. Esa es parte de la gracia.
Si el robot no se mueve, haced clic dentro del juego y comprobad que está empezado y no pausado.
Ahora quiero que el robot sea verde y tenga una cara sonriente.
Cambia solo eso. No cambies la dificultad ni los controles.
Cuando termines, dime cómo ver el resultado.
Esperad, recargad el navegador y comprobadlo. Una cosa cada vez hace más fácil ver qué funciona.
Pulso Jugar y veo al robot, pero las flechas no lo mueven.
He hecho clic dentro del juego y sigue pasando.
Estoy usando Chrome.
Comprueba qué ocurre y arregla solo ese problema.
Después dime cómo probarlo.
No necesitáis adivinar dónde está el error. Podéis adjuntar una captura solo del juego, revisada por el adulto, sin información de otras ventanas. Si os pide algo que no sabéis encontrar: «Dime dónde pulsar, una instrucción cada vez».

Guarda una copia de esta versión que funciona.
Ponla en una carpeta llamada copias, fuera de public.
Incluye solo el juego, nunca claves ni archivos privados.
Dime cómo te pediría volver a esta versión.
Si una mejora no os gusta: «Quiero volver a la copia anterior. Dime qué vas a sustituir y espera mi confirmación».
Si vuestro juego crece y necesita una vista previa local, pedid:
Prepara y pon en marcha tú la vista previa.
Comprueba primero qué herramientas hay instaladas.
Antes de instalar o ejecutar algo, explica qué harás
y solicita permiso al adulto. No cambies la seguridad
del ordenador ni accedas a carpetas ajenas.
Cuando funcione, dame el enlace para abrirlo.
El enlace local funciona en vuestro ordenador, pero todavía no es el que enviaremos a los amigos. Cuando terminéis: «Detén la vista previa que has iniciado».
No es una materia nueva que tengáis que aprender. Es una herramienta que la IA puede necesitar para ciertas tareas, sobre todo para publicar.
El adulto abre la descarga oficial de Node.js, elige el instalador LTS de su sistema y sigue las indicaciones. Después reabre OpenCode y escribe: «Ya está instalado. Comprueba que puedes usarlo y continúa tú».
Si la IA puede hacer la instalación por una vía oficial y el adulto entiende y aprueba esa acción, puede encargarse ella. No concedáis permisos generales ni desactivéis protecciones para salir del paso.
Podéis cambiar estrellas por frutas, bajar la velocidad o pedir un nuevo personaje. También podéis preguntar: «Explícame una parte pequeña de lo que has cambiado».
En casa, Leo y Luca tienen formas distintas de crear. Para quien se abruma, puede ayudar tener a la vista solo el siguiente paso. Para quien encadena ideas, una hoja de «para después». Preguntad qué les sirve: no todos los niños con TEA o TDAH necesitan lo mismo. Esto es un taller creativo, no una terapia ni una promesa clínica.
Aquí puede terminar el primer día. Ya hemos hecho algo jugable.
Ahora queremos un enlace que pueda abrir otra persona. Usaremos Firebase Hosting para guardar el juego en Internet.
La cuenta de servicio será una identidad dedicada a publicar. El adulto la prepara una vez; después podemos pedir a OpenCode que compruebe y publique el juego. No hay que aprender los comandos de Firebase.
La clave no sustituye a las herramientas de publicación: la IA tendrá que prepararlas también. Y la clave es privada, por lo que no se pega en el chat ni se guarda dentro del juego.

El adulto abre Firebase Console, inicia sesión con su cuenta y pulsa Crear un proyecto o Añadir proyecto.
Elegid un nombre, por ejemplo Taller Cazaestrellas, y revisad el identificador propuesto: será parte de la dirección pública. No pongáis el nombre completo del niño.
Para este taller, saltad o desactivad Analytics y otros asistentes opcionales. Cread un proyecto nuevo sin otras aplicaciones ni datos del trabajo.
El proyecto debe estar en el plan Spark, sin cuenta de facturación asociada. No añadáis tarjetas ni activéis Blaze.
Usaremos Hosting, no App Hosting, bases de datos o funciones. Hay cuotas gratuitas, no capacidad ilimitada. Si se agotan, parad y revisad los límites oficiales de Hosting, sin activar pagos por impulso.
Lo encontraréis en la configuración del proyecto. Es distinto del nombre visible y no es una contraseña.
Guardadlo para indicarle a la IA dónde publicar. Cuando veáis [ID DEL PROYECTO] en los siguientes mensajes, sustituidlo por ese valor, sin los corchetes.
En Google Cloud Console, el adulto selecciona el mismo proyecto de Firebase.
Entrad en IAM y administración → Cuentas de servicio → Crear cuenta de servicio. Poned un nombre como publicador-juegos.
Si el texto de la consola cambia, podéis pedir a OpenCode: «Guíame para encontrar las cuentas de servicio, un paso cada vez». No adjuntéis capturas con datos privados.
Añadid estos roles a la cuenta en ese proyecto:
Si la consola está traducida, podéis buscarlos por sus identificadores: roles/firebasehosting.admin y roles/serviceusage.apiKeysViewer. No concedáis Owner, Editor ni administración general de Firebase. Roles oficiales de Hosting.
Son permisos importantes aunque estén limitados a ese proyecto. Por eso debe ser un proyecto dedicado al taller. No hace falta conceder a otras personas acceso a la cuenta en las pantallas opcionales.
Abrid la cuenta creada → Claves → Añadir clave → Crear clave nueva → JSON.
Se descargará un archivo privado. Quien tenga esa clave puede usar sus permisos. No lo peguéis en OpenCode. No lo guardéis en Cazaestrellas, public, un repositorio ni una carpeta compartida.
El adulto lo mueve a una carpeta privada del ordenador, fuera del proyecto y de carpetas sincronizadas, y comprueba que no queden copias en Descargas. Puede llamarlo firebase-service-account.json. Limitad el acceso a ese usuario del equipo.

Si vuestra organización bloquea la creación de claves, no intentéis saltar esa política. Podéis quedaros en local o pedir al adulto que use el inicio de sesión de Firebase como alternativa, con ayuda de la IA. Crear claves de servicio.
El descargable incluye una carpeta scripts con un publicador preparado. Si hicisteis un juego desde cero, copiad esa carpeta del descargable al proyecto, sin reemplazar vuestro juego.
Después enviad:
El adulto ha creado una cuenta de servicio para publicar
en Firebase Hosting. Nuestro proyecto es: [ID DEL PROYECTO].
Lee scripts/INSTRUCCIONES-PARA-LA-IA.md y los programas
configure.mjs y deploy.mjs de esa misma carpeta.
Prepara las herramientas que necesitan.
Comprueba qué hay instalado y pide permiso antes de instalar.
Encárgate tú de la parte técnica; no nos des comandos para copiar.
No modifiques el publicador ni amplíes permisos.
No leas claves ni pidas que peguemos su contenido.
No uses la sesión personal del adulto como alternativa.
Todavía no publiques.
Después te daremos la ruta de la clave, no su contenido,
para que uses el configurador local con permiso del adulto.
Si necesita Node.js, seguid el desplegable del paso 18. La IA puede instalar las herramientas de Firebase y preparar la configuración con los permisos del adulto; la clave la sigue custodiando la persona.
El publicador necesita dos datos: el ID del proyecto y la ruta del archivo privado.
El adulto copia la ruta del archivo: en Windows, botón derecho → Copiar como ruta de acceso; en Mac, mantened pulsada Opción al abrir el menú contextual de Finder y buscad Copiar… como ruta. Si no encontráis esa opción, pedid que os guíe para vuestro sistema. No adjuntéis el archivo ni lo abráis para copiar su texto.
Sustituid el hueco de este mensaje por la ruta:
El archivo privado de la cuenta de servicio está en:
[RUTA DEL ARCHIVO].
Usa scripts/configure.mjs para preparar la configuración
con el ID de nuestro proyecto y esa ruta.
Pide permiso para ejecutar solo esa preparación.
No abras ni imprimas el contenido de la clave en el chat.
No copies la clave dentro del proyecto.
El programa local puede comprobarla sin mostrarla.
Si hay una configuración anterior diferente, detente.
Todavía no publiques nada.
La IA ejecuta el configurador y no hay que escribir JSON a mano. El adulto revisa la acción. Si pide acceso externo, se autoriza únicamente la ubicación necesaria para este paso, no todas las carpetas. La ruta no es la clave, aunque puede incluir el nombre del usuario del ordenador: no la incluyáis después en capturas públicas.
Espera un archivo llamado deploy.json dentro de .config/taller-videojuegos, en la carpeta de su usuario del ordenador. Sus dos campos son projectId y credentialPath. El segundo contiene la ruta absoluta del archivo de clave, nunca la clave en sí.
El configurador crea este archivo automáticamente. No copia la clave ni sustituye una configuración anterior diferente. Si detecta otra, el adulto tiene que decidir qué hacer antes de continuar.
El programa comprueba que cuenta y proyecto coincidan, publica solo public y aísla la configuración de la herramienta para no reutilizar por accidente una sesión personal más potente. Su revisión detecta algunos errores comunes, pero no todos los secretos ni todos los datos privados.
Antes de subir nada:
El adulto ha terminado la configuración privada.
Usa el publicador preparado para comprobar los archivos
y, si la comprobación pasa, pide permiso para crear
un enlace temporal de pruebas que caduque en un día.
No publiques todavía en la web principal.
No leas claves ni cambies el script, la configuración o los permisos.
No uses otra cuenta si falla.
Si falta algo, detente y explícaselo al adulto.
Devuelve el enlace solo si la publicación ha terminado bien.
La IA ejecuta los pasos. El adulto revisa y autoriza la publicación concreta. No hace falta permitir toda la terminal para siempre.
Probad el enlace en otro dispositivo. Un enlace temporal también es público, no una forma de compartir secretos. Pruebas de Hosting.
Hemos probado el juego y el adulto aprueba esta versión.
Usa el publicador preparado para actualizar la web principal
de nuestro proyecto, tras solicitar el permiso necesario.
No cambies el script ni amplíes permisos.
Confirma el resultado real y danos el enlace para compartir.
La dirección normalmente terminará en web.app. Abridla vosotros antes de enviarla. Si aparece un error, no demos por hecho que se ha publicado.

Guarda una copia de la versión que funciona.
Quiero cambiar lo siguiente: [MI IDEA].
Prepárame una prueba local, sin publicar todavía.
Cuando la revisemos, te diremos si actualizamos la web.
Después de probar y aprobar, repetís la petición de publicación. Guardar un cambio en el ordenador no actualiza la web automáticamente.
Aquí «automático» significa que OpenCode ejecuta lo técnico cuando se lo pedimos y autorizamos, no dejar a un agente publicando sin supervisión.
Una cuenta de servicio reduce el alcance de los permisos, pero su clave sigue siendo valiosa. Ejecutar código con el usuario del adulto puede darle acceso a sus archivos: no basta con decirle a la IA que no los lea.
Si la clave deja de usarse o se ha compartido por error, el adulto la revoca desde IAM. Borrar el archivo local no invalida otras copias. Si se publicó, retiradla también del contenido público y revisad la actividad. Para usos profesionales conviene estudiar alternativas sin claves duraderas. Buenas prácticas de Google.
| Si ocurre esto… | Decidle a la IA… |
|---|---|
| Explica demasiado | «Dime solo lo siguiente que tengo que hacer y espera». |
| Da una lista de comandos | «Haz tú lo que puedas, con permiso. Si debo hacer algo, dime dónde pulsar». |
| No sé abrir el juego | «Dime qué archivo abrir o dame el enlace de la vista previa». |
| No veo un cambio | «Comprueba si estoy viendo la versión nueva y ayúdame a abrirla». |
| Sale un error | «Explícame qué significa y guíame una cosa cada vez». |
| Quiere instalar demasiado | «Busquemos una primera versión más sencilla». |
| Aparece una pantalla de pago | «Nos detenemos. Queremos continuar sin activar facturación». |
| La idea se ha complicado | «Guardemos eso para después y volvamos a lo que funcionaba». |
Si se acaba la cuota del modelo, hablarle más no lo resuelve. Esperad o seguid jugando con el ejemplo local.
Es ver cómo esa idea que lleva tiempo en un papel aparece en una pantalla. Probarla, reírse, decir «esto sería mejor de otra manera» y poder cambiarlo.
La IA puede encargarse de buena parte del trabajo técnico. Elegir qué crear, comprobarlo y decidir si es divertido sigue siendo nuestro trabajo.
Y si de ahí nace curiosidad por cómo está hecho, ya tenemos un motivo para aprender la siguiente cosa. Una sola. No todo de golpe.
Jugar a Cazaestrellas · Descargar el juego y los mensajes para la IA
Revisado el 26 de septiembre de 2026. Las pantallas, condiciones, modelos y cuotas pueden cambiar: comprobad las referencias oficiales antes de instalar, autorizar o contratar.