- 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.1 KiB
Bloqueadores Críticos para Jugabilidad
Fecha de última actualización: 17 de agosto de 2026 Estado del Código: ✅ Compilando, 0 errores, 0 warnings de compilación Estado del Proyecto: Vertical Slice — MainMenu + Chapter1 ensambladas y en Build Settings
✅ BLOQUEADORES RESUELTOS
Los siguientes problemas fueron resueltos durante la revisión de código del 17 de agosto:
CS0101 duplicados— 9 clases tenían definiciones duplicadas entreMono/yMono/Classic/- Piece, Pawn, King, Queen, Rook, Bishop, Knight eliminados de
Mono/Classic/Pieces/ BoardManager→ClassicBoardManager,SquareClick→ClassicSquareClickGetAttackSquaresañadido a Piece base + overrides en Pawn y King
- Piece, Pawn, King, Queen, Rook, Bishop, Knight eliminados de
ProjectSetup.cs no compila— CameraFollow eliminado; SceneSetupStructs/PieceSetupStructs generadosSampleScene.huérfana— Eliminada junto con su .metaURP pipeline no asignado— QualitySettings (6 niveles) y GraphicsSettings ahora apuntan al URP correctoTemplate identifiers— Company y app IDs actualizados (DefaultCompany → EarthGenesisGames)URP assets duplicados— Eliminados (Assets/Scenes/Settings/)Test assembly ref rotta— tests asmdef ahora apunta a AjedrezPurgatorio.Runtime
🔴 BLOQUEADORES ACTUALES (Impiden juego completo)
1. Chapter2/3 no existen ⚠️ CRÍTICO
Problema:
- Solo
MainMenu.unityyChapter1.unityexisten en Build Settings - CampaignManager intenta cargar "Chapter2", "Chapter3" → Scene not found
Impacto:
- ❌ Campaña no puede continuar más allá del capítulo 1
- ❌ Dead King spawn solo funciona en chapter 1
Solución: Crear Chapter2.unity y Chapter3.unity (copiar estructura de Chapter1, cambiar contenido narrativo)
Prioridad: 🔴 BLOQUEANTE
2. GameStateManager no instanciado ⚠️ CRÍTICO
Problema:
GameStateManager.csexiste pero no hay instancia en ninguna escena- GameManager tiene null-checks para GameStateManager (no crashea, pero no funciona)
Impacto:
- ❌ Transiciones de estado del juego no están protegidas
- ❌ No hay flujo de estados formally controlado
Solución: Añadir GameStateManager a Chapter1.unity (y a Chapter2/3 cuando existan)
Prioridad: 🔴 BLOQUEANTE
3. AIController no instanciado ⚠️ CRÍTICO
Problema:
AIController.csexiste pero no está en la escena- GameManager usa
AIController.Instance→ null → IA no juega
Impacto:
- ❌ El jugador juega contra nadie (piezas negras no se mueven)
Solución: Añadir AIController a Chapter1.unity; CampaignManager.ApplyChapterAIConfiguration() ya está implementado
Prioridad: 🔴 BLOQUEANTE
🟡 PROBLEMAS IMPORTANTES (Afectan experiencia pero no bloquean)
4. Audio mudo
Problema:
- AudioManager tiene campos para clips, todos null en ambas escenas
Impacto: Juego funciona pero sin audio
Solución: Importar audio clips y asignar en Inspector
Prioridad: 🟡 MEDIO
5. GameHUD incompleto
Problema:
_pauseButtony_capturedPieceIconPrefabnull en Chapter1- Eventos
OnPieceCaptured/OnCheckResolvedno están en GameManager
Impacto: HUD no muestra piezas capturadas ni indicador de check
Solución: Añadir eventos a GameManager; crear y asignar prefabs de iconos
Prioridad: 🟡 MEDIO
6. DialogueUI incompleto
Problema:
_speakerPortrait,_speakerDatabase,_advanceDialogueActionnull en Chapter1
Impacto: Diálogos se muestran pero sin retratos ni base de speakers
Solución: Crear SpeakerDatabase, asignar retratos de personajes
Prioridad: 🟡 MEDIO
7. PauseMenuController sin cablear
Problema:
_canvasGroupnull en Chapter1
Impacto: No hay menú de pausa funcional
Prioridad: 🟡 MEDIO
8. DeadKingInputUI/RevealUI no instanciadas
Problema:
- Scripts existen pero no están en escenas
CampaignManager.ShowDeadKingReveal()tiene TODO
Impacto: Dead Kings se guardan al perder pero no hay UI de inscripción ni revelación
Prioridad: 🟡 MEDIO
9. SaveSystem restore parcial
Problema:
TotalPiecesLost/LastChapterWasVictoryno se restauran (props read-only en CampaignState)
Impacto: Al cargar partida, stats pueden no estar correctos
Prioridad: 🟡 MEDIO
🟢 POLISH (Nice to have)
10. Escenas sin commitear
- MainMenu.unity y Chapter1.unity están en el working tree pero no commiteadas
11. UI feedback faltante
- PieceSelectionFeedback no tiene prefab de MoveIndicator asignado
📊 RESUMEN EJECUTIVO
PARA TENER CAMPAÑA JUGABLE (Chapter 1 completo):
- ✅ Código compilando
- ✅ Chapter1.unity ensamblada con BoardManager, GameManager, PurgatoryManager
- ✅ MainMenu.unity ensamblada con CampaignManager, SaveSystem, AudioManager
- ✅ Build Settings con MainMenu + Chapter1
- ✅ BoardManager tiene prefabs asignados
- ❌ Añadir AIController a Chapter1 (sin esto, no hay oponente)
- ❌ Añadir GameStateManager a Chapter1
PARA CAMPAÑA COMPLETA (3 capítulos):
- ❌ Crear Chapter2.unity y Chapter3.unity
- ❌ Cablear DeadKingInputUI/RevealUI
- Completar DialogueUI (speakerDatabase, portraits)
- Añadir eventos OnPieceCaptured/OnCheckResolved a GameManager
PARA POLISH:
- Audio clips
- GameHUD completeness
- PauseMenu
- SaveSystem restore completo
🎯 PLAN DE ACCIÓN RECOMENDADO
Fase 1: Hacer Chapter 1 jugable (30 minutos)
- Añadir AIController a Chapter1.unity
- Añadir GameStateManager a Chapter1.unity
- Test: MainMenu → New Campaign → Chapter 1 → Jugar contra IA
Fase 2: Campaña funcional (2-3 horas)
- Crear Chapter2.unity y Chapter3.unity
- Añadir a Build Settings
- Cablear DeadKingInputUI/RevealUI
- Test: New Campaign → Chapter 1 → Ganar → Chapter 2 → Completar campaña
Fase 3: Polish (1-2 horas)
- Audio clips + asignación
- GameHUD: eventos + prefabs
- DialogueUI: speaker database + portraits
- PauseMenu
Tiempo total estimado: 4-6 horas para campaña completamente funcional