Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Dudas con proyecto. Multijugador?

Iniciado por unity7, Septiembre 18, 2015, 12:22:03 PM

Tema anterior - Siguiente tema
Buenos días, tengo unas dudas de cómo se podría realizar un proyecto.La idea es la siguiente. Necesitaría poder ver en una aplicación Standalone lo que está pasando en otra aplicación que está siendo ejecutada en un móvil. La idea que había pensado era crear dos aplicaciones Unity. Una sería Android, y sería una aplicación en la que tendríamos una cámara que se va moviendo. Por otro lado tendría una segunda aplicación Standalone con un viewport en el que veríamos lo que la cámara de la aplicación Android está mostrando. Podría tener el mismo escenario en ambas aplicaciones, y que la cámara de la aplicación Standalone siguiera el transform de la cámara de la app Android. Mi duda es; habría que hacer esta comunicación usando multijugador? He hecho algunas aplicaciones multijugador, pero siempre el caso era que la aplicación era unicamente una. También valdrían las herramientas multijugador para comunicar movimientos entre dos aplicaciones distintas o habría que enfocarlo de otra manera?Si alguien pudiera guiarme en la idea, se lo agradecería. Un saludo!

algo mas de informacion estaria genial para poder hacerse una idea:lo que pretendes es hacer un juego multijugador y multiplataforma, es decir, que el mismo juego puedas jugarlo desde el pc o desde el movil y puedan verse todas las personas indistintamente de la plataforma que esten utilizando respecto al resto de usuarios (que una person que ejecute el juego en un pc pueda ver a otra que lo esta ejecutando desde un movil) ?o tu idea esta mas enfocada a hacer dos juegos distintos que se puedan comunicar entre si, pudiendo ver el contexto (escenario, personajes, objetos, etc) desde otro dispositivo-plataforma ?si es el primer caso no creo que tenga mayor complicacion, yo diria que cualquier solucion de networking que hay disponibles te debe permitir hacer eso, seria un poco timo en caso contrario puesto que todas son de pago aunque tenga su licencia gratuita con limitaciones. es posible que PUN no lo permita por estar aun en pleno desarrollo pero cualquier otra como Photon deberia tener esa opcion.si tu intencion es realizar lo segundo, dos aplicaciones distintas, segurisimo que se puede ... pero creando tu solucion networking a medida y personalizada que cubra tus necesidades (los mensajes de red, los datos que se deban enviar controlando el tratamiento de una aplicacion a otra para poder trabajar con estos, y un largo etc.) vamos, que no se hasta que punto es factible partiendo de la base que preguntas si se puede.

Gracias por tu respuesta Arthure. La idea va por lo segundo que comentas. Digamos que quisiera desde una aplicacion Standalone ver en modo "espectador" lo que está sucediendo en la aplicación Android ejecutada en el móvil. un saludo!

mmm pues no te dire que lo tienes imposible (que no es lo mismo que decir que es imposible) para que no pienses que mi intencion es desanimarte o recibir criticas de otros ... pero si que lo tienes muy jodido; sin mencionar que dudo nadie pueda guiarte en eso, pues tienes ***a de cojones ehpara empezar, busca informacion o intenta hacer un juego multijugador utilizando cualquier libreria para networking como por ejemplo photon y cuando lo tengas hecho (que te daras cuenta la dificultad que tiene) ... puedes borrar el proyecto, porque no te servira para lo que quieres hacer las librerias para multijugador disponibles solo permiten trabajar con el mismo juego, por otra parte tambien es comprensible, y no te dan la posibilidad comunicar distintas aplicaciones. por lo tanto, no tendrias que programar el juego y despues la aplicacion ... si no que ademas tendrias que programarte tu propia libreria networking desde 0 y despues adaptar el juego y aplicacion anteriormente programados para trabajar con dicha libreria.por eso decia que lo tienes imposible, no porque realmente sea imposible sino porque tomatelo con paciencia y es algo que al final comprobaras que tendras que hacer tu mismo ... no esperes encontrar manuales, gente que te pueda guiar, o ayuda de ese estilo.ademas, el concepto de lo que tu quieres hacer se podria asemejar a un troyano de ordenador ... ver desde tu ordenador, lo que esta haciendo otra persona en un dispositivo movil (aunque solo sea con una aplicacion y no en todo el movil). aunque un dia logres programarlo todo y que funcione, no se hasta que punto luego podrias publicarlo en ningun market.no obstante, suerte con esa idea ... solo por la parte de crearte tu propia libreria networking merece la pena, si no te desanimas por la dificultad aprenderas un huevo la verdad. eso si, como te he dicho antes, comprobaras que tendras que realizar todo el trabajo tu mismo (en el sentido que no tendras mucha ayuda de ningun manual, por no decir ninguna ayuda)

bueno, realmente me bastaría con conocer la posición que está teniendo la cámara dentro de la aplicación Android y alguna pequeña cosa más. Como por ejemplo, si se pausa el juego. Necesito simular en la aplicación standalone los movimientos que está haciendo la cámara en la aplicación Android. No necesitaría más comunicación que esa. Supongo que habrá alguna forma más simple de comunicar esta información, no se si con llamadas a un servidor (aunque lo ideal sería que la comunicación fuera directa)... o cómo sería lo mejor

Septiembre 28, 2015, 12:46:59 PM #5 Ultima modificación: Septiembre 28, 2015, 12:49:20 PM por Arthure
bueno, si solo es eso (teniendo en cuenta que la posicion de la camara no es mas que un vector) puedes programarte un servicio web y utilizas peticiones para enviar los datos de la aplicacion movil al servidor, y para leer los datos del servidor en la aplicacion standalone.deberas tener en cuenta que la comunicacion no es directa, por lo que los datos no se actualizan en tiempo real dentro de la standalone ... deberas de diseñarte un mecanismo, por ejemplo un boton, para actualizar. tambien puedes hacer que sea automatico si haces que envie peticiones constantemente al servidor, pero te generara un trafico bastante alto.es una solucion bastante chapucera, pero si lo que quieres conseguir es solo consultar un dato ... pues da bastante el pego y hara su funcion.p.d. ten en cuenta que eso no tiene absolutamente nada que ver con multijugador; es una simple aplicacion que utiliza un servicio web (aplicaciones para consultar el tiempo son un ejemplo)

sí, se que en ese caso no tendría nada que ver con multijugador. Mi duda era esa, como cuando usas el network lo que hace es decir que objetos comunican sus cambios de posición por decirlo de alguna manera, si podría usarse para esto. Pero en tu respuesta ya entiendo que eso sólo puede usarse en una única aplicación y no entre dos distintas

Habéis visto el nuevo networking que trae unity? A mí no me parece tan descabellado. Yo creo que sí se podría hacer y no tan complicado. Mi experiencia con la herramienta de networking de Unity es bastante escasa, un poco de testeo, pero en unas pocas horas se puede tener un multijugador (un poco cutre) en LocalHost. En cuanto a la solución, yo intenté hacer lo que dices, más o menos, jugar con una app y el standalone a la vez, el problema que me encontré era que los dos corrían en LocalHost y cuando intenté modificar estos parámetros (Dirección de ip, gestión de conexiones, Nat, etc) y crear un NetworkManager personal me encontré con muchas dificultades y lo dejé Ánimo!!

hola @juanma_teso cual es el nuevo networking que trae unity ? yo es que estoy con la version 5.1.1 y aunque se que ha salido 5.2 no me ha dado por actualizar (en parte por pereza, y en parte por problemas que he leido en este foro entre otros); pero en la version que yo utilizo, el nuevo networking era photon y ademas aun estaba en modo de pruebas.con PUN (como lo han llamado al photon para unity) no se podria de ninguna manera hacer lo que pretende el chico, comunicar dos proyectos distintos mediante networking, porque ademas de que todo el codigo que controla la comunicacion entre clientes - servidor va dentro del propio proyecto ... una de las propiedades de PUN es un identificador unico por aplicacion (mejor dicho, por version de aplicacion ... que no podrias comunicar ni versiones distintas del mismo proyecto) como sistema de seguridad y compatibilidad.Ahora hablo de Unity 5.1.1, no se si lo habran cambiado en la 5.2, pero hasta ese momento el networking de Unity es muy limitado y no se si es muy viable (y menos sencillo) engañar al propio sistema networking de unity desde el propio unity. De todos modos, lo que quiere conseguir el chico si que es muy facil, pero no utilizando el networking ... un simple servicio web con un servidor entre la aplicacion movil y standalone y podra consultar la posicion de la camara en cualquier momento

Etiquetas: