Space Checkers

Main titles

Videojuego multijugador de Damas Chinas Espaciales con Unity 馃寣

Resumen

鈽勶笍 Space Checkers es la adaptaci贸n del cl谩sico juego de Damas Chinas con tem谩tica de batalla espacial Choose Your Side 馃懢 El objetivo principal es tomar control de un equipo alien铆gena y conquistar el lado del enemigo moviendo las piezas estrat茅gicamente hasta ocupar todos sus lugares

Requerimientos

  • La aplicaci贸n deber谩 poder invitar a otros usuarios registrados a una partida, ya sea por correo electr贸nico o link de invitaci贸n

  • La aplicaci贸n deber谩 poder registrar nuevos usuarios

  • La aplicaci贸n deber谩 poder ingresar a la aplicaci贸n si es que tiene una cuenta registrada

  • La aplicaci贸n deber谩 tener un chat dentro de la partida para la comunicaci贸n entre los jugadores

Requerimientos

  • La aplicaci贸n deber谩 permitir jugar entre varios jugadores (m谩ximo 6) una partida de damas chinas

  • La aplicaci贸n deber谩 permitir a los jugadores en la partida mover sus piezas respectivas con base a los movimientos permitidos

  • La aplicaci贸n deber谩 mostrar al jugador en turno los movimientos posibles que puede hacer con una determinada pieza (si es que tiene la opci贸n activada)

Third-Party Software

unity node loopback socket.io MySQL

Instalaci贸n del Cliente

El videojuego est谩 disponible para instalarse en distintos sistemas operativos desde la p谩gina de Releases en Github

Mac Windows
Para la versi贸n de Mac se incluye el binario de la aplicaci贸n .app Se incluye el instalador con extensi贸n .exe para arquitectura x86_64

Entorno del Servidor

Inicialmente, instalar los m贸dulos necesarios para el Servidor desde la ra铆z


npm install

Posteriormente cargar al script de generaci贸n de la Base de Datos en MySQL


SOURCE database.sql;

Instalaci贸n del Servidor

Para iniciar el servidor se ejecuta el comando


node .

En la consola se puede visualizar un log de los eventos


> node .

socket.io escuchando en 5000

Servidor listo...

C贸digo del Cliente

Las clases encontradas en la carpeta Scripts del proyecto de Unity est谩n programadas seg煤n el est谩ndar establecido, documentando de la siguiente forma:


/// <summary>Evento en caso de que el mouse haga hover sobre el bot贸n</summary>

/// <param name="eventData">Informaci贸n del evento de mouse</param>

public void OnPointerEnter(PointerEventData eventData)

{

    inBounds = true;

}

C贸digo Servidor

Se sigui贸 el mismo criterio para la programaci贸n en Java Script del servidor, documentando de la siguiente forma:


// Evento llamado por cliente al hacer un movimiento en su turno correspondiente

cliente.on("moverPieza", function(datos) {

  var movimiento = JSON.parse(datos);

  var stringmovimiento = JSON.stringify(movimiento);

  console.log("Movimiento pieza "+ movimiento['Ficha'] + " a la casilla " + movimiento['Casilla'] + " en el lobby " + movimiento['Lobby']);

  io.sockets.in(movimiento['Lobby']).emit("moverPiezaCliente", stringmovimiento); //codigo del lobby

});

Configuraci贸n de Red

En caso de configurar el cliente para jugar en entorno de red, es necesario especificar la direcci贸n y el puerto para conectar en el archivo config.json ubicado en client/Assets/StreamingAssets/Config


{"items":

    [

        {"key":"address","value":"localhost:5000"}

    ]

}

隆Conquista la Galaxia!

Choose Your Side 馃寣 Reta a tus enemigos y vuelvete el l铆der de la Galaxia 馃寣