Sesión 18: Refinado de spawning, ajustes de pasillo inicial y mejoras de UX/UI

This commit is contained in:
2026-01-11 18:33:19 +01:00
parent da4c93bf98
commit 2046aa7117
11 changed files with 328 additions and 141 deletions

View File

@@ -1,4 +1,62 @@
# Devlog - Warhammer Quest (Versión Web 3D)
## Sesión 18: Refinado de Spawning y Ajustes de Corredores
**Fecha:** 11 de Enero de 2026
### Objetivos
- Corregir el spawn de monstruos en eventos de fase de poder (Minotauro).
- Ajustar la generación de salidas en la loseta inicial.
- Mejorar la visualización de notificaciones y la lógica de daño grupal.
### Cambios Realizados
#### 1. Spawn Hero-Centric para Eventos
- **Restricción de Área**: Modificada la lógica de `findSpawnPoints` en `GameEngine.js` para que los monstruos generados por Eventos de Poder solo aparezcan en losetas ocupadas por héroes, evitando que aparezcan en el vacío o en zonas inexploradas.
- **Fix Spawn Inicial**: Corregido bug de spawn inicial de héroes que causaba que aparecieran fuera de los límites (coordenada 0,0) si no se detectaban posiciones válidas inicialmente.
#### 2. Ajuste de Salidas Iniciales
- **Regla del Inicio**: Los pasillos colocados como loseta inicial (`tile_0`) ahora habilitan exactamente **2 salidas aleatorias** (en lugar de 1 o 4), ofreciendo opciones estratégicas equilibradas desde el comienzo.
- **Continuidad**: El resto de pasillos mantienen la regla de 1 salida extra para mantener la estructura de la mazmorra.
#### 3. Mejoras en EventInterpreter
- **Daño Grupal**: Implementada "herencia de objetivos" en `EventInterpreter.js`. Si un efecto afecta a "todos", ahora se aplica correctamente a todos los héroes seleccionados en la acción previa.
- **Logs Descriptivos**: Refinados los mensajes de log de eventos para ser más descriptivos: ahora detallan quién activó la trampa y a quién afecta exactamente el daño.
#### 4. UX/UI y Estética
- **Posicionamiento de UI**: Desplazada la posición de los mensajes de notificación temporales (cartel rojo) a la zona inferior (70% de altura) para evitar solapamientos críticos con los botones de acción (`Acabar Turno`, etc.).
- **Actualización de Assets**: Vinculadas nuevas texturas específicas para las salas de laboratorio y la bóveda en `TileDefinitions.js` (`room_4x4_skull.png`, `room_4x4_clean.png`).
---
## Sesión 17: Reglas de Mazmorra y Control de Pasillos
**Fecha:** 11 de Enero de 2026
### Objetivos
- Cumplir estrictamente con la composición del mazo de mazmorra (18 cartas originales).
- Implementar la mecánica de barajado de 13 cartas con el objetivo en la mitad inferior.
- Limitar el número de salidas en los pasillos para evitar laberintos infinitos.
- Establecer una regla de proximidad (4 celdas) para la generación de nuevas puertas.
### Cambios Realizados
#### 1. Fiel Composición del Mazo (Warhammer Quest 1995)
- **Mazo de 18 Cartas**: El pool inicial ahora contiene exactamente 6 salas de subterráneo, 7 pasillos, 3 cruces en T, 1 esquina y 1 escalera.
- **Estructura de 13 Cartas**: Al generar la misión, se crea un mazo de 13 cartas:
- 6 cartas aleatorias arriba.
- 1 sala de objetivo + 6 cartas aleatorias barajadas abajo.
- **Salas Específicas**: Se han definido 6 variantes de salas de subterráneo y 5 salas de objetivo únicas (`room_objective_1` a `5`) en `TileDefinitions.js`.
- **Assets de Backup**: Generadas texturas placeholder (`room_4x4_placeholder.png`, `room_4x8_placeholder.png`) para las nuevas salas para asegurar la carga visual.
#### 2. Control de Salidas en Pasillos (Regla de las 2 Salidas)
- **Limitación de Ramificación**: Los pasillos, que lógicamente tienen 4 direcciones, ahora solo habilitan un máximo de **2 salidas** (la entrada utilizada + una salida extra aleatoria).
- **Control de Proximidad Táctico**:
- Antes de habilitar una salida extra en un pasillo, el sistema verifica que la celda de salida esté a una **distancia mínima de 4 celdas** de cualquier otra habitación (`ROOM` u `OBJECTIVE_ROOM`).
- Si una salida potencial está demasiado cerca de una estructura existente, se descarta para evitar colisiones visuales y mecánicas.
- **Visualización**: Durante la fase de "Placing Tile", el jugador sigue viendo todas las salidas en azul, pero al confirmar, el sistema activa solo las permitidas.
### Tareas Pendientes / TODO
- **[Avanzado]** Implementar conectividad automática: si una pieza recién colocada queda adyacente a una pared con puerta de otra habitación, permitir la conexión física entre ambas.
---
## Sesión 16: Reglas de Exploración y Refinado de Eventos
**Fecha:** 11 de Enero de 2026