Sin categoría

Pop-It - Un juego social para Kinect basado en Couchbase Server

¿Qué hay más divertido que reventar globos? La semana pasada en la CouchConf SF, hicimos una demo de una aplicación de juego social experimental (Pop-it) impulsada por Couchbase Server 2.0 (Beta). Es una aplicación de navegador HTML5 con un servidor de juegos C#.Net.

Echa un vistazo al juego en acción - https://www.youtube.com/watch?v=13nCv_AMCi0

Ahora que ya has visto lo adictivo que puede llegar a ser este juego, ¡déjame explicarte cómo funciona! El servidor del juego detecta la posición de las articulaciones de las manos utilizando el Sensor Microsoft Kinect y transmite las coordenadas de las articulaciones de la mano al cliente mediante websockets. El cliente renderiza los globos utilizando javascript y realiza la detección de colisiones entre los objetos globo y los puntos de articulación de la mano. Básicamente, se tocan los globos para reventarlos y ganar puntos. Al final del juego, se utiliza Couchbase Server para almacenar los puntos del jugador. El cliente envía la puntuación y el nombre del jugador al servidor y la aplicación C# escribe estos datos en Couchbase. Para almacenar la puntuación, creamos un objeto GameResult como se muestra a continuación:

 

Kinect1

A continuación, utilizando el cliente C#.Net para Couchbase Server 2.0, escribimos estos datos en Couchbase Server utilizando:

var gameResult = nuevo GameResult { Nombre = nombre, Puntuación = puntuación };

//Crear una clave de fecha y hora
TimeSpan t = (FechaHora.UtcNow nuevo FechaHora(1970, 1, 1));
int marca de tiempo = (int) t.TotalSeconds;

//Llamar al método cliente StoreJSON para almacenar la puntuación en Couchbase
m_cliente.StoreJson(StoreMode.Establecerfecha y hora.ToString()gameResultado);

Ahora que la puntuación se almacena en Couchbase Server, utilizando las funciones de indexación y consulta de la versión 2.0, se puede generar una tabla de clasificación en tiempo real para que los jugadores puedan seguir su progreso. La función de mapa para crear una tabla de clasificación en Couchbase Server tiene el siguiente aspecto: 

 LeaderboardPopIt

 

La función map emite la puntuación del jugador y el nombre del jugador. La aplicación C# puede consultar la vista, ordenarla mediante el modificador descendente y limitar el número de resultados (los 10 primeros jugadores en este caso).

public ActionResult Index () {

var view = _client.GetView("marcador", "by_score", true).Descending(true).Limit(10);

return Json(view.ToArray(), JsonRequestBehavior.AllowGet);

}

¿Te apetece jugar? Descargar el código aquíCompílalo y disfruta. (Si no tienes un Kinect, no hay problema, los clics del ratón en los globos también funcionan). Aquí están los mejores jugadores de la CouchConf SF. 

 

WinnersPopIt

¡Enhorabuena a los campeones de Pop-It!

 

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Don Pinto, Director Principal de Producto, Couchbase

Don Pinto es director principal de productos en Couchbase y actualmente se dedica a mejorar las capacidades de Couchbase Server. Es un gran apasionado de la tecnología de datos y, en el pasado, ha escrito varios artículos sobre Couchbase Server, incluidos blogs técnicos y documentos técnicos. Antes de incorporarse a Couchbase, Don trabajó durante varios años en IBM, donde desempeñó el cargo de desarrollador de software en el grupo de gestión de información DB2 y, más recientemente, como director de programas en el equipo de SQL Server de Microsoft. Don tiene una maestría en Ciencias de la Computación y una licenciatura en Ingeniería Informática por la Universidad de Toronto (Canadá).

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.