53 lines
3.1 KiB
Markdown
53 lines
3.1 KiB
Markdown
# 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
|
|
### Estado Actual
|
|
### Estado Actual
|
|
* El generador crea mazmorras lógicas válidas siguiendo las reglas.
|
|
* El visualizador pinta la estructura en 3D.
|
|
* **Texturas operativas**: Se ha corregido un bug crítico en la rotación (NaN) que impedía la visualización. Ahora las texturas se cargan y posicionan, aunque persisten problemas de alineación visual en las juntas.
|
|
|
|
### Próximos Pasos
|
|
* Corregir la alineación fina de las baldosas (especialmente T y L) para eliminar huecos visuales.
|
|
* Implementar la interfaz de usuario (UI) para mostrar cartas y estado del juego.
|
|
* Añadir modelos 3D para héroes y monstruos.
|