Roguelike cenital en el navegador, al estilo de The Binding of Isaac, pero con Pokémon. Recorres pisos llenos de salas, limpias a los enemigos, coges objetos y poderes, y te enfrentas a jefes legendarios. Es un fan game gratuito y sin ánimo de lucro (nunca se cobra dinero real por nada).
Hecho con Phaser 3, Vite y TypeScript. Se juega en cualquier navegador moderno, con teclado, ratón o mando (cada uno por sí solo) y también con controles táctiles en móvil.
- Eliges tu Pokémon (más de 1000, de las 9 regiones) y un modo de juego.
- Disparas con los ataques de tu tipo y llevas hasta 4 poderes (movimientos reales de tu Pokémon, con su propio estilo: chorros, rayos, ondas, lluvia, bumeranes…).
- Cada piso tiene su bioma (bosque, cueva, mar, volcán, torre, ciudad, nieve, pantano, cumbre), sus enemigos con distintas formas de moverse, un minijefe en su propia sala y un jefe legendario con dos fases.
- Hay Centro Pokémon, tienda, cofres con llave, bombas, salas sorpresa (Pokémon raro que huye, mercader, altar, cofre trampa) y clima distinto en cada piso.
- Al terminar el piso 5 puedes aceptar el reto final: el trío legendario o un gigante, elegido al azar.
- Los pasivos de los objetos se combinan en sinergias.
| Modo | En qué consiste |
|---|---|
| Normal | 5 pisos y reto final. |
| Oleadas | Una sola sala, rondas con más enemigos. |
| Infinito | Como Normal, pero sin final. |
| Rush de jefes | Solo jefes legendarios, uno tras otro. |
| Desafío diario | La misma partida para todos ese día, con racha. |
Tres dificultades (Fácil, Normal, Difícil), cada una con sus récords.
- Gacha: los tickets que ganas jugando se gastan en tiradas para desbloquear nuevos Pokémon (común, raro, épico, ultraente y legendario, con shinies).
- Mejoras: los caramelos, que también se ganan jugando, suben las estadísticas de cada Pokémon (daño, PS, velocidad, cadencia, alcance, crítico y defensa).
- Pokédex, misiones y logros, historial de partidas y tutorial.
- Cuentas opcionales (Firebase): el progreso se guarda en la nube. Como invitado se puede jugar, pero no se guarda.
| Acción | Teclado | Ratón | Mando |
|---|---|---|---|
| Moverse | W A S D | Clic derecho hacia el cursor | Stick izquierdo |
| Disparar | Flechas | Clic izquierdo hacia el cursor | Stick derecho |
| Poderes 1-4 | 1, 2, 3, 4 | Clic en la ranura | A, B, X, Y |
| Objeto activo / bomba | Espacio / E | Clic en su cuadro | LB / RB |
| Pausa | Esc o P | Botón ❚❚ | Start |
Las teclas se pueden cambiar en Ajustes > Controles y teclas. En el juego, Controles enseña solo los del dispositivo que estés usando.
Necesitas Node.js 22.6 o superior.
npm install
npm run dev # abre la URL que muestra Vite (normalmente http://localhost:5173)
npm test # pruebas de la lógica (node --test)
npm run e2e # pruebas en navegador con Playwright
npm run build # compila para producciónLas cuentas en la nube son opcionales: sin configurar nada, el juego funciona como invitado. Para activarlas hay
que crear un proyecto de Firebase y poner sus claves en un .env.local (que no se sube a git). Los pasos están en
docs/DESARROLLO.md.
src/data: reglas y datos puros (objetos, modos, gacha, ataques, mejoras…), con pruebas entests/.src/level: generación de pisos, salas y biomas.src/scenes: las pantallas de Phaser (menús, partida, resumen…).src/ui: HUD, arte pixel generado por código, sonido y música sintetizados con Web Audio (sin archivos de audio).- La documentación de diseño y la bitácora de desarrollo están en
docs/.
- Datos de Pokémon: PokeAPI.
- Sprites animados: PMDCollab SpriteCollab, licencia CC BY-NC 4.0.
- Fuente: Pixelify Sans (SIL Open Font License).
- Pokémon y todos sus nombres y personajes son de Nintendo, Game Freak y The Pokémon Company. Este proyecto no está afiliado a ellos.
Todos los derechos reservados © 2026 Roberto Fernández Mañero. El código es visible para consulta, pero no se
puede copiar, modificar ni redistribuir sin permiso del autor. Ver LICENSE.