Files
WarhammerQuest/DEVLOG.md
2025-12-30 23:24:58 +01:00

2.9 KiB

Devlog - Sesión 1: Inicialización y Motor 3D

Fecha: 30 de Diciembre, 2025

Resumen General

En esta sesión se ha establecido la base completa del motor de juego para Warhammer Quest (Versión Web 3D). Se ha pasado de un concepto inicial a una aplicación dockerizada con generación procedimental de mazmorras y visualización isométrica en 3D.

Hitos Alcanzados

1. Infraestructura

  • Dockerización: Se creó un entorno conteinerizado usando Dockerfile y docker-compose. La aplicación corre sobre Nginx (Frontend) y se construye con Node.js/Vite.
  • Estructura del Proyecto: Configuración de package.json, index.html limpio, y carpetas organizadas (src/engine, src/view, public/assets).

2. Motor de Juego (Engine)

  • GridSystem: Implementación de un sistema de coordenadas global y local. Soporte para rotación de baldosas y detección de colisiones mediante matrices de ocupación (layout).
  • DungeonGenerator: Lógica central de generación.
    • Gestiona el bucle de "Paso a paso" (Step).
    • Conecta baldosas basándose en las salidas (Exits) disponibles.
    • Valida superposiciones antes de colocar una pieza.
  • DungeonDeck (Reglas): Implementación fiel al libro de reglas.
    • Mazo de 13 cartas.
    • Mezcla inicial de cartas de mazmorra y pasillo.
    • Inserción de la "Habitación Objetivo" en la segunda mitad (últimas 7 cartas) para asegurar una duración de partida adecuada.
  • TileDefinitions: Base de datos de baldosas (Corridor, Corner, T-Junction, Rooms).
    • Definición de dimensiones físicas y lógicas.
    • Definición de puntos de salida (Norte, Sur, Este, Oeste).
    • Asignación de texturas.

3. Visualización 3D (Three.js)

  • GameRenderer:
    • Escena básica con iluminación ambiental y direccional.
    • Visualización de Debug: GridHelper (suelo) y AxesHelper (ejes).
    • Renderizado de Baldosas:
      • Creación de "Grill" (rejilla de alambre) para visualizar celdas individuales lógica.
      • Implementación de TextureLoader para cargar imágenes PNG sobre planos 3D.
  • CameraManager:
    • Cámara Isométrica (OrthographicCamera).
    • Controles de órbita fijos (N, S, E, O).
    • Zoom y Panoramización.
  • Assets: Integración de texturas (.png) para baldosas, movidas a la carpeta public/assets para su correcta carga en el navegador.

Estado Actual

  • El generador crea mazmorras lógicas válidas siguiendo las reglas.
  • El visualizador pinta la estructura en 3D.
  • Se han añadido las texturas, aunque persisten problemas de caché/visualización en el navegador del usuario que requieren un reinicio limpio.

Próximos Pasos

  • Validar la alineación visual fina de las texturas (especialmente en uniones T y L).
  • Implementar la interfaz de usuario (UI) para mostrar cartas y estado del juego.
  • Añadir modelos 3D para héroes y monstruos.