Aprender AI-DLC creando un juego, parte 7: ideación
Esta es la parte 7 de una serie sobre aprender AI-DLC creando un juego, World Rift Conflict, en Godot con un backend en AWS. Hasta ahora el trabajo fue de herramientas: una prueba de concepto de inicio de sesión, pruebas de extremo a extremo y dos correcciones de errores. Este artículo empieza el juego en sí, con las cuatro etapas de Ideación de AI-DLC.
Partes hasta ahora:
- Parte 1: configuración
- Parte 2: prueba de concepto
- Parte 3: pruebas E2E automatizadas
- Parte 4: lo que hallaron las revisiones
- Parte 5: dentro de una etapa
- Parte 6: un bugfix
- Parte 7: ideación (este artículo)
Resumen
- Empecé con un archivo de ideas de una página, con erratas incluidas, y un solo comando:
/aidlc mvp lets start with the game idea brainstorming read 'game-initial-idea.md'. - Cuatro etapas, 33 preguntas y ocho preguntas de seguimiento lo convirtieron en una intención, un veredicto de viabilidad, un alcance y siete pantallas en boceto.
- Las preguntas detectaron tres contradicciones que yo mismo había escrito en la idea.
- Dos revisiones consultivas hallaron once huecos, desde medidas de éxito sin ventana de tiempo hasta una tarjeta de evento que se cierra antes de que un lector lento termine.
- AI-DLC no conocía las skills de Godot instaladas en Claude Code. Tuve que conectarlas yo.
La entrada: un archivo de ideas
El archivo mezclaba historia, ciencia ficción y noticias reales. No eliges tu país, se asigna al azar, y la habilidad debe pesar más que el país que te tocó. Eventos del pasado, del futuro y de hoy cambian tu país: un envío de ayuda de un aliado hace siglos, la peste negra, un alienígena que te esclaviza un tiempo, guerras, mercados y desastres reales. Nada de pagar para ganar. Límites al tiempo de juego, porque no tengo mucho que gastar.
AI-DLC encontró el archivo por su nombre y lo leyó como datos no confiables. Eso importa: nada de él llegó directo a los documentos. Cada idea tuvo que volver a través de una pregunta que yo respondí.
Captura de la intención: ocho preguntas, seis seguimientos
Las preguntas salieron de mi propio archivo. Una preguntaba cuáles de seis ideas eran el corazón del juego, y elegí las seis. Otras preguntaban qué gana cuando la diversión, el aprendizaje y la promoción de mi web tiran en sentidos opuestos (la diversión), y cuánto quiero gastar como máximo al mes ($50).
Luego empezaron los seguimientos. Cuatro vinieron de un límite de la herramienta, no de mis respuestas. El selector de Claude Code admite cuatro opciones, así que una pregunta de cinco opciones se partió en dos selectores, y el selector pide una respuesta en cada uno. Elegí en las dos partes todas las veces, y AI-DLC tuvo que preguntar cuál contaba. Desde la segunda etapa, cada pregunta tuvo como mucho cuatro opciones. Ahora es una regla del proyecto.
Un seguimiento fue una contradicción real. Dije que la primera versión debía dejar fuera solo los periodos históricos extra, así que los pagos y el multijugador entraban. Mi propio archivo dice que el precio espera hasta conocer los costes de operación. AI-DLC mostró las dos respuestas lado a lado. Mantuve los pagos, y el conflicto quedó registrado como una suposición abierta.
La revisión del líder de producto dio la intención por LISTA, con dos hallazgos importantes. La primera versión casi no tenía límites. "20 jugadores al día" no tenía ventana de tiempo ni definición de jugador, así que no se podía comprobar.
Viabilidad: lo que puede cargar una sola persona
AI-DLC rellenó las preguntas que ya podía contestar con el trabajo anterior, citando las fuentes: el backend de inicio de sesión, la pila técnica, los servicios de AWS, el presupuesto. Solo preguntó lo que seguía abierto. Mis respuestas lo complicaron: sin fecha límite, más de diez horas a la semana, partidas en vivo, jugadores de todo el mundo desde 13 años, pagos mediante un proveedor, fuentes de datos de pago permitidas y descargas para Windows, macOS y Linux.
Eso sumaba más de lo que $50 podrían cubrir, así que hizo una pregunta más: ¿qué cede primero? Las fuentes de datos de pago, volviendo a datos públicos gratuitos.
El veredicto fue viable con condiciones. Hoy no tengo nada propio corriendo en un servidor, así que las partidas en vivo son el mayor coste nuevo y la mayor construcción nueva. El registro de riesgos añadió uno en el que no había pensado: con 20 jugadores al día, la gente puede esperar mucho para encontrar rivales.
Alcance: cerrar lo que quedó abierto
La Definición del Alcance usó sus nueve preguntas en los hallazgos y riesgos que las etapas anteriores dejaron abiertos:
| Punto abierto | Se decidió |
|---|---|
| Qué periodo | el presente, para que los datos reales encajen directamente |
| Qué es una partida | de 20 a 30 minutos, rondas fijas, gana la puntuación más alta |
| Esperar rivales | de 2 a 4 jugadores; países manejados por la computadora llenan los puestos vacíos |
| Pagos frente a precio | un pago de apoyo, construido pero apagado hasta conocer los costes |
| Costes por viralidad | un tope diario de tiempo de juego, un tope de jugadores a la vez, alertas de gasto |
| Ventanas de éxito | 20 jugadores en 5 de los primeros 7 días; revanchas en las primeras 20 partidas |
El backlog tiene once piezas en orden de valor primero. Primero va una partida divertida contra países manejados por la computadora, que no necesita servidor. El juego en línea va octavo, después de las cuentas y de una estimación de costes. Nueve son imprescindibles, más del 60% habitual, y el documento explica por qué: metí cada idea central, así que cada una tiene que quedarse pequeña.
Bocetos: siete pantallas en ASCII
La última etapa de Ideación preguntó qué muestran las pantallas, no cómo se ven. Elegí una página que explica el juego antes del inicio de sesión, y un panel durante la partida: fijas prioridades y luego ves cómo se juega la ronda con un temporizador fijo. Los grandes eventos salen como una tarjeta que todos ven, y los pequeños en un feed de noticias. Para el estilo escribí "sci fy, futuristtic, techy", y eso queda para más adelante.
La pantalla de partida quedó así:
+----------------------------------------------------------------+
| Round 4 of 12 Time left 0:47 Score 860 [Country] |
+----------------------------------------------------------------+
| PRIORITIES (set, then watch) | NEWS FEED |
| Economy [#####-----] | R3 Drought hits farms (*) |
| Technology [###-------] | R3 Rival signs a treaty |
| Military [##--------] | R2 Markets fall 3% (*) |
| Diplomacy [####------] | |
| [ Lock in priorities ] | (*) real data, with source |
| ------------------------------+------------------------------- |
| STATS | MAP (small) |
| Wealth 120 Tech 45 | [you] [P2] |
| Power 30 Relations +2 | [cpu] [P3] |
+----------------------------------------------------------------+
| Players: You 860 | P2 910 | P3 700 | CPU 640 |
+----------------------------------------------------------------+
La revisión halló seis huecos. Dos eran importantes. Las descargas de escritorio están en el alcance, pero ninguna pantalla dice dónde conseguirlas. Además, la tarjeta de evento se cierra sola a los ocho segundos, lo que va contra el objetivo de teclado y lector de pantalla que acababa de elegir. Aprobé con los dos abiertos. Son fáciles de arreglar en los Bocetos Refinados.
AI-DLC no conoce tus otras skills
A mitad de los bocetos pregunté si AI-DLC conocía las skills de Godot y de diseño instaladas en Claude Code. No las conoce. Sus agentes leen sus propias notas de método y las reglas del proyecto, nada más. Así que puse la regla en dos sitios: una sección en el CLAUDE.md raíz, que carga cada sesión y cada subagente, y una regla del proyecto guardada con la pregunta "¿algo que añadir?" de AI-DLC. Desde las etapas de Incepción, las etapas de diseño y de código buscan primero una skill de Godot que encaje.
Lo que costó
Unas dos horas, cuatro etapas, cuatro aprobaciones y ocho reglas del proyecto aprendidas por el camino. Lo que obtuve es un alcance con el que puedo discutir: qué entra, qué queda fuera, qué es una partida y qué significa el éxito, con fechas. El archivo de ideas no tenía nada de eso.
Lo que sigue
La Incepción: Ingeniería Inversa del código existente, y luego requisitos, historias y las unidades de trabajo con las que se construye el juego.