Mundo Isla es un videojuego multijugador online parte del proyecto de investigación SAVEH creado para menores hospitalizados, desarrollado en Unity. Los usuarios que se conecten a esta plataforma deberán cooperar entre sí dentro del entorno de juego para poder resolver misiones en conjunto. Cada jugador tiene un avatar personalizable como su representación en la isla.
Mundo Isla consta de varias pantallas que permiten al usuario interactuar con el sistema. La pantalla de "login" permite la introducción de los datos de usuario y contraseña, si hay algún error, se comunica al usuario el mismo. Cuando el usuario introduzca sus datos de inicio correctamente, se mostrará la pantalla de bienvenida. En esta interfaz aparecerán dos opciones: personalización y jugar. La opción de personalización muestra una serie de opciones del avatar del jugador:
-Permite elegir entre varios personajes aleatorios pulsando las flechas a la derecha de la opción “Personaje”.
-Se puede cambiar ciertas partes del cuerpo individualmente con los controles debajo
Personaje, en este orden: la forma de la cara, el color de los ojos, el color y la forma del pelo, la ropa de la parte superior del cuerpo, los pantalones y el calzado.
Por último, el jugador puede guardar los cambios hechos a su personaje o cancelar el proceso de personalización.
Cuando el jugador pulsa Jugar, el usuario puede controlar a su personaje en la isla. La cámara se sitúa detrás del personaje, que puede moverla pulsando y manteniendo el botón derecho del ratón. Para moverse, se pulsan las teclas WASD o las teclas de dirección del teclado. En este momento, se muestran varias opciones en la interfaz en la parte inferior de la misma: Chat, Diario, Inventario y Menú.
El movimiento del jugador se implementó a través de un sistema de cámara centrada en el avatar del jugador, en un entorno en tres dimensiones. Se añadió un mapa en la esquina superior derecha donde se puede observar la escena desde arriba, así como la posición del jugador y de otros jugadores. También se añadió un texto a los objetos y otros jugadores que muestra su nombre cuando el usuario está lo suficientemente cerca.
Todos los elementos del juego son considerados objetos, dentro de los cuales se distinguen cuatro categorías:
-Objetos usables
-Objetos recolectables
-Personajes no jugadores (PNJ)
-Jugadores
Se diseñó un sistema de registro del estado y la posición de cada objeto, y sincronizara esta información entre todos los jugadores, para que pudieran crearse rompecabezas con ellos y pudieran usarse en las comprobaciones de objetivos.
Al tratarse de un juego cooperativo se decidió sincronizar todos los inventarios en un único inventario de grupo, donde se van añadiendo los objetos recogidos por todos los jugadores.
Asimismo, se diseñó una API para gestionar los objetos a través de scripts, que permite la interacción del inventario con otros elementos del juego como las conversaciones.
Se desarrolló un sistema de conversaciones capaz de recolectar información de los otros elementos del juego y ofrecer las opciones de diálogo en concordancia, para lo que se lee un archivo en formato YML y se van ejecutando las comprobaciones necesarias y las acciones adecuadas a cada respuesta.
El resultado es que, al interactuar con un PNJ, se abre un cuadro de diálogo con el texto adecuado por parte del personaje y una lista con posibles respuestas, que pueden llevar a más texto, y realizar acciones.
En cuanto al registro de objetivos y misiones, una misión puede tener cuatro estados, no aceptada, aceptada y no completada, completada y fallida. A su vez una misión puede tener uno o varios objetivos, los cuales a su vez pueden consistir en misiones propiamente dichas. Esta estructura da la suficiente flexibilidad para narrar cualquier relato sin perder la simpleza. El sistema de misiones tiene su propia API, muy similar a la del sistema de inventario mencionado anteriormente.
La interacción entre jugadores se realiza principalmente a través del chat. También se preparó el sistema para permitir personalizar los avatares y recuperar esta información del servidor de forma eficaz.
Para gestionar esto se programó una extensión para el servidor SmartFox Server, que puede ser fácilmente adaptada para recuperar cualquier información que sea necesaria para el análisis de datos.
Se desarrollaron herramientas que permitieran la creación de contenido para el juego sin necesidad de procedimientos innecesariamente complejos. En este sentido, el pilar de estos elementos fue el editor de conversaciones, dado que gran parte del juego transcurre a través de interacciones con PNJ.
De esta forma, un usuario con los privilegios adecuados puede editar las conversaciones en tiempo real, alterando los resultados o los requisitos, corrigiendo errores o añadiendo contenido de forma rápida e intuitiva.
All rights reserved