Blog de Vibe Arcade

Historias de desarrollo, diseño de juegos y el arte de crear con IA

Cómo Creamos Retro Trivia Blast: 300 Preguntas, Una Semilla Diaria y un Modo Difícil Que Casi Hizo Trampa

La parte más difícil de crear un juego de trivia no es el temporizador o la puntuación o incluso el reto diario. Es conseguir unos cuantos cientos de buenas preguntas sin escribir cada una a mano. Aquí está cómo lo manejó el pipeline — y dónde entraron los humanos.

· Vibe Arcade

desarrollo de juegos vibe coding herramientas de IA entre bambalinas

Retro Trivia Blast parece un juego de quiz funcionando en una recreativa de los 80 — fuente Press Start 2P, scanlines CRT a lo largo de la pantalla, una paleta píxel-neón en verde, cian, amarillo y rosa. Las preguntas, sin embargo, son de cultura general: Ciencia, Historia, Geografía, Cultura Pop, Tecnología y Deportes. Sin sesgo de nostalgia de los 80, sin trivia con temática retro. La estética es retro; la temática no.

Esa separación moldeó todo lo demás. Un juego de quiz llamado "Retro Trivia" plausiblemente podría haber sido un juego de cultura pop de los 80 — citas de películas, recreativas, letras de synth-pop. Escribimos la especificación para asegurarnos de que no lo fuera. La estética hace el trabajo retro, las preguntas hacen el trabajo de trivia, y mantenerlos separados significó que el banco podía ser útil para cualquiera.

¿Quieres jugar primero y luego leer la historia de cómo lo creamos?

▶ Juega Retro Trivia Blast Ahora

El Problema del Banco de Preguntas

Todo juego de trivia vive o muere por su banco de preguntas. Curar a mano unos cientos de preguntas es lento, y tirar de una API pública de trivia significa que tu juego se rompe la primera vez que esa API caiga o te limite la tasa. Ninguna opción escala para un proyecto de un solo desarrollador.

La especificación le pidió al pipeline generar al menos cincuenta preguntas por categoría, etiquetadas por dificultad, con un array de cuatro respuestas para fácil/medio y un array de seis respuestas para difícil, embebidas directamente en el JavaScript del juego. Sin llamada de red en runtime. El pipeline produjo 316 preguntas en la primera versión, aproximadamente balanceadas entre categorías y dificultades.

Verifiqué una muestra a mano — no las 316, pero un corte de cada categoría y dificultad — y la calidad era usable. Unas pocas preguntas necesitaban reformulación donde una respuesta podía argumentarse para ser múltiples cosas, pero la tasa de acierto era lo bastante alta para que el banco se enviara mayormente tal como se generó. Genera, lee una muestra, marca cualquier cosa equivocada, regenera las marcadas. Humano-en-el-bucle, pero el bucle es estrecho.

Sembrar el Reto Diario

Uno de los problemas mecánicos más interesantes fue el reto diario. La promesa de un modo diario es que todo el mundo que juega un día dado ve el mismo puzle, para poder comparar puntuaciones y hablar de ello. El problema es que no tenemos servidor entregando "preguntas de hoy" — el juego es un único archivo HTML, todo del lado del cliente. Así que el puzle tiene que ser determinista solo a partir de la fecha.

El pipeline lo resolvió con un generador pseudoaleatorio con semilla. El string de fecha (YYYY-MM-DD) se hashea en un entero de 32-bit, ese entero se convierte en la semilla para un pequeño RNG congruencial lineal, y ese RNG conduce la selección de preguntas: una pregunta tirada de cada una de las seis categorías, cuatro picks aleatorios adicionales del banco completo, y un barajeo final — todo usando la misma semilla. Cada jugador en el mismo día del calendario obtiene las mismas diez preguntas en el mismo orden.

La elegancia de esto es que es sin estado. Sin servidor, sin API, sin endpoint de "preguntas de hoy". La fecha es la clave. El diario de ayer es reproducible para siempre solo escribiendo la fecha de ayer en la función de semilla. Es el tipo de solución que es obvia una vez la ves y genuinamente no trivial llegar a ella si no has construido una antes.

El Modo Difícil Casi Hizo Trampa

El modo Difícil muestra seis opciones de respuesta en lugar de cuatro y te da diez segundos por pregunta en lugar de quince. El truco: la mayoría de las preguntas en el banco tienen cuatro respuestas, no seis. El pool del modo Difícil necesitaba rellenar dos opciones extra por pregunta sobre la marcha.

La primera versión hizo esto de la forma más perezosa posible. Para cualquier pregunta de cuatro respuestas mostrada en Difícil, añadía dos respuestas más que eran las respuestas incorrectas existentes con " (variant)" pegado al final. Así "Venus" se convertía en "Venus (variant)". Técnicamente seis opciones. Obviamente no seis opciones reales — cualquier cosa con "(variant)" era una pista.

La pasada de QA lo señaló inmediatamente. En lugar de rellenar con duplicados etiquetados, el pipeline ahora tira los dos distractores extra de los arrays de respuesta de otras preguntas en la misma categoría, barajados, deduplicados contra las respuestas reales. Una pregunta de Ciencia en Difícil obtiene dos respuestas incorrectas extra con sabor a Ciencia que resultan ser respuestas correctas a alguna otra pregunta de Ciencia. Plausibles porque suenan a respuestas de Ciencia, incorrectas porque responden a una pregunta distinta.

Los Bugs Que Detectó la Revisión Humana

Un juego que pasa la barra de "compila y renderiza" aún puede tener pequeños bugs que solo emergen cuando alguien lo juega de extremo a extremo. El bucle de QA detectó un puñado en Retro Trivia que vale la pena mencionar honestamente:

Ninguno de estos haría un tráiler. Todos ellos molestarían a un jugador real en unos minutos. Encontrarlos es todo el punto de un paso de revisión tras el paso de construcción.

Lo Que Hicimos Bien al Principio

Algunas decisiones de la especificación aterrizaron bien al primer intento. El multiplicador de racha — un contador de respuestas correctas que escala tu multiplicador de puntuación hasta 5x en una racha de diez — da a los jugadores una razón para preocuparse de acertar tres seguidas en lugar de dos. La barra de tiempo que se desvanece de verde a naranja a rojo y empieza a pulsar bajo el 25% es feedback visual que significa exactamente una cosa y la significa inmediatamente. La rejilla compartible de resultado de cuadrados verdes/rojos/negros es el tipo de pequeño gancho viral que cuesta casi nada implementar.

La estética 8-bit en sí fue una victoria fácil. Press Start 2P es gratis de Google Fonts, el overlay de scanline es un breve pseudo-elemento CSS, y la paleta se eligió a sí misma a partir de la restricción de "se parece a un monitor de recreativa de 1982". Las partes que podrían haber sido enredadas resultaron ser las más simples porque el punto de referencia está tan bien establecido.

Lo Que el Pipeline Hizo Mal, Honestamente

Más allá del relleno del modo Difícil: el layout inicial era demasiado céntrico al escritorio y necesitaba una pasada adecuada de breakpoint móvil para que los botones de respuesta se apilaran limpiamente en teléfonos; la pista de atajo de teclado era invisible o estaba en el camino hasta que añadimos un fade-out de tres segundos solo en la primera pregunta; la rejilla emoji de resultado compartido necesitaba distinguir "respuesta incorrecta" de "se acabó el tiempo" para ser lo bastante interesante para compartir. Borradores que necesitaban una segunda pasada, que es cómo funcionan los borradores.

La siguiente iteración que nos importa es feedback de precisión por categoría en game-over. Ahora mismo el juego te dice la precisión general y la mejor racha, pero no que te aplastaron en Geografía y arrasaste en Tecnología. Ese es el tipo de cosa que trae a los jugadores de vuelta a trabajar en categorías débiles.

La Conclusión

Los juegos de trivia se sienten como si debieran ser fáciles de construir. Todas las mecánicas — temporizador, visualización de pregunta, opción múltiple, puntuación — están bien comprendidas. La parte difícil son todas las pequeñas decisiones sobre qué son las preguntas y cómo se sienten: separar estética de temática, sembrar deterministamente un reto diario, hacer que el modo Difícil sea realmente difícil en lugar de estar obviamente rellenado. Un pipeline que genera las partes aburridas a escala y deja las decisiones de juicio a una revisión humana rápida es un buen ajuste para exactamente este tipo de juego.

Juega Retro Trivia Blast — prueba el reto diario, y mira si puedes detectar de qué categoría vinieron los distractores del modo Difícil.


Lecturas relacionadas: Cómo Creamos Pulse: El Idle Clicker Que Nuestra IA Eligió Hacer · Cómo Creamos Neon Snake Con IA · ¿Qué es Vibe Coding? · Herramientas de Vibe Coding: Desde Chatbots hasta IDEs de IA