mirror of
https://github.com/Earth-Genesis-Games/Ajedrez_Purgatorio.git
synced 2026-09-11 09:47:35 +00:00
- Fix 9 CS0101 duplicate classes between Mono/ and Mono/Classic/ - BoardManager -> ClassicBoardManager, SquareClick -> ClassicSquareClick - Delete duplicate Piece/Pawn/King/Queen/Rook/Bishop/Knight from Classic/ - Merge GetAttackSquares into Piece base class with overrides - Fix King castling: reject castling through/while in check - Assign URP pipeline to QualitySettings (6 levels) and GraphicsSettings - Fix template identifiers (DefaultCompany -> EarthGenesisGames) - Delete orphaned SampleScene.unity and duplicate URP assets - Fix test assembly reference (Assembly-CSharp -> AjedrezPurgatorio.Runtime) - Remove 11 unused packages (multiplayer, visualscripting, terrain, etc.) - Update BoardInputSystemSpike for ClassicSquareClick - Write unit tests: CheckDetector, DrawDetector, MoveValidator - Fix BalanceConfig JSON structure to match C# class fields - Update stale documentation (~30 files) - architecture.md, ADR-0001, roadmap, gate-check, EPIC.md - PROJECT_STATUS.md, BLOQUEADORES_JUGABILIDAD.md - tech-debt-register.md - Add Unity Editor setup guide (production/UNITY_EDITOR_SETUP.md)
6.2 KiB
6.2 KiB
Ajedrez Purgatorio — Estado del Proyecto
Fecha: 17 de agosto de 2026 Milestone Actual: Vertical Slice Estado Global: Compilation-blocking duplicate classes resolved; URP pipeline assigned; template identifiers fixed; package bloat reduced. Core chess logic merged (GetAttackSquares + castling fixes).
🔧 Correcciones de Infraestructura (17 Ago 2026)
CRITICAL: Clases Duplicadas Resueltas
- Problema: 9 clases con nombres idénticos en
Mono/yMono/Classic/causaban CS0101 (compilation blocker) - Solución:
- Fusionada funcionalidad crítica de Classic → Purgatory (
GetAttackSquaresen Piece, Pawn, King) - Corregido enroque del King Purgatory (agregada guardia "rey no en jaque" + simplificación)
- Renombrado
BoardManager→ClassicBoardManager,SquareClick→ClassicSquareClick - Eliminadas 7 piezas Classic duplicadas (Piece, Pawn, King, Queen, Rook, Bishop, Knight)
- Actualizadas referencias en Spike y GameManagerClassic
- Fusionada funcionalidad crítica de Classic → Purgatory (
HIGH: URP Pipeline Asignado
- Problema: 6 niveles de calidad tenían
customRenderPipeline: {fileID: 0}(null) - Solución: Asignado GUID
f129fa08335309540b185f083eeb490e(Assets/Settings/UniversalRP.asset) - También: Corregido GraphicsSettings para apuntar al asset canónico
HIGH: Identificadores de Template Corregidos
- Company:
DefaultCompany→EarthGenesisGames - App IDs:
com.DefaultCompany.com.unity.template.mobile2D→com.earthgenesisgames.ajedrezpurgatorio
MEDIUM: Assets Duplicados Limpiados
- Eliminado directorio
Assets/Scenes/Settings/(duplicado deAssets/Settings/) - Corregidas referencias cruzadas GUID en UniversalRP.asset y Lit2DSceneTemplate
MEDIUM: Test Assembly Corregido
tests/AjedrezPurgatorio.Tests.asmdef: referenciaAssembly-CSharp→AjedrezPurgatorio.Runtime
LOW: Limpieza
- Eliminado
SampleScene.unity(huérfana, no en Build Settings) - Eliminado
.gitignore copy(duplicado) - Eliminados 11 paquetes no utilizados: multiplayer, visualscripting, mobile feature, terrain, vehicles, VR, XR, wind, AI, cloth, adaptiveperformance
📊 Progreso General
Sprints Completados: 5/5
| Sprint | Estado | Tareas | Fechas |
|---|---|---|---|
| Sprint 1: Foundation | ✅ Complete | 9/9 | 23 Mar - 04 Abr 2026 |
| Sprint 2: Chess + AI | ✅ Complete | 11/11 | 07 Abr - 25 Abr 2026 |
| Sprint 3: Purgatorio | ✅ Complete | 7/9 (Must Have 100%) | 10 May - 23 May 2026 |
| Sprint 4: Narrative | ✅ Complete | 8/8 (100%) | 26 May - 06 Jun 2026 |
| Sprint 5: Meta + Polish | ✅ Complete | 11/11 (36/36 pts) | 10 May - 12 May 2026 |
✅ Sistemas Implementados
Core Systems
- ✅ Board System — Tablero 8x8 +
SetupBoard(CampaignState)+ indicadores de movimiento - ✅ Piece Movement — 6 tipos de piezas con movimiento completo +
GetAttackSquares - ✅ Turn System — Alternancia blancas/negras
- ✅ Check/Checkmate — Detección completa via CheckDetector (POCO, testable)
- ✅ Draw Detection — Stalemate, material insuficiente, repetición triple, regla 50 movimientos
- ✅ Servicios POCO — CheckDetector, DrawDetector, MoveValidator
Chess Rules
- ✅ Castling — Enroque con validación de jaque en casillas de tránsito
- ✅ En Passant — Captura al paso con tracking de último movimiento
- ✅ Pawn Promotion — Con PromotionUI y selección de pieza
- ✅ GetAttackSquares — Separación correcta de "movimientos legales" vs "casillas atacadas"
AI System
- ✅ Strategy Pattern — 3 dificultades (Easy/Medium/Hard, minimax alpha-beta)
- ✅ AIPositionTables — ScriptableObject con valores de posición
- ⚠️ AIController no instanciado en escenas (ver bloqueadores)
Piece Identity System
- ✅ 16 PieceIdentity assets — Characters: Ricardo (King), Elena (Queen), etc.
- ✅ PieceIdentityManager — Asignación automática
- ✅ CampaignState — ScriptableObject persistente
Purgatorio System
- ✅ DiceSystem — Lógica de dados 2d6 con bonos/penalizaciones
- ✅ PurgatoryManager — Orquestador completo (3 visitas, pausa/resume)
- ✅ 3 UIs — Offer/Roll/Result
Narrative System
- ✅ DialogueSystem — Branching, 6 JSON (ch1-3 intro+outro)
- ✅ DialogueUI — Typewriter, avatar, opciones
- ✅ CampaignManager — Orquestador con SetupBoard integrado
Meta Systems
- ✅ DeadKingPool — JSON persistente, FIFO, filtro profanity
- ✅ SaveSystem — 3 slots, autosave
- ✅ MainMenuController — Cableado en MainMenu
- ✅ AudioManager — Script en escenas (⚠️ clips null)
Classic Mode (Separate)
- ✅ GameManagerClassic — Modo clásico self-contained con IA inline
- ✅ ClassicBoardManager — Generación de tablero y piezas
🔴 Bloqueadores Pendientes
- ❌ Chapter2/3 no existen — campaña incompleta
- ❌ GameStateManager sin cablear — transiciones de estado no funcionan
- ❌ AIController no instanciado — sin oponente IA
- ❌ DeadKing UI no cableadas — input de derrota no fluye
- ⚠️ Audio mudo — clips null en ambas escenas
- ⚠️ BalanceConfig.LoadFromJSON() placeholder
🧪 Estado de Testing
Tests implementados (8 archivos):
- ✅
tests/unit/Chess/CheckDetectorTests.cs - ✅
tests/unit/Chess/DrawDetectorTests.cs - ✅
tests/unit/Chess/MoveValidatorTests.cs - ✅
tests/unit/Campaign/CampaignStateTests.cs - ✅
tests/unit/Dialogue/DialogueSystemBranchingTests.cs - ✅
tests/unit/Meta/DeadKingPoolTests.cs - ✅
tests/unit/Meta/SaveSystemTests.cs - ✅
tests/unit/Purgatory/DiceSystemTests.cs - ✅
Assets/Tests/EditMode/Classic/CheckDetectionTests.cs
Tests pendientes:
- ❌ Integración Save/Load + Dead King spawn
- ❌ Playtest completo (bloqueado por Chapter2/3)
🎯 Siguiente Acción
- 🔴 Crear Chapter2/3 y agregar a Build Settings
- 🔴 Instanciar GameStateManager y AIController
- 🔴 Cablear DeadKingInputUI/RevealUI
- 🟡 Completar AudioClips y referencias UI faltantes
- 🟢 Completar restore de SaveSystem
- 🟢 Crear test plan Sprint 5
📞 Contacto
- GDDs:
/design/gdd/ - Arquitectura:
/docs/architecture/ - Sprints:
/production/sprints/ - Tech Debt:
/docs/tech-debt-register.md