Sem categoria

Pop-It - um jogo social para Kinect baseado no Couchbase Server

O que é mais divertido do que estourar balões? Na semana passada, na CouchConf SF, fizemos uma demonstração de um aplicativo experimental de jogo social (Pop-it) com base no Couchbase Server 2.0 (Beta). É um aplicativo de navegador HTML5 com um servidor de jogos C#.Net.

Confira o jogo em ação - https://www.youtube.com/watch?v=13nCv_AMCi0

Agora que você já viu como esse jogo pode ser viciante, deixe-me explicar como ele realmente funciona! O servidor do jogo detecta os locais das articulações das mãos usando o Sensor Microsoft Kinect e transmite as coordenadas das articulações das mãos para o cliente usando websockets. O cliente renderiza os balões usando javascript e executa a detecção de colisão entre os objetos do balão e os pontos de articulação da mão. Basicamente, você toca nos balões para estourá-los e ganhar pontos. No final do jogo, o Couchbase Server é usado para armazenar os pontos do jogador. O cliente envia a pontuação e o nome do jogador para o servidor e o aplicativo C# grava esses dados no Couchbase. Para armazenar a pontuação, criamos um objeto GameResult, conforme mostrado abaixo:

 

Kinect1

Em seguida, usando o cliente C#.Net para o Couchbase Server 2.0, gravamos esses dados no Couchbase Server usando:

var gameResult = novo Resultado do jogo { Nome = nome, Pontuação = pontuação };

/Criar uma chave de registro de data e hora
Tempo t = (DateTime.UtcNow novo DateTime(1970, 1, 1));
int carimbo de data/hora = (int) t.TotalSeconds;

/Chamar o método do cliente StoreJSON para armazenar a pontuação no Couchbase
m_ccliente.StoreJson(StoreMode.Conjunto, carimbo de data/hora.ToString(), gameResult);

Agora que a pontuação está armazenada no Couchbase Server, usando os recursos de indexação e consulta da versão 2.0, é possível gerar uma tabela de classificação em tempo real para que os jogadores possam acompanhar seu progresso. A função de mapa para criar uma tabela de classificação no Couchbase Server tem a aparência abaixo: 

 LeaderboardPopIt

 

A função de mapa emite a pontuação do jogador e o nome do jogador. O aplicativo C# pode consultar a exibição, classificá-la usando o modificador descendente e limitar o número de resultados (nesse caso, os 10 melhores jogadores).

public ActionResult Index () {

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

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

}

Tem vontade de jogar? Faça o download do código aquicompile-o e divirta-se! (Se você não tiver um Kinect, não há problema, os cliques do mouse nos balões também funcionam). Aqui estão os melhores jogadores da CouchConf SF. 

 

WinnersPopIt

Parabéns, campeões do Pop-It!

 

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Author

Posted by Don Pinto, gerente principal de produtos da Couchbase

Don Pinto is a Principal Product Manager at Couchbase and is currently focused on advancing the capabilities of Couchbase Server. He is extremely passionate about data technology, and in the past has authored several articles on Couchbase Server including technical blogs and white papers. Prior to joining Couchbase, Don spent several years at IBM where he maintained the role of software developer in the DB2 information management group and most recently as a program manager on the SQL Server team at Microsoft. Don holds a master's degree in computer science and a bachelor's in computer engineering from the University of Toronto, Canada.

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.