Files
Ajedrez_Purgatorio/production/roadmap.md
T
jimmyabv 088d70db6f feat: La Muerte as speaker with custom art + data-driven quotes
- Portraits/muerte.png (256x256 flat style) wired into SpeakerDatabase.asset
  via deterministic GUID/fileID; SpeakerDatabaseSetup batch keeps it in sync
- PortraitRegistry now fills null portraits of existing speakers (was skip-only)
- MuerteQuotes loads pools from Resources Dialogues/muerte_quotes.json with
  embedded fallback per purgatorio-final.md
- Boss art: Resources/Pieces/la_muerte.png (1024px, PPU 100); SpawnBoss swaps
  the tinted king placeholder for the custom sprite when present
- Cleanup: stale TODO in CampaignState.StartChapter, /TestResults/ gitignored,
  duplicate Assets/Game/Audio removed (broken YAML metas, zero references)

Verified in Unity 6000.3.13f1 batch mode: clean import, 200/200 EditMode tests
2026-08-24 20:07:42 -03:00

7.0 KiB
Raw Blame History

Roadmap — Ajedrez Purgatorio

Last Updated: 2026-08-16 Current Stage: Vertical Slice — Scene Assembly & Integration Current Milestone: Vertical Slice (código 100%, MainMenu+Chapter1 cableadas, faltan Ch2/3)

Timeline

Apr 2026                                              Jun 2026
│ Sprint 1  │ Sprint 2  │ Sprint 3  │Sprint 4│Sprint 5│
│ Foundation│ Chess+AI  │ Purgatorio│Narrative│Meta+UI │
│ 23Mar-4Abr│ 07-25 Abr │ 10-23 May │26May-6J │10-12May│
│           │           │           │        │        │
│ Scenes    │ En Passant│ DiceSystem│Campaign│DeadKing│
│ States    │ Draws     │ DiceUI    │Dialogue│Save    │
│ PieceID   │ Promotion │ Muerte    │Content │Menu    │
│ Campaign  │ AI x3     │ Purgatory │Flow    │HUD     │
│ State     │           │ Flow      │        │Polish  │
│           │           │           │        │   ◆ VS │

Nota: El deadline del Vertical Slice (2026-06-07) fue superado. Los 5 sprints están implementados y compilando. MainMenu.unity y Chapter1.unity ya existen en el working tree (sin commitear) con el BoardManager/Purgatorio/Diálogos cableados. Falta: commit del trabajo, Chapter2/3, y cablear GameStateManager/IA/Dead Kings UI. Alpha/Beta/Release sin planificar.

Milestones

Milestone Target Sprints Status
Vertical Slice 2026-06-07 (superado) 5 Código / Escenas ~40%
Alpha TBD TBD Not Planned
Beta TBD TBD Not Planned
Release TBD TBD Not Planned

Vertical Slice Feature Checklist

Leyenda: implementado · código listo, falta integración en escena · pendiente

Ajedrez Core

  • Tablero 8x8 con casillas clickeables
  • 6 tipos de piezas con movimiento correcto
  • Selección y movimiento por click
  • Turnos alternados blancas/negras
  • Detección de jaque y jaque mate
  • Enroque (corto y largo)
  • Promoción de peón (auto-queen)
  • En Passant
  • Detección de tablas (ahogado, material insuficiente, 50 movs, repetición triple)
  • Promoción con elección de pieza

Mecánicas Purgatorio

  • Piece Identity System (16 piezas con nombre)
  • Dice System (2d6 + modificadores vs Muerte)
  • Purgatory flow (oferta → dados → resultado) — cableado en Chapter1
  • La Muerte como personaje con diálogos (pendiente de escenas/diálogos)

Campaña y Narrativa

  • Campaign System (3 capítulos) — CampaignManager + CampaignState cableados
  • Dialogue System (typewriter, branching básico) — cableado en Chapter1
  • Contenido narrativo (6 JSON, ch1/2/3 intro+outro)
  • IA escalada (Easy → Medium → Hard) — código listo; AIController no instanciado, integración TODO

Meta / Social

  • Dead Kings (input al perder → pool local → spawn) — pool ; UIs no cableadas
  • Save/Load (entre capítulos) — código listo, restore parcial

UI

  • Main Menu — MainMenuController + MainMenu.unity cableados (escena sin commitear)
  • HUD (turno, capturadas) — GameHUD en Chapter1, faltan eventos GameManager + CapturedPieceIcon
  • Dialogue UI — DialogueUI en Chapter1, faltan portrait/speakerDatabase/advanceAction
  • Dice UI (oferta, tirada, resultado) — cableada
  • Dead King Input UI — código listo, no instanciada en escena
  • Scene transitions (fade) — ⚠️ duplicado Core/UI; Chapter1 usa versión sin fade

Infraestructura

  • Scene Management (5 escenas) — MainMenu + Chapter1 existen y en Build Settings; faltan Ch2/3
  • Game State Manager — ⚠️ script existe, no instanciado en escenas
  • Campaign State persistence (ScriptableObject + SaveSystem JSON)

Bloqueantes actuales (ver PROJECT_STATUS.md)

  1. Commit del trabajo sin commitear (escenas, prefabs, editor tools, assets)
  2. Crear Chapter2/3 y agregar a Build Settings
  3. Instanciar GameStateManager y AIController en escenas
  4. Cablear DeadKingInputUI/RevealUI en el flujo de campaña
  5. Añadir eventos OnPieceCaptured/OnCheckResolved a GameManager
  6. Escribir tests pendientes (SaveSystem, servicios POCO)
  7. Resolver duplicación BoardManager/ClassicBoardManager (normalización de nombres)

Actualización 2026-08-22 — Auditoría de bloqueantes

Verificación de los 7 bloqueantes listados arriba:

# Bloqueante Estado
1 Commit del trabajo sin commitear RESUELTO — commit 9fdafe8 (+ TestResults*.xml a .gitignore)
2 Chapter2/3 en Build Settings RESUELTO — 4 escenas habilitadas, GUIDs verificados
3 Instanciar GameStateManager y AIController YA ESTABA — presente y habilitado en Ch1/2/3; dificultad aplicada por CampaignManager en runtime
4 Cablear DeadKingInputUI/RevealUI CABLEADO OK (CampaignManager usa FindObjectOfType(true)) — PENDIENTE usuario: correr Tools > Purgatory UI para dedup (8-9 copias por escena) y copiar Victory/Defeat/MemorialPanel a Ch1/2
5 Eventos OnPieceCaptured/OnCheckResolved + HUD RESUELTO — eventos declarados e invocados; GameHUD suscripto con CapturedPieceIcon.prefab asignado en las 3 escenas
6 Tests pendientes RESUELTO — suites migradas de ests/ (invisible para Unity) a Assets/Tests/EditMode/: CampaignState, DiceSystem, DeadKingPool, SaveSystem, DialogueBranching + 3 chess actualizadas a versiones más completas. Nuevas: TypewriterTests (8 tests), CampaignManagerConfigTests (11 tests)
7 Duplicación BoardManager/ClassicBoardManager CERRADO POR DISEÑO — nombres ya normalizados (sin colisión); la duplicación de lógica es consecuencia aceptada de ADR-0001 (arquitectura por modo)

Pendiente tras esta auditoría: correr los menús Tools > Purgatory UI en Unity (Ch1, Ch2, Ch3), guardar escenas, verificar consola sin errores de compilación, y commitear.


Actualización 2026-08-24 — Duelo del Purgatorio + La Muerte como personaje

Commit base: f7d5606 (Duelo del Purgatorio completo + SFX cableados + menú de opciones + migración de tests). Sobre esa base:

Ítem Estado
Commit del trabajo pendiente RESUELTO — f7d5606
La Muerte como speaker RESUELTO — retrato Portraits/muerte.png (256×256, flat) cableado en SpeakerDatabase.asset con GUID/fileID deterministas; PortraitRegistry ahora rellena portraits null de speakers existentes; frases data-driven en Dialogues/muerte_quotes.json con fallback embebido
Arte del Jefe (La Muerte) RESUELTO — sprite propio Resources/Pieces/la_muerte.png (1024×1024, PPU 100); SpawnBoss lo intercambia con fallback al Rey tintado
Limpieza menor RESUELTO — TODO obsoleto en CampaignState.StartChapter eliminado (SyncFromBoard ya cubre), /TestResults/ a .gitignore, duplicado Assets/Game/Audio/ (metas YAML corruptos, sin referencias) eliminado

Verificación: Unity 6000.3.13f1 batch mode — assets importados, SpeakerDatabaseSetup OK (12 speakers, DialogueUIs actualizados en Ch2/Ch3), EditMode 200/200 pasados.