Un juego de deducción social donde los jugadores deben descubrir quién es el impostor (o descubrir la palabra si eres el impostor).
- Juego Local: Todos los jugadores comparten un dispositivo
- Múltiples Impostores: Configurable según el número de jugadores
- Paquetes de Palabras: Diferentes categorías de palabras en español
- Fases de Juego: Pistas, Discusión, Votación, Resultados
- Oportunidad del Impostor: Si es eliminado, tiene una chance de adivinar la palabra civil
- Interfaz Móvil: Diseño responsive optimizado para móviles
- Servicio de paquetes de palabras
- API REST simple
- CORS habilitado para desarrollo
- Gestión de estado con Zustand
- Componentes por fase de juego
- Estilos con Tailwind CSS
- Lógica del juego completamente en el cliente
- Node.js 18+
- npm o yarn
cd backend
npm install
npm run start:devEl backend estará disponible en http://localhost:3000
cd frontend
npm install
npm run devEl frontend estará disponible en http://localhost:5173
- Setup: Selecciona número de jugadores, impostores y paquete de palabras
- Pistas: Cada jugador da una pista sobre su palabra (4 minutos)
- Discusión: Los jugadores discuten quién es el impostor (4 minutos)
- Votación: Todos votan por quién creen que es el impostor
- Resultados: Se revela el rol del jugador eliminado
- Oportunidad del Impostor (si aplica): El impostor eliminado intenta adivinar la palabra civil
- Fin del Juego: Cuando todos los impostores son eliminados o adivinan correctamente
Actualmente incluidos:
- Animales: Palabras relacionadas con animales
- Frutas: Palabras relacionadas con frutas
- Profesiones: Palabras relacionadas con profesiones
impostor/
├── backend/
│ ├── src/
│ │ ├── word-packs/
│ │ ├── app.module.ts
│ │ └── main.ts
│ └── package.json
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ ├── hooks/
│ │ ├── services/
│ │ ├── types/
│ │ ├── App.tsx
│ │ └── main.tsx
│ └── package.json
└── README.md
- El juego está diseñado para ser jugado en un solo dispositivo
- Los jugadores pasan el teléfono para ver su palabra secreta
- No hay persistencia de datos entre sesiones
- La conexión a internet es necesaria para descargar los paquetes de palabras
Para agregar nuevos paquetes de palabras, edita backend/src/word-packs/word-packs.service.ts y agrega un nuevo objeto a la lista wordPacks.
MIT