martes, 25 de septiembre de 2012

El nacimiento de e-Slayer

Saludos a todos,

Comienza un nuevo proyecto en la EETAC. En este caso, desarrollado por un grupo de estudiantes de la asignatura DXAT. Albert, Adrià, Carlos, Daniel, Fran y Ricardo os presentamos e-Slayer.

Basada en el juego de PC The Ship, e-Slayer es una aplicación móvil multijugador en la que cada usuario recibe por encargo matar virtualmente a una de las personas que frecuentan el Campus del Baix Llobregat. El usuario en cuestión es el único que puede acabar con esta persona. Para facilitar la tarea, el asesino puede recibir información al superar retos y definir un retrato robot de la víctima.

El objetivo de esta primera entrada del blog es plantear una serie de casos de uso que describan las posibles interactuaciones usuario-aplicación así como las reglas del juego.

Caso de uso 1: Login

Para acceder al sistema, el jugador Bob inicia la aplicación y se muestra la pantalla de login. Bob introduce su cuenta de Facebook y su contraseña. El sistema válida los datos y carga el menú principal.


Caso de uso 2: Avatar

El avatar en e-Slayer es una representación gráfica asociada a un jugador que permite que otros usuarios puedan reconocerle durante la partida.


Este hecho convierte al avatar en un pilar básico del juego. Para que e-Slayer pueda funcionar, es obligatorio que cada jugador tenga uno así como una serie de datos asociados que puedan aportar pistas a su asesino durante el transcurso de la partida.

Cuando accede por primera vez a la aplicación, Bob es interrogado por esta con el objetivo de crear el avatar de Bob. Algunos ejemplos de campos que puede incluir el formulario son:
  • Alias: a parte su nombre real, el alias asociado al avatar de Bob será empleado en las partidas para identificarle de cara a otros usuarios. Bob podrá modificarlo siempre que no esté jugando una partida.
  • Apariencia física: datos físicos de Bob (estatura, color de piel, tipo y color de pelo, color de ojos, vello facial, ...).
  • Vestimenta: datos relacionados con la ropa y calzado que lleva Bob.
  • Titulación: titulación actual que cursa Bob.
  • Última posición: indica la última posición de Bob dentro del Campus.
  • Estado: indica si Bob esta online.
Toda esta información será almacenada en el servidor. Ciertos datos como Última posición o Estado se irán actualizando automáticamente. Otros datos como Vestimenta tendrán que ser actualizados por Bob cada día.


Caso de uso 3: Unirse a una partida

El usuario Bob ha accedido a la aplicación y está ansioso por empezar a jugar. Desde el menú principal, Bob pulsa el botón B y accede a una pantalla que lista todas las partidas abiertas. Es decir, las que aún están a la espera de reunir a los N jugadores necesarios para que comience el juego.

Bob es un estudiante del grado de telemática y como tal, desea jugar con compañeros que cursen la misma titulación. Para ello, filtra las partidas abiertas por titulación y se une a la primera que aparece en la lista.
Como Bob es el jugador N-1 que se ha unido a la partida, está no comenzará hasta que el estudiante N se una. Cuando esto ocurra, la aplicación notificará a Bob que la partida P ha empezado.


Caso de uso 4: Crear una partida

El usuario Bob ha accedido a la aplicación y está ansioso por empezar a jugar. Desde el menú principal, Bob pulsa el botón B y accede a una pantalla que lista todas las partidas abiertas. Es decir, las que aún están a la espera de reunir a los N jugadores necesarios para que comience el juego.

Desgraciadamente no hay partidas abiertas pero esta situación no desanima a Bob por lo que vuelve al menú principal y pulsa el botón B2 para crear una nueva partida. La aplicación muestra a Bob una pantalla para que indique las características principales de la partida: número de jugadores, titulación, tiempo de duración, etc. Una vez cumplimentado el formulario, la partida aparecerá en la lista de partidas abiertas para que otros jugadores puedan unirse.

Como Bob es el jugador número uno que se ha unido a la partida, está no comenzará hasta se unan N-1 estudiantes. Cuando esto suceda, la aplicación notificará a Bob que la partida P ha empezado.


Caso de uso 5: Jugando a e-Slayer

El usuario Bob recibe una notificación de que la partida P acaba de comenzar. Bob entra en la aplicación y desde el menú principal, pulsa el botón B el cual le lleva a una pantalla que lista las partidas en curso de las que forma parte.

Al pulsar en la partida P, Bob accede a un nuevo menú con las siguientes opciones:
  • Mapa: muestra el mapa de la escuela con la última posición registrada de los jugadores que están online en ese momento.
  • Jugadores: lista el alias de los miembros de la partida que aún siguen vivos. Pulsando sobre cada alias, se abrirá una ventana de chat.
  • Objetivo: muestra las pistas recabadas por Bob acerca de su víctima actual.
  • Matar: botón usado para matar al objetivo de Bob.
La partida puede acabar por dos motivos:
  • Último superviviente: los jugadores se han ido matando entre sí hasta que sólo queda uno que es considerado ganador.
  • Tiempo agotado: el tiempo de duración D de la partida ha transcurrido y aún quedan jugadores vivos. La partida concluye y aquel con mas muertes es considerado el ganador.

Caso de uso 6: Matar a un jugador

El usuario Bob tiene suficiente información como para estar seguro de quién es su víctima y se dispone a matarla.

Dentro de la partida P, Bob pulsa el botón B para matar a su víctima. Su smartphone escanea el área recuperando la MAC de los dispositivos Bluetooth cercanos y envía una lista al servidor. Este devuelve a Bob una serie de avatares asociados a dichas MAC para que especifique cúal de ellos cree que es su víctima. El servidor validará la elección:
  • Si Bob acierta: la identidad de la víctima Alice será revelada a Bob. Este tendrá que indicar al servidor dónde la ha matado. El servidor notificará a los miembros de la partida que la jugadora Alice ha muerto a manos del jugador Bob en el lugar L. La participación de Alice en la partida concluirá y su objetivo pasara a ser el nuevo objetivo de Bob. Las pistas recabadas por Alice sobre su objetivo también serán transferidas a Bob. La puntuación de Bob se incrementará y este podra publicar su hazaña en una red social.
  • Si Bob falla: el servidor le indicará que ha fallado y Bob perderá una bala.