Sesión 18: Refinado de spawning, ajustes de pasillo inicial y mejoras de UX/UI
This commit is contained in:
60
DEVLOG.md
60
DEVLOG.md
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user