Multijogador em tempo real do Android pela LAN [fechado]

9

Eu desenvolvi vários jogos para a plataforma Android e agora planejo criar meu primeiro jogo multiplayer. O que eu tenho em mente é basicamente apenas uma bruxa de jogo para 2 jogadores que você pode jogar com 2 telefones na conexão local / WiFi.

Ambos os telefones precisam ser capazes de transmitir 3 valores inteiros para o outro telefone em tempo real. Até agora, eu considerei usar o Socket, mas antes de me aprofundar muito, eu queria perguntar se poderia haver uma abordagem melhor?

Obrigado!

Heigo
fonte
3
Uma abordagem melhor do que soquete ... não tenho certeza. No entanto, você não precisa usar soquetes brutos, pois as bibliotecas já existentes fazem isso por você. Suponho que você esteja desenvolvendo na plataforma Android com Java (você não marcou como java) para poder ver o Kryonet.
Nathan
É isso mesmo, estou desenvolvendo com java. Vou dar uma olhada em Kryonet. Obrigado pelo comentário.
Heigo
Se você está passando apenas alguns valores, considere o Bluetooth. Aqui estão algumas boas referências: developer.android.com/guide/topics/connectivity/bluetooth.html e stackoverflow.com/questions/5619850/…
amb
Também posso considerar o uso de bluetooth no desenvolvimento futuro, mas, no momento, acho que as pessoas estão mais familiarizadas com o WiFi.
Heigo
11
Atualmente, também estou começando a criar um jogo multiplayer e estou pensando em ter um serviço de descanso (para registro de jogadores, matchmaking etc.) e um servidor de jogo baseado nos soquetes TCP. Quando a partida é feita e o jogo realmente começa, o serviço restante enviará uma mensagem de soquete ao servidor e a instância real do jogo será criada (para tornar as coisas escaláveis). Os clientes obtêm o ip do servidor e criam uma conexão usando um token de segurança fornecido pelo serviço restante. O servidor do jogo valida e faz o resto.
7274 Thomas

Respostas:

-2

Uma opção que você pode procurar é o Socket.IO .

Parece haver muita discussão sobre o Socket.IO no Stack Overflow, incluindo:

Infelizmente, não consegui descobrir como fazer com que um dispositivo Android se comunique diretamente com outro dispositivo Android através do Socket.IO, ou mesmo uma etapa indireta com os dois conversando com um único ponto de acesso WiFi entre eles. (Ainda não sei se houve algum erro no meu código, algum tipo de firewall no código de outra pessoa ou uma limitação inerente ao Socket.IO). Eu recebi uma pequena demonstração trabalhando com um dispositivo Android enviando mensagens para um servidor Web, que encaminhava a mensagem para outro dispositivo Android.

David Cary
fonte
Como um plug-in para um servidor Node.js., o Socket.IO pode ser relevante para uma pergunta sobre o modo multijogador em tempo real em um jogo de navegador. No contexto atual de java e android , no entanto, sua menção serve apenas para enganar.
Eric
Tenho uma pequena demonstração com um aplicativo Android personalizado usando o Socket.IO para (indiretamente) se comunicar com outro aplicativo personalizado em outro dispositivo Android, por meio de um servidor Node.js. Mais ou menos "funciona", mas se você souber de uma abordagem melhor, especialmente uma com comunicação mais direta, eu (e tenho certeza que o pôster original) gostaria de saber sobre isso - por favor, conte-nos.
David Cary
-2

Você disse que os dois dispositivos estavam na mesma sala?

Cada dispositivo Android possui um alto-falante e um microfone. Em princípio, é possível que um aplicativo envie uma série de tons para o alto-falante e, em seguida, o outro aplicativo escute os tons e decodifique-os de volta para uma sequência de mensagens. Você pode (a) usar todo o espectro de áudio para enviar dados, como os acopladores acústicos dos anos 60 e 70, ou (b) usar uma largura de banda muito mais estreita, de 15 KHz até a mais alta suportada pelo dispositivo (provavelmente 24 KHz) - - um tubo de dados muito mais lento, mas a maioria das pessoas não consegue mais ouvir essas frequências - é ultrassônico para elas.

Os operadores de radioamadorismo desenvolveram muitas técnicas inteligentes para extrair sinais extremamente fracos de muito ruído.

" Comunicação pela entrada de áudio para telefones Android"

Leitura de som no Android: a b c

"O software Zoosh da Narrate utiliza os alto-falantes e microfones dos smartphones para permitir as mesmas comunicações de dados entre os dispositivos que a NFC de hoje fornece, mas com frequências ultrassônicas inaudíveis aos seres humanos". - Eweek , Slashdot .

David Cary
fonte