ÍCORLa Hora
Subir a las Entrañas
CAPÍTULO VIII · FASE 3 · VERTICAL SLICE Y TRÁILER

La build jugable

Un Titan.exe cocinado con el menú, el mundo, los tres héroes y las cinemáticas, que se recorre desde el menú hasta el Guardián del Paso. Después de un problema de disco y de un error de carga en el cocinado.

La build jugable

Capítulo VIII

La build en una página

Hasta aquí el juego se probaba en el editor. Ahora existe un ejecutable independiente, con los datos cocinados, que se prueba como lo jugaría cualquiera.

38.610
Paquetes cocinados
menú y TitanMain
25 GB
Build en disco
24 GB de datos en 30 contenedores
3
Cinemáticas de héroe
155 MB, sueltas y cambiables
9 min
Prueba de humo
del menú al Guardián del Paso
QuéContiene
MapasL_ICOR_Menu (menú 3D) y TitanMain (el mundo de 8 × 8 km)
ConfiguraciónDevelopment en Windows de 64 bits; shaders solo SM6 (Titan usa Nanite, Lumen y VSM)
Datos del juego60 objetos, 3 árboles de Destino, 6 PNJ, 2 misiones y 10 niveles de forja
Interfaz20 caras de fuente propias (dentro de los assets) y cifras con formato es-ES
CinemáticasIntro_Aurel, Intro_Hwan e Intro_Ilse, sueltas en Content/Movies/ICOR
TexturasPiscina de streaming de 3.600 MB y anisotropía 16×, aplicadas en partida
El menú principal del .exe cocinado: la escena 3D del menú, con la tipografía «Cartografía del Ícor».
El menú principal del .exe cocinado: la escena 3D del menú, con la tipografía «Cartografía del Ícor».

Capítulo VIII

Cocinado · El problema de disco y la caché

Cocinar TitanMain son 38.000 paquetes y más de una hora de trabajo. El primer intento serio se quedó al 98 % por falta de espacio.

El plan. cocinado.md fijó cómo cocinar: el comando BuildCookRun sobre el menú y TitanMain, con el cocinado en una unidad y la caché derivada (DDC) en otra, y dos caminos: el almacén Zen (más compacto) o el clásico IoStore por carpetas (más seguro con un mundo tan grande). Se añadió una orden cocinar a motor.ps1, que toma el cerrojo del motor y comprueba el disco antes de empezar.

Qué se rompió. La caché y el almacén Zen vivían en D:, que se fue llenando. En un cocinado ya llegado a 37.977 de 38.595 paquetes, Zen empezó a responder «Insufficient Storage (507)» a cada escritura. Faltaba un 1,6 % del trabajo, y el cocinado no podía darse por bueno.

Qué se decidió. Mover la caché y el almacén a C:\ICOR-DDC, dejar el cocinado y el empaquetado en C:\ICOR-Builds y cocinar por el camino clásico (-Clasico -Destino C:). La orden reinicia Zen antes de cada cocinado, porque este se queda vivo entre procesos y escribiría en la unidad antigua. Y se fijó una regla: comprobar el espacio libre antes de cocinar (60 GB para el camino clásico).

DatoValor
Paquetes38.610 en el cocinado final
CaminoIoStore clásico, en carpeta
Caché antesD:\UE-DDC: llena
Caché despuésC:\ICOR-DDC
Espacio mínimo60 GB libres en la unidad
MemoriaHasta 24 GB de memoria virtual en el cocinador; con el editor cerrado
IntentoQué pasóResultado
1 · Caché en D:El cocinado llega a 37.977 de 38.595 paquetes y Zen deja de poder escribir en el discoFalla al 98 %: espacio
2 · Caché en C:Cocina los 38.608 paquetes en unos 47 min; al final, un error de carga en una voz de un pack de Epic (ver página siguiente)Falla: error de carga
3 · IncrementalReutiliza los paquetes ya cocinados, tolera el error y empaqueta en 2 min 48 sBuild completa

Capítulo VIII

Cocinado · El error del DialogueWave

El segundo intento cocinó todos los paquetes y aun así acabó en fallo. La causa estaba en una voz que el juego no usa.

ERROR 1: «Failed import for DialogueWave»

Qué dice
Un error de carga: un asset de sonido (una voz de un pack de héroes de Epic) pide una DialogueWave que no existe en el proyecto. El cocinador lo cuenta como fallo y sale con el código 25 («Error_UnknownCookFailure»).
Por qué pasa
El proyecto trae solo parte de los assets de ese pack: cientos de dependencias de voces (victoria, recuerdo, esfuerzos de habilidad) también faltan, pero esas salen como simples avisos.
Respuesta
Se añadió -IgnoreCookErrors al cocinado y se cocinó en modo incremental. Con eso, los 38.610 paquetes y los contenedores se generan; la voz afectada se queda sin su diálogo.

CocinadoResuelto

Primer intento
Cualquier error de carga detiene el cocinado

Tras casi 47 minutos de trabajo, el cocinado sale con el código 25 aunque todos los paquetes estén cocinados.

Decisión
Tolerar el error y cocinar de forma incremental

El cocinador reutiliza los 38.608 paquetes y solo empaqueta: 2 min 48 s.

Por qué. La voz que falta es de un pack ajeno a las voces propias de ÍCOR, y repetir 47 minutos de cocinado por un error de un asset sin uso no aporta nada. Queda anotado revisar, en una fase posterior, si alguna animación llega a pedir esa voz.

Otros avisos del cocinadoQué se hizo
Dos materiales de packs de Epic no compilan para SM6 (uno de insectos de ambiente y el de una espada de un héroe)El motor usa el material por defecto en el juego. Se revisa en una fase posterior
Cientos de dependencias de voces que «no existen» en el proyectoSon avisos de Epic; no impiden el cocinado
Una referencia de un actor del mundo a una capa de Titan que ya no está (LandscapeDesign)No impide el cocinado

Capítulo VIII

Prueba de humo · El menú y los héroes

Con el build en disco, el recorrido automático del juego lo abre como lo haría un jugador: del menú al mundo, sin tocar nada.

Cómo se prueba. tools/probar_exe.ps1 lanza Titan.exe en una ventana de 1920 × 1080 con el recorrido y las capturas automáticos, vigila el registro (si pasan 240 s sin una línea nueva, lo da por colgado y lo cierra) y copia el registro y las capturas a art/capturas/exe-humo. El recorrido usa un autopiloto de pruebas: no es una partida jugada a mano.

Selector de héroes: Hwan y sus armaduras.
Selector de héroes: Hwan y sus armaduras.
Elección de dificultad: Peregrino, Ungido y Olvidado.
Elección de dificultad: Peregrino, Ungido y Olvidado.
Opciones gráficas, con la tarjeta del equipo y su tiempo por fotograma.
Opciones gráficas, con la tarjeta del equipo y su tiempo por fotograma.
Cinemática de Aurel al empezar una partida nueva, con su subtítulo.
Cinemática de Aurel al empezar una partida nueva, con su subtítulo.
Pantalla de carga hacia el mundo: «Primera luz sobre Asrah».
Pantalla de carga hacia el mundo: «Primera luz sobre Asrah».
Créditos.
Créditos.

Capítulo VIII

Prueba de humo · Del Campamento al Guardián

El recorrido enciende cada Clavo, combate en cada campamento y llega a la arena del primer jefe.

Llegada al Campamento del Mercader, con el Huésped.
Llegada al Campamento del Mercader, con el Huésped.
El mapa, a pantalla completa.
El mapa, a pantalla completa.
Menú del Clavo: descansar, ungirse, Destino y equipo.
Menú del Clavo: descansar, ungirse, Destino y equipo.
Los Heraldos de la Granja Vieja notan al héroe.
Los Heraldos de la Granja Vieja notan al héroe.
Combate en la Aldea de Lerigoth.
Combate en la Aldea de Lerigoth.
Combate en la Orilla del Lago, en la hora azul.
Combate en la Orilla del Lago, en la hora azul.

Capítulo VIII

Prueba de humo · Qué se comprobó

El registro de la prueba, paso a paso, y las ocho zonas que recorrió.

PasoComprobación (del registro de la prueba)Resultado
Arranque20 caras de fuente montadas; 60 objetos, 3 árboles, 6 PNJ, 2 misiones y 10 niveles de forjaCorrecto
Selector y opcionesTres héroes con dos capturas cada uno, cuatro pestañas de opciones, créditos y tres dificultadesCorrecto
Partida nuevaEl reproductor abre Intro_Aurel.mp4 (1920 × 1080, 29,3 s) y pinta el primer fotograma a los 0,68 s; la prueba la salta a los 3 sCorrecto
Carga del mundo5,6 s de viaje con la pantalla de carga animada: 140 fotogramas pintados en 2,44 s (57 fps)Correcto
ZonaQué se comprobó
Campamento del MercaderLlegada, mapa, pausa, Clavo y descanso
La Granja ViejaSospecha, alerta y combate; subida al nivel 2
Clavo de la Granja ViejaClavo encendido y menú del Clavo
Aldea de LerigothCombate; nivel 3
Clavo de LerigothClavo y nivel 4
Orilla del LagoCombate y nivel 5
Clavo del Templo AntiguoClavo y descanso
Arena de las FloresEl Guardián del Paso despierta y llega a su fase 2
8
Objetivos recorridos
de los 11 de la ruta
67
Capturas
del menú y del mundo
130
Rutas de IA
completas, 0 parciales, 0 fallidas
0,033 ms
Por consulta de ruta
navmesh dinámica

Audio. En el recorrido sonaron 873 pasos, 58 aterrizajes, 70 sucesos y 89 voces.

Capítulo VIII

Lo que dejó la prueba y lo que queda

La build arranca, se recorre y se cierra. Estas son las cosas que la prueba señaló y cómo se abordan.

HallazgoDetalleEstado
El autopiloto se atasca cerca del GuardiánVarios atascos a unos 45 m del destino y un recolocado; la prueba hace invulnerable al héroe si el jefe tarda demasiadoEs de la prueba
Faltan las clases de sonido del motorLos volúmenes se aplican a mano por categoríaFase posterior
Falta una animación de charla de TitanEl PNJ sigue sin ellaFase posterior
El volcán y Ovhar no entran en esta pruebaEl recorrido de humo acaba en el Guardián; el volcán se probó antes en el editorFase posterior
Rendimiento del build sin medirHacen falta rastros con -csvprofile y -trace sobre la build, y la caché de PSO empaquetadaFase posterior
Build de lanzamientoShipping, con el trazado de caminos desactivado en la configuraciónFase posterior