Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] Re: Jogos em Real Time com Turn

Oi Gorio,

Sugestão de como eu faria no seu lugar:

1. Voce tem acesso a um ID de cada participante. Assuma qualquer lógica pra definir internamente quem é o "host" da partida a partir desses IDs (exemplo: quem o string.compareTo() dizer que é o maior). Esse host pode ser o primeiro ou decidir quem é o primeiro e avisar o outro. Colocaria algum tipo de animação na tela por pelo menos um segundo e até que os dois lados troquem uma mensagem de "I'm ready". Outra possibilidade é começar sempre o jogador que tem mais vitórias... nesse caso, mande uma mensagem com seu número de vitórias e fique aguardando receber o número de vitórias do oponente.

Nesse momento, ambos jogadores estão prontos para começar o jogo e já sabem se ele começa jogando ou esperando.

2.1. Se for sua vez, permita que o jogador jogue e envie as mensagens relevantes para que o outro lado atualize a UI (no caso do jogo, uma mensagem unreliable para cada toque) durante o período de 10 segundos. Ao final da contagem, termine o turno enviando uma mensagem reliable de fim de turno e mude o estado para "não sua vez". 

2.2. Se não for sua vez, desligue as interações e coloque uma barra de progresso. Evite mostrar o tempo restante do oponente em segundos, tente mostrar de forma menos determinada pra poder acomodar demoras no envio de mensagem de fim de turno, caso contrário a contagem pode chegar no 0 e não receber mensagem nenhuma, o que seria estranho. Usaria uma contagem de 12 - 13 segundos mostrando apenas uma barra de progresso, pra minimizar essas discrepâncias. Ao receber mensagem de fim de turno, mude o estado para é sua vez. 

Talvez quem esteja esperando possa ter algum tipo de mensagem de provocação, enviar emoticons, sons... Essas coisas devem ser mostradas instantaneamente pra quem está enviando e enviadas como mensagens unreliable... quem está recebendo (jogador que está no turno) deve exibir apenas se recebeu as mensagens durante seu turno... mas é basicamente isso aí, é um jeito um pouco diferente de pensar mas, uma vez acostumado, é bem tranquilo.

Abraço, boa sorte,

VB


On Wed, Jun 1, 2016 at 12:58 PM Gorio <goriofab@gmail.com> wrote:
Aproveitando o gancho, consigo saber quem foi que criou a partida ? Talvez dessa forma eu possa definir quem começa a partida sempre será o jogador que criou o game.

Em 1 de junho de 2016 12:17, Gorio <goriofab@gmail.com> escreveu:
Boa tarde Vitor, 

Pensei exatamente em fazer isso, porém preciso pensar em algo para fazer essa lógica.

O jogo é o seguinte


Obrigado

Em 1 de junho de 2016 11:12, Vitor Bruno de Almeida <contato@vitordealmeida.com.br> escreveu:
Oi Gorio,

Você vai precisar implementar os turnos através de mensagens reliable, que respeitam a ordem de envio.

Caso esteja usando o Google Play Games como backend, https://developers.google.com/games/services/common/concepts/realtimeMultiplayer#sending_game_data

Não conheço especificidades do jogo Button Clicker, mas se tiver alguma peculiaridade, avise que tento ajudar (mande o link também pra não ter confusão)

Abraço,

VB


On Wednesday, June 1, 2016 at 1:09:39 AM UTC-3, gorio wrote:
Bom dia,

Estou tentando adaptar o jogo Real Time Button Clicker do Android para que fique com a característica de um jogo onde só um pode clicar quando for a sua vez de jogar.

A ideia é colocar um Countdown timer de 10s sendo que o Player2 só poderá clicar após o Player1 ter clicado ou o tempo do Player1 ter sido esgotado e vice-versa.

Nos exemplos dos Jogos do Android, existe uma opção Turn Based, porém não é em tempo real.

Gostaria de saber como devo fazer para tornar o jogo em Tempo Real respeitando a lógica de que só um pode realizar uma operação por vez.

Obrigado

Atenciosamente

Gorio

--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Atenciosamente

Gorio
(www.gorio.eng.br)

 




--
Atenciosamente

Gorio
(www.gorio.eng.br)

 

--
You received this message because you are subscribed to a topic in the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/androidbrasil-dev/3dzsEgVoU9w/unsubscribe.
To unsubscribe from this group and all its topics, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário