El frenzy es el reloj de la ronda: tienes una ventana para elegir arma. Si te quedas pensando demasiado, el tiempo deja de ser neutral.

FRENZY_TIMEOUT_MS = 3000   // 3 segundos

El servidor gestiona un frenzyTimer por sala (room.frenzyTimer) que arranca y se limpia (clearTimeout) según el estado de la ronda — para que la partida no se quede colgada esperando a un jugador indeciso o ausente.

Estado de implementación

El temporizador y su constante están cableados en el servidor (socket-server.js): se crea, se arranca y se cancela en los puntos clave de la ronda. Es la pieza del juego con más margen para subir su peso de diseño (p. ej. penalización progresiva, presión visual, ventana que se acorta con la partida).

Por qué existe

  • Anti-AFK / anti-stalling: evita que alguien congele la partida no eligiendo.
  • Presión: convierte la lectura del rival en una decisión bajo tiempo, no en un análisis pausado. Eso es lo que separa el PPT casual del competitivo.

Tensión de diseño (terreno para iterar)

  • El reloj choca con mecánicas que premian esperar, como el furor: ¿se puede “farmear” tiempo sin penalización? Una ventana decreciente lo equilibraría.
  • Relación con el bot: cuando hay timeout, se ofrece jugar contra un bot.

Conexiones

armas · furor · bot