- Marcar todas las fases como implementadas (funcional hasta victoria) - Añadir sección de mejoras de UI recientes (2025-12-13) - Actualizar problemas conocidos y próximos pasos - Reflejar que el juego está completamente funcional, solo falta ajuste fino de tokens
105 lines
3.9 KiB
Markdown
105 lines
3.9 KiB
Markdown
# La Resistencia - Estado del Proyecto
|
|
|
|
## 🎮 Estado Actual: FUNCIONAL (Parcial)
|
|
|
|
### ✅ Funcionalidades Implementadas
|
|
|
|
#### Backend (100% Completo)
|
|
- ✅ Sistema de salas y jugadores
|
|
- ✅ Asignación de roles (Resistencia/Espías)
|
|
- ✅ Fases del juego: LOBBY, INTRO, REVEAL_ROLE, ROLL_CALL, VOTE_LEADER, TEAM_BUILDING, VOTE_TEAM, MISSION
|
|
- ✅ **Nuevas fases**: MISSION_REVEAL, MISSION_RESULT (lógica completa)
|
|
- ✅ Votación de líder con sistema de aprobación/rechazo
|
|
- ✅ Selección y votación de equipos
|
|
- ✅ Votación de misiones (éxito/sabotaje)
|
|
- ✅ **Barajado aleatorio de votos de misión**
|
|
- ✅ **Histórico de misiones** (MissionRecord)
|
|
- ✅ Reglas correctas de éxito/fracaso (misión 4 con 7+ jugadores requiere 2 fallos)
|
|
- ✅ Sistema de victoria (3 misiones exitosas o 3 fallidas)
|
|
- ✅ Fase de asesinato (ASSASSIN_PHASE)
|
|
|
|
#### Frontend (Funcional hasta Victoria)
|
|
- ✅ Lobby con creación/unión de partidas
|
|
- ✅ Intro con música y animaciones (título: "Traidores en París")
|
|
- ✅ Revelación de roles con cartas
|
|
- ✅ Roll call con avatares
|
|
- ✅ Votación de líder con timer de 10 segundos (esquina superior izquierda)
|
|
- ✅ Selección de equipo por el líder
|
|
- ✅ Votación de equipo con cartas cuadradas (aceptar/rechazar)
|
|
- ✅ Votación de misión (éxito/sabotaje solo para espías)
|
|
- ✅ **Fase MISSION_REVEAL**: Animación de cartas de votación revelándose
|
|
- ✅ **Fase MISSION_RESULT**: Pantalla resumen con mapa táctico y tokens de victoria/fracaso
|
|
- ✅ **Histórico de Misiones**: Círculos clicables en esquina superior derecha
|
|
- ✅ **Mapa táctico**: Tablero con tokens de misiones y marcadores de resultado
|
|
- ✅ Pantallas de victoria (Aliados/Nazis)
|
|
- ✅ Fase de asesinato (ASSASSIN_PHASE)
|
|
|
|
### 🎨 Mejoras de UI Recientes (2025-12-13)
|
|
|
|
- ✅ Timer de votación reposicionado (esquina superior izquierda, fixed, 20px margen)
|
|
- ✅ Cartas de votación de líder redimensionadas (cuadradas 32x32)
|
|
- ✅ Eliminado contador de votos rechazados en resultado de misión
|
|
- ✅ Mapa táctico permanece visible durante toda la fase MISSION_RESULT
|
|
- ✅ Tokens de victoria/fracaso posicionados en el mapa (ajuste fino pendiente para tokens 3, 4, 5)
|
|
|
|
### ⚠️ Pendiente de Ajustar
|
|
|
|
1. **Posiciones de tokens en mapa**: Afinar ubicación de tokens de misiones 3, 4 y 5 en el tablero táctico
|
|
|
|
## 🚀 Cómo Ejecutar
|
|
|
|
```bash
|
|
# Iniciar todos los servicios
|
|
docker compose up -d
|
|
|
|
# Ver logs
|
|
docker compose logs -f
|
|
|
|
# Detener servicios
|
|
docker compose down
|
|
```
|
|
|
|
## 🌐 URLs
|
|
|
|
- **Cliente**: http://localhost:3000
|
|
- **Servidor**: http://localhost:4000
|
|
- **Base de Datos**: localhost:5432
|
|
|
|
## 📝 Git
|
|
|
|
### Ramas
|
|
- `master`: Estado inicial con errores
|
|
- `fix-gameboard`: Estado actual funcional ✅
|
|
|
|
### Commits Importantes
|
|
1. `8d423ac` - Estado inicial con errores de sintaxis
|
|
2. `44d7418` - GameBoard limpio y funcional
|
|
3. `5bb1b17` - VotingTimer agregado correctamente
|
|
|
|
## 🐛 Problemas Conocidos
|
|
|
|
1. **CPU Alta en Servidor**: El servidor puede consumir mucha CPU. Si ocurre, reiniciar con `docker compose restart server`
|
|
2. **Posiciones de tokens en mapa**: Los tokens de misiones 3, 4 y 5 necesitan ajuste fino en sus coordenadas
|
|
|
|
## 📋 Próximos Pasos
|
|
|
|
1. Afinar posiciones de tokens de misiones 3, 4 y 5 en el mapa táctico
|
|
2. Optimizar rendimiento del servidor
|
|
3. Testing exhaustivo de todas las fases del juego
|
|
4. Ajustes finales de UX/UI según feedback de jugadores
|
|
|
|
## 🎯 Reglas del Juego Implementadas
|
|
|
|
- Votación de líder: mayoría simple aprueba
|
|
- 5 rechazos consecutivos: victoria de espías
|
|
- Misiones: 1 fallo = fracaso (excepto misión 4 con 7+ jugadores que requiere 2 fallos)
|
|
- 3 misiones exitosas: victoria de resistencia (con fase de asesinato)
|
|
- 3 misiones fallidas: victoria de espías
|
|
|
|
## 🔧 Tecnologías
|
|
|
|
- **Frontend**: Next.js 14, React, TypeScript, Framer Motion, TailwindCSS
|
|
- **Backend**: Node.js, Express, Socket.IO, TypeScript
|
|
- **Base de Datos**: PostgreSQL 15
|
|
- **Containerización**: Docker, Docker Compose
|