Dirección con IA y calidad

De la fuente a la escena: por qué una novela visual generada necesita dirección

Generar dos imágenes bonitas es fácil. El problema aparece cuando hay más de diez y todas deben conservar el mismo personaje, lugar, objeto y momento del argumento. Si enviamos párrafos sueltos a un generador obtenemos una galería, no una novela visual coherente.

En una adaptación literaria vi personajes de tamaños distintos, cuerpos sin apoyo, lugares que cambiaban entre planos, música que se reiniciaba y un anillo importante que saltaba de mano, cambiaba de dedo o se multiplicaba. Por eso convertí la generación en un flujo con analista textual, artista, compositor, agente MCP, validación técnica y dirección por IA.

![Flujo de Romergo desde la fuente, la estructura y las biblias de continuidad hasta los recursos, el montaje MCP y la revisión de dirección](direction-flow)

1. La fuente manda

La entrada puede ser texto, HTML, Markdown o un PDF con texto. Primero se fijan idioma, edición, capítulos y derechos del original, la traducción y las imágenes. romergo_inspect_story_source y romergo_plan_story_source preparan un inventario y una vista previa sin escribir el proyecto. Una fuente lineal no debe adquirir ramas inventadas.

El texto se divide por cambios reales de lugar, tiempo, participantes o acción. Cada escena conserva su sourceExcerpt exacto y un contrato visual: quién está presente, quién habla o escucha, qué hace, dónde mira, qué lo sostiene, qué rostro debe sobrevivir al recorte móvil y qué detalles conectan el plano con el anterior.

2. Personajes, lugares y objetos tienen memoria

Un auditor independiente vuelve a leer cada fragmento y extrae los objetos con los que alguien interactúa. Cada objeto recibe descripción canónica, rasgos invariables, propietario, estado, visibilidad y número de ejemplares. Un anillo de oro debe ser exactamente el mismo antes, durante y después de entregarlo.

El proceso conserva documentos temporales enlazados por ID y hash: mapa de escenas, biblias de personajes y lugares, registro de atrezo, manifiesto de recursos, trabajos de generación e informes de auditoría. No sustituyen la obra; son el andamio que impide perder decisiones entre agentes.

3. Dos modos de composición

baked_narrative integra a los personajes en el fondo para narración sin diálogo. El contacto con suelo, cama, piedra o silla queda resuelto dentro de una imagen completa. layered_dialogue mantiene fondo y sprites separados para alternar poses de quien habla y escucha, junto con el nombre y retrato correctos. Un modo híbrido existe, pero debe justificarse: mezclar capas por accidente produce escenas físicamente imposibles.

La generación parte del fragmento exacto, la biblia del lugar y el estado actual del atrezo. La revisión de archivos busca anatomía rota, halos de transparencia, siluetas cortadas, texto accidental y vegetación repetitiva. Aun así, un PNG aislado no revela si la puesta en escena final funciona.

4. MCP monta un proyecto editable

Los recursos aprobados entran en un borrador. Las herramientas MCP crean capítulos, escenas, texto, transiciones, timeline, música y posiciones. Después el agente lee lo guardado con romergo_get_chapter, ejecuta romergo_validate_project y termina con romergo_verify_quest_change. Una respuesta exitosa no basta: importan el estado persistido y la representación del runtime.

5. El director mira el texto y el Player

La revisión final reproduce todo el capítulo en escritorio y a 390 × 844. Capturas a 0, 100 y 500 ms detectan pantallas negras, fondos blancos o sprites antiguos durante una transición. Para cada imagen, el director recibe el texto exacto, el contrato visual, las escenas vecinas y el historial del atrezo.

Si el fondo es correcto pero un sprite flota, la solución es recompose: cambiar posición, escala, capa o recorte mediante MCP. Si la pose equivocada ya está integrada en el fondo, corresponde regenerate. El nuevo render vuelve a pasar por la revisión.

Error 1. El héroe se sentó sobre la heroína

En móvil, la capa de Gray terminó encima de Assol dormida. «Ambos personajes son visibles» era cierto, pero inútil. Ahora cada viewport comprueba apoyo, profundidad e intersección corporal.

![Captura móvil donde Gray queda superpuesto sobre Assol dormida](direction-failure-overlap)

Error 2. Un anillo se convirtió en varios

Buscar solamente «un objeto dorado» permitió que el anillo cambiara de mano o dedo y se multiplicara. El contrato exige exactamente un ejemplar, una mano y un dedo concretos, y estados antes, durante y después de la entrega.

![Nueve recortes con el anillo mal colocado: fuera del dedo, flotando al lado o en el dedo equivocado](direction-failure-ring)

Error 3. Miraban por la ventana contra el texto

La imagen de la taberna era atractiva, pero el texto decía que los hombres estaban de espaldas a la ventana. La orientación errónea estaba dibujada en el fondo: no era un problema de posición y debía regenerarse.

![Escena de taberna donde los personajes miran hacia la ventana contra la instrucción del texto](direction-failure-window)

De imágenes sueltas a una puesta en escena reproducible

Las primeras pruebas sólo comprobaban archivos, alfa, límites y conexiones del grafo. La fiabilidad apareció cuando los requisitos salieron del texto exacto, Player se convirtió en la superficie de control, la revisión recibió escenas vecinas e historial de objetos, y cada fallo tuvo que elegir una reparación y repetir la prueba.

Todo esto sigue lejos de una generación completamente automática. La cultura visual, la experiencia y la sensibilidad humanas continúan siendo el criterio principal del éxito; no creo que pronto pueda afirmar que la generación sea autónoma.

El pipeline actual ya me ahorra muchas horas y espero que también se las ahorre a otros creadores. Reservemos el tiempo para crear y dejemos la rutina técnica compleja a los scripts y a la IA. Así texto, HTML o PDF se convierte en una obra coherente, no sólo en una colección de imágenes.

Volver al blog técnico