ÍCORLa Hora
Subir a las Entrañas
CAPÍTULO C · FASE 1 · ANTECEDENTES · ORIGEN Y FASES 0 Y 1

Fase 1 · Prototipo La Raya

Entre el 15 y el 16 de octubre de 2026 ÍCOR pasa de los documentos a un prototipo jugable: una arena con principio y final, cuatro oleadas de Heraldos y un Huésped que habla.

Fase 1 · Prototipo La Raya

Capítulo C

La Raya en una página

Una arena de combate autocontenida, escrita en C++ y jugable de principio a fin.

Qué es. La Raya es la frontera donde chocan el Alba y el Ocaso cuando cambia la Hora: la Guerra de las Dos Horas de la fase 0, hecha jugable. La arena es una plaza de losas talladas en ruinas, rodeada de pilares rotos y cerrada por acantilados.

Qué hay. Pantalla de título con el key art propio; cuatro oleadas de Heraldos con la luz pasando del Alba al Ocaso; combate cuerpo a cuerpo con combo de tres golpes, ataque fuerte, esquiva con invulnerabilidad, guardia con parada, aguante, fijación de objetivo y el «Latido del Huésped» para curarse. Morir cuesta un recuerdo, y la voz del Huésped, la música y los efectos acompañan toda la partida.

4
Oleadas
Heraldos del Alba y del Ocaso
11
Acciones de entrada
teclado y mando
1:49
Partida del autopiloto
victoria con 16 bajas y 12 paradas
0
Fallos de entrada
8 de 8 acciones inyectadas responden
Pantalla de título de La Raya, con el key art propio generado solo a partir de texto.
Pantalla de título de La Raya, con el key art propio generado solo a partir de texto.

Capítulo CRESPONSABLE: Alejandro Brito Olivera (mundo y presentación)

La arena y las cuatro oleadas

Cada oleada cambia los enemigos, la luz y lo que dice el Huésped.

OleadaHeraldosLuzEl Huésped
I · La Primera Hora3 del AlbaAlba, sol alto«El Alba no odia a nadie. Siega. ¿Tú odias al trigo?»
II · Brasas4 del OcasoAtardecer«Cuando empuje, no empujes. Dóblate como el trigo…» (enseña la parada)
III · La Hora3 del Alba y 3 del OcasoEntre dos luces«Blanco de día, morado de noche…»
IV · El Heraldo MayorEl Mayor del Ocaso, 2 del Ocaso y 1 del AlbaOcaso pleno«A ese no le mires a los ojos. Es de los que se acuerdan.»

Capítulo CRESPONSABLE: Alejandro Brito Olivera (combate del héroe)

Combate: combo, esquiva, parada y fijación

Un combate con peso y una decisión clara: atacar, esquivar o parar justo antes del golpe.

AcciónTeclado y ratónMando
MoverseWASDStick izquierdo
CorrerShiftL3
CámaraRatónStick derecho
Combo (hasta 3 golpes)Clic izquierdoRB
Ataque fuerteERT
Esquivar (invulnerable al empezar)EspacioB
Guardia; justo antes del golpe, paradaClic derechoLB
Fijar objetivoQ o ruedaR3
Latido del Huésped (curar, 3 cargas)RX
Empezar o reintentarEnter o clic izquierdoA
Mostrar u ocultar controlesF1Vista
«Golpe certero»: tras una parada, el Heraldo queda abierto y recibe más daño.
«Golpe certero»: tras una parada, el Heraldo queda abierto y recibe más daño.

Parada. Si se pulsa la guardia justo antes del golpe (ventana de 0,22 s), el Heraldo queda abierto unos 1,9 s y recibe el daño ×2,5.

Esquiva. Da invulnerabilidad al empezar y cuesta 18 de aguante.

Fijación. Orienta la cámara y los ataques hacia el objetivo elegido.

Capítulo CRESPONSABLE: Zihao Zhong (Kenny) (IA y oleadas)

Los Heraldos y el Heraldo Mayor

Tres variantes de enemigo con carácter propio y un jefe con superarmadura.

PersonajeSaludDañoNotas
Aurel Gris120Combo 20 / 22 / 32; fuerte 44Aguante 100 (combo 14–18, fuerte 30, esquiva 18). Latido: +45, con 3 cargas que se rellenan entre oleadas
Heraldo del Alba7014Más lento y paciente
Heraldo del Ocaso8517Más rápido y agresivo
Heraldo Mayor del Ocaso60030Superarmadura: solo lo tambalean los golpes fuertes o el tercer golpe del combo

IA de los Heraldos. Máquina de estados en cada fotograma, sin malla de navegación: aparecer, acechar o rodear, pedir turno, atacar, tambalearse, quedar aturdidos tras una parada y morir.

Tokens de ataque. Como mucho atacan 2 Heraldos a la vez (3 desde la oleada III). El resto rodea a Aurel a unos 4 m, así que el peligro es el grupo y no el individuo.

El Heraldo Mayor del Ocaso, con su barra de jefe.
El Heraldo Mayor del Ocaso, con su barra de jefe.
El Mayor entre antorchas y brasas.
El Mayor entre antorchas y brasas.
La Hora: Heraldos del Alba y del Ocaso en la misma arena.
La Hora: Heraldos del Alba y del Ocaso en la misma arena.

Capítulo CRESPONSABLE: Zihao Zhong (Kenny) (HUD) · Alejandro Brito Olivera (presentación)

Morir cuesta un recuerdo

Morir no es el final: el Huésped devuelve a Aurel al Clavo y se cobra un recuerdo.

  1. 1 · La voz de Olvido

    El primer recuerdo que se pierde. El Huésped: «Te levanto. Pero de balde no siega nadie…»

  2. 2 · Lo del pan con aceite

    El segundo. Con poca salud, el Huésped avisa antes de que ocurra.

  3. 3 · La espiral del martillo

    La marca de clavero de Aurel. Con ella llega el Olvido: «Ya está, casero. Ahora me acuerdo yo por los dos.»

Aurel cae y el Huésped lo levanta a cambio de un recuerdo.
Aurel cae y el Huésped lo levanta a cambio de un recuerdo.
Pantalla de Olvido: con tres recuerdos perdidos, Aurel ya no recuerda por qué lucha.
Pantalla de Olvido: con tres recuerdos perdidos, Aurel ya no recuerda por qué lucha.
El HUD: vida, aguante, Latidos, Ícor y recuerdos; la voz del Huésped sale como subtítulo.
El HUD: vida, aguante, Latidos, Ícor y recuerdos; la voz del Huésped sale como subtítulo.

Reaparición en el Clavo. Aurel vuelve junto a un clavo de hierro gigante, con la runa brillante y una luz. El Huésped: «El hierro me deja sordo un rato…»

Victoria. «La Raya queda en silencio», con el tiempo, las bajas, las paradas y los recuerdos perdidos.

Capítulo CRESPONSABLE: Zihao Zhong (Kenny) (audio)

La música y la voz del Huésped

Veinticuatro assets de audio: dos pistas de música, trece líneas de voz y nueve efectos.

24
Assets de audio
en ICOR/Arena/Audio
2:57
Música de combate
en bucle
1:54
Música del título
en bucle
762
Créditos de Artlist
2 pistas a 300 y 13 voces por 162
AudioCantidadOrigen
Música2 pistasGenerada con Lyria 3 Pro en Artlist, solo a partir de texto propio
Voz del Huésped13 líneasElevenLabs Multilingual v2 en Artlist, con una voz sénior en español: siete líneas del guion de la fase 0 y seis nuevas con la misma voz
Efectos9Sintetizados con ffmpeg: impacto, impacto fuerte, parada, bloqueo, tajo, esquiva, latido, aparición y muerte del Heraldo. Son propios y sin licencias de terceros

Capítulo CRESPONSABLE: Alejandro Brito Olivera (combate) · Zihao Zhong (Kenny) (sistemas)

Arquitectura: una capa autocontenida en C++

Para tener algo jugable cuanto antes, la arena no depende de GAS ni del Mover de Titan.

Plan del diseño técnico
Aurel con Mover y GAS

Habilidades y efectos con el Gameplay Ability System, movimiento con Mover y los Heraldos con State Tree.

Decisión
Capa C++ sobre ACharacter y CharacterMovementComponent

Un conjunto de clases autocontenido en Source/ICORJuego/Arena/, con pocas piezas que puedan fallar.

Por qué. Es el plan B del diseño técnico: menos piezas experimentales y algo jugable antes. El esqueleto con GAS (cinco módulos y 68 ficheros, compilados sin errores en 227 de 227 acciones) queda intacto para cuando toque.

ClaseQué hace
AICORLuchadorBase común: vida, bando, golpes, animaciones de un solo uso e hitstop
AICORAurelArenaAurel: cámara, entrada, combo, ataque fuerte, esquiva, guardia y parada, curación, fijación y autopiloto de prueba
AICORHeraldoArenaIA de los tres Heraldos: acechar, pedir turno, atacar, tambalearse, quedar aturdido y morir
UICORAnimHeraldoVelocidad y dirección para el Blendspace
AICORArenaGameModeFases, oleadas, tokens, muertes y recuerdos, líneas del Huésped, sonido y la luz de la Hora
AICORHUDArenaHUD en Canvas: título, barras, recuerdos, mensajes, barra del jefe y pantallas finales

Golpes. La hoja se barre con 5 esferas entre los sockets de la espada solo mientras la punta va a más de 650 cm/s: la ventana de daño sale de la propia animación. A mitad del tajo se comprueba además un arco delante, como red de seguridad.

Animación. El Animation Blueprint original del héroe se usa sin tocar. Los Heraldos llevan los suyos (ABP_Heraldo y ABP_HeraldoMayor), porque su pack no trae ninguno.

La Hora. El GameMode gira el sol y cambia su color y el de la niebla al pasar del Alba (oleada I) al Ocaso (oleada IV).

Medidas. 8 ficheros y unas 2.700 líneas; primera compilación sin errores.

Capítulo CRESPONSABLE: Zihao Zhong (Kenny) · Alejandro Brito Olivera

Pruebas y problemas encontrados

El juego se probó con un autopiloto y con una prueba automática de la entrada. Estos son los hallazgos y cómo se resolvieron.

1:49
Victoria del autopiloto
16 bajas y 12 paradas
3
Muertes provocadas
hasta la pantalla de Olvido
466 cm
Avance en 1 s
al inyectar la acción de moverse
0
Fallos de entrada
8 de 8 acciones responden
HallazgoSolución
No se veía ningún texto. FCanvasTextItem solo dibuja si la fuente lleva un UFont, y el estilo de Slate no lo trae.Se usa la fuente por defecto del motor, cargada en tiempo de ejecución.
La noche del Ocaso era demasiado oscura.El sol queda a −13° y conserva el 80 % de la intensidad.
Los Heraldos se amontonaban al atacar a la vez.Piden turno a 7,5 m; solo se acerca quien lo tiene y el resto rodea a unos 4,2 m.
El recuento de la oleada incluía a los muertos.La lista se limpia al empezar cada oleada.
La cámara del jefe miraba desde el suelo.La inclinación se limita a −6° y, con el Mayor fijado, la cámara se aleja hasta 6,2 m.
Error al pulsar Play. El Blueprint original del héroe llamaba a una función de realidad virtual que ya no existe en la 5.8.Se eliminaron ese nodo y su evento de entrada; el Blueprint compila.

Qué no cubre. La prueba de la entrada no mide la sensación con un mando real (sensibilidad y zona muerta): se aborda con las pruebas de juego a pie de la fase 3.

Capítulo CRESPONSABLE: Alejandro Brito Olivera (presentación)

La partida en vídeo

Un PDF no reproduce vídeo: aquí van fotogramas repartidos por toda la partida, con su minuto.

Resumen de una partida · 0:23 · art/capturas/fase1/resumen-partida.mp4 · de la oleada I a la victoria, con paradas, curas y el aviso de salud baja.
Resumen de una partida · 0:23 · art/capturas/fase1/resumen-partida.mp4 · de la oleada I a la victoria, con paradas, curas y el aviso de salud baja.

Dónde está la evidencia. Las capturas de cada hito están en art/capturas/fase1/: título, HUD y Huésped, oleadas, Heraldo Mayor, muerte y recuerdo perdido, Olvido, La Hora y victoria.

Cómo se jugó. Varias partidas completas con el autopiloto (victoria y muerte hasta el Olvido) y la prueba automática de la entrada. La victoria de esta partida: 1:49, 16 Heraldos caídos, 12 paradas y 0 de 3 recuerdos perdidos.

Capítulo CRESPONSABLE: Zihao Zhong (Kenny) (pipeline)

Empaquetado y lo que se aprendió del cocinado

Se intentó generar un ejecutable de La Raya. Se aplazó, pero dejó cuatro lecciones para el build de la fase 3.

Plan
Ejecutable Win64 de la arena

Cocinar solo L_Arena_Raya con una configuración propia (CustomConfig = ArenaRaya), solo DX12 SM6 y salida en D:.

Decisión
Aplazado: el objetivo pasa al RPG en Titan

El perfil de empaquetado queda guardado y desactivado, listo para retomarse.

Por qué. El cocinado ocupaba unos 11 GB de RAM, que hacen falta para probar TitanMain en el editor, y el objetivo cambió al RPG en el mundo de Titan.

Lección 1
Lo que se carga por ruta no se cocina solo

El C++ de la arena carga casi todo con LoadObject y LoadClass, y el cocinado no lo ve. Hay que listar esas carpetas para cocinarlas siempre; cada LoadObject nuevo se añade ahí.

Lección 2
Titan entraba entero sin pedirlo

Dos listas de rutas blandas de los ajustes cargaban TitanMain al arrancar. Vaciándolas en la configuración propia, el cocinado bajó a 2.253 paquetes.

Lección 3
La RAM es el límite

El cocinador llegó a 13 GB con el editor abierto (otros 11 GB) y 13 workers de shaders: quedaron 0,2 GB libres. Hay que cocinar con el editor cerrado.

Lección 4
Compilar y cocinar con el motor instalado

Un target propio con bOverrideBuildEnvironment permite que la configuración propia llegue al build; el resultado: ICORArena.exe de 332 MB (más 396 MB de símbolos).

PasoResultado
Compilar el target del juego128 s la primera vez y 1,3 s después
Cocinado, intento 1Cortado a los 3 min: estaba metiendo TitanMain (4,5 GB solo en su .ubulk)
Cocinado, intento 2Shaders globales y 2.149 de 2.253 paquetes en unos 75 s; cancelado justo antes de terminar

Capítulo CRESPONSABLE: Zihao Zhong (Kenny) · Alejandro Brito Olivera

Qué quedó para las fases siguientes

El prototipo cumplió su criterio de salida. Lo que no cerró se aborda así.

TemaEstado en La RayaDónde se aborda
Dificultad y ventana de paradaAfinadas con el autopiloto, que para muy bien. Con mando o ratón la parada de 0,22 s puede resultar estricta.Pruebas de juego a pie de la fase 3
AnimacionesLa esquiva usa un arranque de carrera acelerado, la guardia es un desvío congelado a los 0,2 s y el ataque fuerte es una habilidad del héroe.Se aborda en una fase posterior
El horizonteLos acantilados de la arena son estilizados y la estatua caída queda tapada.Fase 2: el combate pasa al mundo de Titan
AudioLa voz y la música funcionan; los efectos sintetizados son sencillos.Fase 3: audio del mundo (capítulo IV)
Build empaquetadaAplazada; el perfil queda guardado.Fase 3: cifras medidas en un build cocinado
GAS, State Tree y DataTablesLa arena es una capa autocontenida y los números están en constantes; el esqueleto con GAS queda intacto.Se aborda en una fase posterior