Android multijugador en tiempo real a través de LAN [cerrado]

9

He desarrollado varios juegos para la plataforma Android y ahora planeo crear mi primer juego multijugador. Lo que tengo en mente es básicamente un juego de 2 jugadores que puedes jugar con 2 teléfonos a través de una conexión de área local / WiFi.

Ambos teléfonos deben poder pasar 3 valores enteros al otro teléfono en tiempo real. Hasta ahora he considerado usar Socket's, pero antes de profundizar demasiado, quería preguntar si podría haber un mejor enfoque.

¡Gracias!

Heigo
fuente
3
Un mejor enfoque que el zócalo ... no estoy seguro. Sin embargo, no necesita usar sockets sin procesar ya que las bibliotecas ya existentes lo hacen por usted. Supongo que está desarrollando en la plataforma Android con Java (no lo etiquetó como java) para que pueda ver Kryonet.
nathan
Así es, estoy desarrollando con Java. Investigaré a Kryonet. Gracias por el comentario.
Heigo
Si solo está pasando un par de valores, es posible que desee considerar Bluetooth. Aquí hay un par de buenas referencias: developer.android.com/guide/topics/connectivity/bluetooth.html y stackoverflow.com/questions/5619850/…
amb
También podría considerar usar bluetooth en el desarrollo posterior, pero por el momento, creo que las personas están más familiarizadas con WiFi.
Heigo
1
Actualmente estoy empezando a crear un juego multijugador también y estoy pensando en tener un servicio de descanso (para el registro de jugadores, emparejamiento, etc.) y un servidor de juegos basado en sockets tcp. Cuando se realiza la coincidencia y el juego realmente comienza, el servicio de descanso enviará un mensaje de socket al servidor y se creará la instancia real del juego (para hacer las cosas escalables). Los clientes obtienen la ip para el servidor y crean una conexión utilizando un token de seguridad proporcionado por el servicio de descanso. El servidor del juego valida y hace el resto.
Thomas

Respuestas:

-2

Una opción que puede mirar es Socket.IO .

Parece haber mucha discusión sobre Socket.IO en Stack Overflow, que incluye:

Por desgracia, no pude encontrar la manera de hacer que un dispositivo Android se comunique directamente con otro dispositivo Android a través de Socket.IO, o incluso un paso de indirección con ambos hablando con un solo punto de acceso WiFi entre ellos. (Todavía no sé si eso fue un error en mi código, algún tipo de firewall en el código de otra persona o una limitación inherente de Socket.IO). Obtuve una pequeña demostración trabajando con un dispositivo Android enviando mensajes a un servidor web, que reenvió el mensaje al otro dispositivo Android.

David Cary
fuente
Como complemento para un servidor Node.js, Socket.IO podría ser relevante para una pregunta sobre el modo multijugador en tiempo real en un juego de navegador. En el contexto actual de java y android , sin embargo, su mención solo sirve para engañar.
Eric
Tengo una pequeña demostración con una aplicación de Android personalizada que usa Socket.IO para comunicarse (indirectamente) con otra aplicación personalizada en otro dispositivo Android, a través de un servidor Node.js. Más o menos "funciona", pero si conoce un mejor enfoque, especialmente uno con una comunicación más directa, a mí (y estoy seguro del póster original) me gustaría saberlo, por favor díganos.
David Cary
-2

¿Dijiste que ambos dispositivos estaban en la misma habitación?

Cada dispositivo Android tiene un altavoz y un micrófono. En principio, es posible que una aplicación envíe una serie de tonos por el altavoz, y luego la otra aplicación escuche los tonos y los decodifique de nuevo en una cadena de mensajes. Podría (a) usar todo el espectro de audio para enviar datos, algo así como los acopladores acústicos de los años 60 y 70, o (b) usar un ancho de banda mucho más estrecho desde 15 KHz hasta el más alto que su dispositivo admite (probablemente 24 KHz) - - una tubería de datos mucho más lenta, pero la mayoría de la gente ya no puede escuchar esas frecuencias, es ultrasónica para ellos.

Los operadores de radioaficionados han desarrollado muchas técnicas inteligentes para extraer señales extremadamente débiles de mucho ruido.

" Comunicación a través del conector de audio para teléfonos Android"

Lectura de sonido en Android: a b c

"El software Zoosh de Narrate aprovecha los altavoces y los micrófonos de los teléfonos inteligentes para permitir las mismas comunicaciones de datos entre dispositivos que proporciona el NFC actual, pero con frecuencias ultrasónicas que son inaudibles para los humanos". - Eweek , Slashdot .

David Cary
fuente