La empresa NoGame dedicada a la creación de videojuegos va a crear una nueva línea de productos basados en juegos de preguntas/respuesta para diversas plataformas. En primer lugar se desea construir una variante del juego Trivial, aunque la idea es que puedan crearse más juegos de preguntas/respuesta similares en el futuro
En una primera fase, desean hacerse con una base de preguntas suficiente para poder alimentar los diferentes juegos. Para ello, desean construir una sencilla aplicación que lea ficheros con los enunciados y respuestas de las preguntas, procese dichas preguntas indicando si hay errores o son correctas y las almacene en una base de datos.
Los ficheros con los enunciados de las preguntas se tomarán de bancos de preguntas ya existentes. Uno de los bancos de preguntas utiliza el formato GIFT. La aplicación utilizará una representación interna de las preguntas en formato JSON que facilitará su posterior almacenamiento en la base de datos. La compañía está considerando utilizar MongoDb, aunque esta decisión todavía no se ha tomado.
Se desea que la aplicación pueda ejecutarse en dos etapas. Una primera etapa que analiza los ficheros con las preguntas y genera el formato intermedio y otra etapa que toma las preguntas en dicho formato intermedio y las almacena en la base de datos. La ejecución de estas 2 etapas será controlada por un operador de la compañía que podrá decidir cuándo ejecuta cada etapa e incluso podrá automatizar dicha ejecución para que se realice cada cierto tiempo.
Es importante garantizar que la conversión es correcta, facilitando la depuración del proceso de carga de preguntas. Por ese motivo, se buscará una solución que no requiera interfaz interactivo pero que permita varias opciones de entrada (elegir nombre del fichero a cargar, elegir formato de la entrada, elegir nombre del fichero de salida, elegir formato del fichero de salida, etc.) y que permita observar los resultados intermedios de la conversión para chequear que no hay errores.
Puesto que la conversión puede automatizarse para que se realice en cualquier momento, la compañía no requiere que las aplicaciones sean muy eficientes ni que el proceso de conversión se realice de forma interactiva. En la primera fase la compañía solamente requiere la conversión de preguntas en formato GIFT, pero se está pensando que la solución debe admitir otros formatos en el futuro. Por ejemplo, la compañía está pensando procesar también preguntas en formatos XML como el formato QTI.
Una vez desarrollado el sistema que permite obtener preguntas, la empresa NoGame ha decidido comenzar la fase de creación del juego Trivial. Para ello ha decidido desarrollar un primer juego que funcione como una aplicación tradicional en ordenadores de sobremesa.
El juego tomará las preguntas de la base de preguntas desarrollada en la primera fase y mostrará un interfaz gráfico en el que los concursantes puedan jugar al trivial. Aunque el tablero oficial está formado por una rueda con seis radios se podrá definir una versión simplificada en la que en lugar de una rueda, se siga una línea recta con una casilla final. El número de jugadores que podrán participar en cada partida será 1..N donde N es el número de colores disponibles en los quesitos.
La compañía está interesada en almacenar información sobre los jugadores por lo cual cada jugador dispondrá de un nombre de usuario y una password. Al iniciar el juego se mostrará una pantalla de configuración en la que se podrán especificar los jugadores y cada jugador introducirá sus credenciales. A partir de ahí, la máquina irá generando tiradas de dado para cada jugador, le preguntará a qué casilla quiere moverse y le mostrará la pregunta que corresponda según la categoría de la casilla.
Cuando un jugador acierta una pregunta de una determinada categoría, se le asigna el quesito del color correspondiente y puede continuar jugando. Si no acierta, pasa el turno al siguiente jugador. El jugador que tenga los quesitos de todos los colores podrá proceder a la última casilla. Si acierta la pregunta de dicha casilla finaliza el juego como ganador.La compañía está muy interesada en la utilización del juego como herramienta de aprendizaje, por lo que desea incorporar una pantalla de administración en la que los usuarios que tengan esos privilegios puedan obtener información sobre qué usuarios han jugado, cuántas preguntas han acertado, qué preguntas son las más difíciles, etc.
Además, dado que la compañía se está planteando que el juego funcione en el futuro en diferentes plataformas (ordenadores de escritorio con diferentes sistemas operativos, dispositivos móviles, etc.) desea experimentar con diferentes representaciones visuales. Para ello desea que pueda separarse claramente la visualización del juego del resto de funcionalidad como de la interacción con el usuario o el funcionamiento del juego. De hecho han propuesto a los desarrolladores que exista la posibilidad de que los usuarios puedan modificar la apariencia de la aplicación cuando ellos lo deseen.
El departamento de marketing de la empresa NoGame señala que el juego del Trivial tiene gran potencial en un entorno Web, donde los usuarios puedan conectarse y jugar entre ellos.
Partiendo de la versión de escritorio del juego se trata de reutilizar lo máximo posible para portarlo a una versión Web, reduciendo costes y tiempo. Se desea que los jugadores puedan registrarse fácilmente y con su cuenta lleva un registro de sus estadísticas, tales como número de partidas jugadas, preguntas falladas, preguntas acertadas, etc. Una vez conectados los jugadores podrán ver si hay otros usuarios conectados e invitarlos para participar en una partida.
La forma de jugar seria análoga a la versión de escritorio , con ciertas particularidades derivadas del juego online, por ejemplo la perdida de conexión, el abandono de los jugadores de forma intencionada y otros supuestos que deberán solucionarse de la forma más elegante posible para que dentro de lo posible el resto de jugadores puedan seguir jugando sin interrupción.
La fuente de monetización principal será la publicidad, siendo necesaria una masa de usuarios importante y que la aplicación los soporte. Se requiere una arquitectura escalable y tiempos de respuesta razonables a las acciones de los usuarios.Como en la versión de escritorio la empresa desea una separación de la lógica del juego y su capa de presentación para poder experimentar y ofrecer distintas visualizaciones a los usuarios y evolucionarla con las cambiantes exigencias del diseño web. Además la empresa está muy interesada en que la solución funcione en diferentes tipos de dispositivos, como la gran variedad de dispositivos móviles en auge, y por ello está buscando una solución que cumpla con los principios y estándares Web de diseño responsable.
La versión estable más reciente es la 1.0.2 que incluye el extractor de preguntas.
En esta primera versión la interacción con el usuario se basa en comandos por medio de consola. Es necesario tener instalada la versión 1.7 de Java.
La primera parte del programa está pensada para ser ejecutada por consola y cargar las preguntas automáticamente.
Un magnífico grupo de estudiantes de Arquitectura del Software de la Universidad de Oviedo.