chester's blog

technology, travel, comics, books, math, web, software and random thoughts

miniTruco Android

10 Jul 2011

Clique para baixar o miniTruco AndroidA versão Android do miniTruco está pronta e disponível para download no Android Market. O software é gratuito, e, mais importante: o código-fonte é livre (GPLv3).

miniTruco Android (para leitores de QR Code)O jogo original para Java ME foi criado em 2005, e ainda hoje ultrapassa os 6000 downloads/mês. Publiquei uma versão Android bem instável no final de 2010, e nas últimas semanas dei uma polida nela. Isso só foi possível graças ao feedback através do Market, então continuem sugerindo, criticando e reportando por lá!

A única coisa do miniTruco original que ficou para o futuro foi o multiplayer. Ainda não sei qual tecnologia usar (deve ser Wi-Fi, Bluetooth só me deu dor-de-cabeça), nem o modelo comercial – será que vinga uma colaboração pela versão paga? Por ora vou dar atenção para outros projetos, mas uma hora eu retomo essa parte.

Créditos

**As imagens (logotipo, ícone, baralho, etc.) são de autoria da Bani. A contagem de tentos do truco mineiro (versão 1.1) foi implementada pelo Guilherme Caram. O jogo não seria possível sem os códigos de estratégia do Leonardo Sellani e do Sandro Gasparoto (que também criou o gTruco), além do código do Willian Gigliotti, que não veio para essa versão, mas foi a estratégia original que viabilizou todas as outras.

 

Comments



Bonato

Todos podem jogar se o multiplayer for por bluetooth, nem todos tem um ponto Wi-Fi disponível. A vantagem de ser Bluetooth e não Wi-Fi seria essa na minha opinião!


chester

Ah, entendi! Eu *acho* que dá pra fazer o jogo criar uma rede WiFi e os outros conectarem nela *sem* que isso permita a eles usarem seu 3G (que realmente seria péssimo, ainda mais aqui no Brasil que é tão caro). Se não der, aí realmente compensa ter o Bluetooth. Vou pesquisar quando for mexer nisso novamente, obrigado pelo feedback! Abraço.


chester

Realista, eu diria! hehehehe. Mas a real é: imprevisível. Depende de eu ter um burst de tempo livre e inspiração :-) também ajuda quando tem centenas de pessoas reclamando (como aconteceu na primeira versão Android, que tava bem bugada :-P)




chester

Opa, senta o dedo, 02! :-) Se precisar contactar o Guilherme Caram, desenvolvedor que implementou o Tento Mineiro (eu só mudei uma coisinha ou outra na UI de seleção e integrei a mudança dele), tem o link acima e um e-mail na app se não me engano. O cara é gente boa. Obrigado!


Matthaeus

Sugestão: Colocar sons no jogo e opção de ter baralho limpo com manilha fixa.
Problema: Tem um erro na contagem de pontos para truco mineiro. Na mão de 10 não pode aceitar trucar mas o aplicativo está aceitando. Também não pode jogar carta coberta. Se corrigir isso aí fica perfeito.

chester

Olá! Não penso em colocar sons (mas se alguém contribuir e der pra encaixar sem atrapalhar o jogo para quem quiser jogar "quietinho", não vejo porque não incluir).

Como a gente faria manilha fixa com baralho limpo? As manilhas fixas não estão parcialmente na parte "suja"?

No caso do truco mineiro, não pode jogar coberta em momento algum? Esse lance da mão de 10 é universal, ou é específico de onde você joga?

Obrigado!



chester

Angelita, agradeço pelas pelas sugestões e pelo elogio. Sobre mostrar, a maior parte das regras de truco que eu conheci não permitem ver as cartas do parceiro ao ser trucado (até porque parte da diversão é justamente não saber ao certo quão forte é a mão conjunta). Considerei sinais no início da primeira versão, mas isso tornaria o desenvolvimento da estratégia da CPU um pouco conturbado (computadores têm uma certa dificuldade com a "malandragem" que os sinais exigem). Obrigado!



Celio

Muito obrigado Chester.... mto bacana vc ter disponibilizado o código! Vou estudá-lo bastante! Parabéns mais uma vez, seu jogo de minitruco é ótimo to me divertindo muito com ele.... bacana mesmo !!!!!!

valeu Abraço


diego Piffaretti

diego Piffaretti

Ola, o jogo esta bem bacana.
Algumas observacoes para serem ajustadas.
Referente ao Truco Mineiro:

-colocar Som( vozes, tipo gritando TRUCOOOO LADRAOOO - vou me sentir em MG)

-Como o amigo acima disse, na mao de 10 NAO pode pedir truco, NAO pode mandar emcoberta.

-Criar um modo multiplayer seria otimo( mais isso deixa mais pra frente)

- Melhorar a AI. o robô pede truco as vezes sendo que ele ja ganho a rodada ( ex: eu coloco um rei, meu parceiro um valete e o o robô2 coloca um Zape.. o jogo ja ta ganho pro robô, mais ai o robô1 pede truco..pra q? eu ja vi o zape do cara.. ja perdi! nao faz sentido).

-Melhorar AI ( na mao de 10, eu to com um zape e um 7 de copas, o meu parceiro com um 3 um 2 e um espadilha, por exemplo.. ai ele pega e fala pra mandar outras cartas? ahuaha.. quer jogo melhor q essse?

Pena que nao sei desenvolver para Android, senao eu ajudava vcs numa boa, te um jogo de truco para PC que vem com a voz de uma mulher pedindo truco e talz, dava pra copiar...
Mesmo com esses detalhes, eu jogo todo dia, vcs mandaram benzao!
Epsero que os ajustes venham!

Chester

Diego,

Obrigado pelas sugestões. Som não é algo que eu esteja pensando em colocar agora (mas se alguém contribuir código nesse sentido que não atrapalhe o jogo para quem não quiser o som, não teria problemas em integrar). Vou dar uma olhada na questão do que pode fazer em mão de 10, e o multiplayer está a caminho. Também é preciso ver se a AI leva realmente em conta a contagem do truco mineiro, uma hora eu dou uma olhada nisso. Valeu!



Sidnei

Este jogo é um dos melhores passa tempo q eu já instalei. .. Já joguei mais de 1000 vezes... E gostaria de dar uma contribuição... Se é um q já não deram...rsrs...
Quando estou ganhando de 9 a Qualquer ponto do adversário ele aceita o truco se eu peço 6 algumas vezes ele foge e eu ganho!!!! Ou seja já estou a 3 pontos do final é indiferente se pedir 6...entenderam? ... Se precisaram de mais esclarecimentos podem entrar em contato.
Abs.


Riccardo Aranha

Riccardo Aranha

Fala Chester...

Lembro do minitruco bem no comecinho, no IME, no já longínquo 2006. Nunca baixei pois não era compatível com os celulares que eu tinha.
Como comentei, baixei o pra Android e em menos de 1 mês já iniciei mais de 800 partidas. (Vííííício)

Tenho algumas idéias de melhorias, e algum conhecimento pra implementá-las, porém nunca desenvolvi nada pra qualquer ambiente != computador. O que vc me recomenda instalar, testar, debugar? Qual SDK, qual IDE, ou sei lá mais o quê?

As idéias que eu tenho:
- Som
- Tenho um Galaxy SII, pra sair do jogo é muito simples, esbarra no botão voltar (embaixo do aberta/fechada) e ele já sai do jogo que está rolando, acho interessante ter uma confirmação
- Quando alguém pede Truco, eu só posso Aceitar ou Recusar. Eu deveria poder pedir 6 instantaneamente... e assim por diante.
- Algumas melhoriazinhas na IA.

Abr

Chester

Riccardo,

O Eclipse é o ambiente de desenvolvimento padrão para Android. Recomendo baixar ele e instalar plugin (ADT): http://developer.android.co... , além de dar uma boa olhada na documentação em http://developer.android.com. Sobre as idéias:

- Implementar som deve ser relativamente trivial (embora seja algo que eu deixaria desligado por default - o miniTruco é jogado em situações onde ele seria inaudível e/ou inapropriado).
- O lance da confirmação é uma idéia também relativamente tranquila de implementar (só tome cuidado com o evento em que vai amarrar- uma Activity no Android pode ser finalizada tanto por iniciativa do usuário quanto do sistema, e nesse último caso uma confirmação pode resultar em Force Close)
- Essa possibilidade iria contrariar uma regra fundamental do jogo, que é cada jogador só "trucar" na sua vez. Não é *muito* difícil de mudar isso no jogo, mas tem que levar em conta o multiplayer (hoje tem Bluetooth, deve ter GPRS via servidor eventualmente) e as estratégias (que teriam que implementar essa possibilidade - hoje elas só podem pedir pra trucar quando receberem um evento de "vez", teria que ter algo como a possibilidade de trucar assincronamente, o que é another-can-of-worms.
- Não existe "a IA", existem "as IAs" (estratégias). O jogo permite a implementação de estratégias diferentes (estendendo a classe Estratégia), e você pode escrever uma melhor ou adaptar uma das existentes (já houve quatro delas, hoje só uso duas, nenhuma escrita por mim).

O documento http://minitruco.googlecode... foi escrito para a versão Java, mas algumas das observações lá podem ajudar quem for mexer na versão Android (o core do jogo não foi muuuuito modificado, só a UI).

Boa sorte!






Chester

Gustavo, eu tentei aproximar a compatibilidade, e em alguns testes com o jogo criado no Android o meu celular Nokia 6600 conseguiu jogar. Mas é preciso testar (e eventualmente atualizar o miniTruco Java ME), se você puder testar e dizer o que funcionou/não funcionou, agradeço.


Rogerio E.Medeiros

Rogerio E.Medeiros

Parabens Chester , o miniTruco Android Bluetooth é sensacional, jogo muito contra minha esposa e tbm meu filho de 10 anos... Mas uma coisa que me incomoda, costumamos sempre jogar um contra o outro , ou seja nossos parceiros sao IA , quando o oponente pede truco, quem deveria dar a decisão final se aceitar ou não seria nós ( Humanos ) e do jeito que está , se o IA aceita , já tá aceito o truco , sei que na vida "Real" quando um dos parceiros aceita o truco , tá aceito , mas no caso da IA não se deveria levar isso em conta, o Humano deveria "mandar".

Chester

Sim, isso está sendo levado em consideração para uma próxima versão, ao menos para o single player... no multiplayer tem algumas complicações, mas vou ver se consigo acomodar. Obrigado.



Chester

Bacana. Eu não fiz muita publicidade dessa compatibilidade porque realmente não pude testar a contento (e eventualmente queria atualizar o miniTruco Java ME para incluir tudo o que o Android ganhou ao longo deste ano), mas que bom que funciona. Obrigado pelo teste!


Roberto Mello

Roberto Mello

Olá Chester,

O jogo para Android é excelente, portanto, meus parabéns! Mas gostara de sugerir 3 coisas:

1- Impedir o parceiro de fechar a carta, porque ele sempre põe tudo a perder. A opção de fechar a carta deveria ser apenas para quem "pensa", digamos asssim.
2- Alterar a cor do pano da mesa (Vermelha?)
3- Separar melhor as cartas na mesa. Mas este é meramente estético, sem muita importância...

No aguardo de novidades fica um grande abraço,

Roberto.

Chester

Roberto, obrigado pelas sugestões. Cedo ou tarde eu vou fazer mudanças estéticas no jogo - todo o "esquema" dele foi pensado na época dos celulares J2ME, quando tamanho e resolução de tela eram bem diferentes do que temos hoje, e aí customizações na mesa e nas cartas serão certamente consideradas.

Muita gente tem falado sobre frustração com atitudes do parceiro, e tenho considerado algumas mudanças (por exemplo, deixar a decisão sobre aceitar um aumento ou mão de 11 na mão do humano). O problema é se isso desbalancear demais o jogo em favor deste último, mas é algo que vou ver experimentalmente assim que conseguir liberar um tempinho para mexer no miniTruco.

Novamente, obrigado pelo feedback e abraço!


Andre Parreira

Andre Parreira

Opa e ae Chester blz? Cara gosto muito do mini truco é um jogo que cumpre o que promete, só acho que peca um pouco no visual, vi numa resposta aqui em cima que você pretende melhorar esse aspecto. Bom gostaria de colaborar, sou designer, e acho que poderia realizar um trabalho legal, pro visual do jogo. Bom seria interessante criar um ícone mais moderno, uma tela de entrada mais atraente e melhor trabalhada esteticamente. se te interessar já tem ai meu contato abraço e boa sorte

chester

André, se tiver interesse em colaborar, sugiro baixar o projeto no Github (veja links acima)... ali você vai encontrar em (minitruco-android/res) os bitmaps de ícones e outros elementos que poderiam ser melhorados, obrigado!


Guilherme

Bom jogo em cara, o unico bug que eu acho bem ruim e quando voce consegue fazer 11 a 0, 1, 2 ou alguma coisa perto disso e ai nao vem mais cartas boas nem a pau e acaba ficando 11 a 11, voce perde sua vantagem.
Abraço!





Maicon

cara pq não consigo jogor com quatro amigos via bluetooth eu emparelho todos eles mais mesmo assim não consigo pq ?
so conecta um celular no meu ai os outros dois não consegue conectar fala q não achou o jogo.

responde ai se poder me ajudar obriado.



Mayco

Gosto muito desse app. Mas não estou conseguindo via bluetooth. Se um amigo cria o jogo por exemplo, ele até encontra mas depois aparece uma mensagem de falha. O meu aparelho é um ALCATEL One Touch 890D.



zezao

Chester, o miniTruco está com um bug e não dá pra jogar com 4 jogadores. Até 3 vai de boa, mas o quarto nunca consegue encontrar o jogo... Fica ruim ir 2x2 e você jogando com um BOT.
Você já está ciente desse problema? Consegue resolvê-lo?
Obrigado

chesterbr

Opa! Infelizmente Bluetooth tem um lance técnico chato: em tese uma "PicoNet" (as redes temporárias que o Bluetooth forma) suporta até 4 pessoas. Até aí beleza, é quatro o número que a gente quer. O problema é que *algumas* (não todas) implementacões de Bluetooth (em particular Java ME, mas já vi com Android) "gastam" uma delas para fazer a busca, efetivamente impedindo o quarto jogador de conectar.

Você pode tentar mudar a ordem (em particular: quem entra primeiro e quem entra por último), se forem celulares diferentes há uma chance de resolver. O único jeito que eu imagino pra resolver isso universalmente é botar um quinto celular na parada pra ser a "mesa" (e mesmo assim ele tem que ser esperto no listening). Mas tem que mudar n coisas pra isso, não sei se vale a pena...

Se puder postar aqui os celulares envolvidos (e, se fizer a experiência com a ordem e algum funcionar) pode ajudar a dar alguma luz (e orientar outros jogadores com o mesmo problema). Obrigado!

zezao

Os celulares são: L3 E400, L3 E405 Dual e dois L7. Acho que a respeito de ordem já tentei todas, mas posso fazer os testes com mais calma. Segunda-feira eu os faço e posto aqui resultados.
Obrigado


Diogo

E ae meu jovem.. desisitiu de ataulizar ominitruco??uma Pergunt eh possivel alterar as frases de trucar e correr?pelo root explorer..algum arquivo expecifico pra edicao dessas frases. Ou nao eh tao simples assim?

Valeu Abraço

chesterbr

Opa! Eventualmente eu vou implementar o jogo via internet (só preciso garantir que vou ter servidor pra aguentar o tranco :-) ), fora isso não tenho nada planejado.

Não sei ao certo onde ficaria o arquivo já no celular, mas no código-fonte é esse aqui: https://github.com/chesterb... - se você tiver sugestões de frases divertidas e "família" (é um jogo para todas as idades :-D ) e estiver a fim de se aventurar no GitHub, faz um pull request que eu coloco no próximo update (com os devidos créditos), obrigado!



chesterbr

Oi Luiz. Ao abrir o programa, use o botão "menu" do celular, e escolha o item "Opções". Ali você pode ativar o "Tento Mineiro" (mas é preciso ter "Baralho Limpo" desligado e "Manillha Velha" ligada para jogar com tento mineiro)


chesterbr

Ricardo, na verdade eles não sabem. Como pode ser comprovado no código-fonte do jogo, cada jogador virtual só recebe a "situação" atual do jogo (cartas jogadas, placar, se foi pedido truco, etc.). Todo mundo joga no escuro, como no jogo real (menos, claro, os sinais).


chesterbr

Oi, Márcio. Durante uma época, o Sandro Gasparotto (que criou a estratégia de jogo que é usada atualmente) manteve o gTruco, que era exatamente isso. Infelizmente hoje não existe mais. Eu gostaria de retomar o projeto miniTruco - corrigir bugs e tornar disponível em mais plataformas - mas infelizmente é algo que precisa de um tempo livre que no ano passado eu não tive. Quem sabe nesse ano, né?



chesterbr

Não tenho nenhuma previsão, Eduardo. A não ser que alguém colabore com código novo (nesse caso eu arrumo tempo pra revisar e publicar), eu mesmo não imagino que vou mexer nisso esse ano.


chesterbr

Heh, graças ao Disqus eu consegui mudar o blog para um gerador estático; eu penso em mudar para um sistema que colete menos dados das pessoas que visitam, mas ainda não cheguei em algo legal (e teria que migrar esses comentários do Disqus :-D )


Learn how to write in Markdown with this Quick Reference.