← Ecosistema

JoeQuiz

quiz.giorgiopalermo.com en producción

Quiz multijugador para el salón: los móviles como pulsadores, una TV como pantalla común, catorce minijuegos. Se comporta como si fuera en tiempo real en cualquier alojamiento compartido.

El problema

La idea era una noche al estilo Buzz! de PlayStation, no una carrera de reflejos: diez personas en la misma sala, cada una con su móvil. La limitación era el alojamiento: sin WebSocket, sin procesos siempre encendidos, un servidor compartido normal junto a otros sitios.

Las plataformas existentes o piden una infraestructura dedicada o lo reducen todo a quién pulsa primero. JoeQuiz tenía que ser justo con los tiempos incluso con las oscilaciones de un WiFi doméstico.

Cómo funciona

Estructura

Tres pantallas, una por papel: control para quien conduce, juego para quien tiene el móvil, escenario para la TV. Cada una recibe una vista del estado construida a propósito, y la de los jugadores ni siquiera contiene la respuesta correcta. Un único motor de rondas, catorce configuraciones.

Flujo de uso

Se abre una sala desde el ordenador y los demás entran desde el móvil con un código de seis letras, sin app ni registro. Un jugador elige tema y dificultad, el sistema sortea el minijuego. Las rondas deciden el tiempo de salida de la final, que se juega hasta que queda uno.

Decisiones técnicas

Polling HTTP cada medio segundo con el estado en MySQL, una sincronización de relojes al estilo NTP para saber quién pulsó de verdad primero, preguntas entregadas tapadas y reveladas a todos en el mismo instante. El juego avanza con las propias peticiones de los jugadores; un cron cubre el caso en que ya nadie pregunta.

Límites conocidos

Las puntuaciones están en la configuración y hay que ajustarlas en noches reales: el valor más delicado es el tiempo mínimo de la final. El banco de preguntas cubre cinco temas; música, series, deporte y videojuegos siguen en borrador.

Números

Preguntas en el banco, más de 6.400
Minijuegos, más la ronda final 14
Comprobaciones automáticas, más de 850
Tablas del esquema 35
Líneas de código de la aplicación, aprox. 30.000

Stack

  • PHP 8
  • MariaDB
  • JoeCMS
  • JavaScript
  • Polling HTTP
  • Python
Captura de JoeQuiz