Cada partida se graba jugada a jugada, y el visor la reproduce ronda a ronda. Revivir tus victorias (o estudiar tus derrotas).
Qué se guarda
Tras cada ronda, saveGameMove inserta una fila en game_moves:
| Campo | Qué |
|---|---|
| round | número de ronda |
| player1Choice / player2Choice | el arma que eligió cada uno |
| player1Damage / player2Damage | daño repartido |
| player1Hp / player2Hp | vida tras la ronda |
| events | los mensajes de la ronda (combos, veneno, robos…) |
Atado a un gameRecord (la partida). Las partidas de práctica no se graban.
El visor
/replay/[id] reproduce la partida: barras de HP animadas, las armas jugadas, el daño y los eventos, con controles de reproducir / pausa / paso / scrub. Se llega desde el historial del leaderboard o desde las partidas recientes del perfil.
Dato que ya recogías
El backend grababa cada jugada desde el principio, pero no había forma de verlas — dato recogido y tirado. El visor convierte ese registro en una feature visible sin coste de datos nuevo.
Pendiente / ideas
- Compartir una repetición (link público) — gancho viral.
- Marcar momentos clave (el golpe que decidió la partida).
Conexiones
sistemas · progresion · dano