¿Qué framework de networking usáis en Unity?

S

Buenas!!

Estoy planteándome hacer un multiplayer y dada la cantidad de opciones que hay no sabría cuál esoger.
¿Alguno de vosotros usa Bolt o TNet?
He visto también Photon pero no me gusta demasiado la idea de tener que pagar hasta el infinito y más allá. Preferiría licencia de una sola vez sin restricciones chorras como cantidad de concurrentes.

Jastro

Pena que no uso unity, asi que no te puedo ayudar :/

Yo de la peña que conozco y tal que le da a unity siempre me han hablado maravillas de Tasaren o algo asi, pero vamos, a ver si alguno mas puesto en el tema te puede guiar :D

1 respuesta
Czhincksx

Si no quieres tener que pagar, puedes no usar nada de eso. Con unity es relativamente sencillo conectar varios PCs a través del MasterServer, y si tienes algún servidor Linux/Windows/OSX puedes instalar en él tu propio MasterServer.

1 1 respuesta
S

#2 el Tasharen es TNet :P

#3 Con pagar me refiero a las licencias que hace Photon, que ni alojando tu el server tienes que seguir pagando por concurrentes. No tengo problemas con pago único y sin restricciones.

Siempre que he buscado por los foros de unity o stack veo que como respuestan marcan en mayúsculas NO USAR EL NETWORKING DE UNITY, así como scripts defaults y varias cosas más. Supongo que por eso Unity está preparando UNET aunque parece que va a ser tipo Photon.

Czhincksx

El masterserver de unity tiene algo de lag pero sirve para pruebas. Si lo clonas en tu server no veo por qué debe ir mal. En las pruebas que estoy haciendo yo va fino en un servidor Azure A0.

Srednuht

#1 Pues para mi PFG estaba tratando de utilizar Photon, pero ahora he visto BOLT y me he enamorado.

Asi que ha caido ese sin pensarmelo. (Ninjeado, ofc)

PD: Si quieres puedo pasarte apuntes para no tener que tirar de visa ;)

StormEye

#1 Pues esta es una pregunta que a mí también me interesa bastante. Llevo un tiempo mirando las opciones para realizar multiplayer online con Unity y viendo la gran cantidad de opciones tampoco sé muy bien cual escoger. Está claro que depende también del tipo de juego y sus necesidades no es lo mismo un juego por turnos que un juego de disparos.
Te comento las opciones que he encontrado yo y si hay alguno que las usa o las ha probado podría estar bien que comentase su opinión:

Photon: Es la opción más recomendada y tiene servicios de cloud pero como tú dices son pagos infinitos.
https://www.exitgames.com/en/PUN
T-Net: Está muy bien pero tiene un gran pero y es que usa net sockets con lo que para móviles necesitas Unity Pro.
http://www.tasharen.com/?page_id=4518
Bolt: Tiene muy buena pinta, no tiene limitaciones para móvil en versiones Unity basic y un precio asequible.
http://www.boltengine.com/
SmartFox: Tiene varios servicios y junto con Photon es también de las más recomendadas.
http://www.smartfoxserver.com/
AppWarp: Ofrece servicios parecidos a Photon pero no tiene límite para usuarios concurrentes en las ofertas gratuitas pero si límite en el número de mensajes entre servidor y cliente.
http://appwarp.shephertz.com/pricing/
U Link: Hay gente que la recomienda pero el coste es bastante alto.
http://developer.muchdifferent.com/unitypark/uLink/uLink

Y te dejo para al final una opción que puede ser interesante, Scalify era una companía que ofrecía algo parecido a Photon con Badumna pero en Diciembre han cerrado el chiringuito y comentaron que lo iban a pasar a open source. De momento que yo sepa no lo ha salido y lo último que encontré fue esto:

http://forum.unity3d.com/threads/badumna-open-source-someone-find-it.283740/

O sea que por lo que comenta una persona que dice que se puso en contacto en principio tiene que aparecer.

2 respuestas
13500

Photon es el más estable, con mejor soporte y más fiable (y también el más caro), mientras que T-Net es la opción calidad/precio más recomendable

1 respuesta
S

#7 Buen listado!

Algo que tengo en cuenta para elegir servicio es que los players de navegador puedan crear partidas. De por si ninguno puede por culpa de la limitación del UnityPlayer, por lo que hay que ver quiénes dan la opción de crear un gameserver en tu VPS o donde sea.

Por eso descarté Bolt que no tiene tal posibilidad.
SmartFox tengo que revisarlo.

Miraré Scalify parece interesante si se ha publicado open source.

#8 Gracias por el resumen, probaste alguno de los otros servicios/frames?

1 respuesta
B

#1 #9 Hace un tiempo me estuve peleando con decenas de librerías/frameworks de Networking para Unity y llegué a las siguientes conclusiones:

  1. El Networking que viene integrado con Unity está muy bien si pretendes hacer un juego con partidas cooperativas de no más de 4 jugadores.

  2. Si tienes dineros para invertir y no quieres comerte la cabeza, tienes Photon que es la librería/plugin de Networking más utilizada por la mayoría de Unity devs, aunque realmente a mí no me parece una opción acertada ya que nunca tienes el dominio de tu servidor, me da una sensación bastante rara, parece que todo el funcionamiento sea magia.

  3. Lidgren Network, para mí, la mejor opción, habiendo hecho ya bastantes pruebas, es una librería escrita en C#, completamente Open Source, que te permite hacer lo que te de la gana partiendo de una base muy verde, es decir, puedes hacer cualquier tipo de juego multiplayer con esta librería, y además siempre vas a poder hacer tus propias mejoras y cambios a la librería que vna a ser tuyos y sólo tuyos, a menos que te apetezca contribuir con su comunidad, que es muy activa y el creador de la librería responde a todas las consultas que se hacen en el grupo de google, te dejo el enlace: https://code.google.com/p/lidgren-network-gen3/

2 respuestas
S

#7 ¡Encontrado! DE HACE NADA! https://bitbucket.org/badumna/badumna/overview

#10 Gracias por la aportación! Veo por aquí http://forum.unity3d.com/threads/gladnet-free-opensource-networking-library.280016/ que hay algunas aproximaciones de Lidgren gen3 a Unity.

1 respuesta
StormEye

#11 Pues tiene pinta que si que son ellos. Ya me lo mirare más tarde a ver. Merci por el link.
Añado otro link que me deje:

https://github.com/seand88/PlanetServer

De momento solo utiliza tcp por eso y no es muy conocido.

BRaDoLH

Yo tengo AppWarp en uno de mis juegos, es gratis y funciona bastante bien

S

Gratis? Yo veo un listado de precios http://appwarp.shephertz.com/pricing/

1 respuesta
Srednuht

#14 Pero lo único que varía es el número de mensajes/noitificaciones

28 días después
P

Sin duda, RakNet

1 respuesta
B

#16 Es lo que usáis para el Bully Multiplayer? Creo que también lo usan en el San Andreas Multiplayer ^^

1 respuesta
P

#17 Si, RakNet es un buen sistema para networking, bien documentado y facil de usar, es multiplataforma, no solo en cuanto a pc/mac/linux/moviles sino tambien para consolas, por no decir que es open source desde que OculusVR (facebook?) lo comprara hace un año.

El caso del SA:MP es que usa raknet v3, que comparada con RakNet4 es como comparar a dios con un jitano.

Por lo poco que se de Unity (apenas he hecho un par de apps de realidad aumentada con vuforia) creo que el networking que trae de casa podria ser RakNet, me extraña bastante la conclusion que sacas en el post #10 pero bueno no conozco como esta integrado y como se ha utilizado, te puedo decir que un software que he hecho suele tener unos 1000 clientes conectados simultaneamente y un trafico probablemente mayor al de sincronizacion de un juego sin ningun problema...

1 respuesta
B

#18 Pues eso está de puta madre, a decir verdad.

Y sí, de hecho no entiendo por qué la gente que trabaja en Unity3D lo integró tan pobremente. Supongo que o no quisieron usar todo el jugo de RakNet o simplemente no les interesaba en ese momento, pero bueno, eso ha dejado que desarrolladores como los de Photon se lleven toda la pasta con un plugin que ni siquiera te deja modificar código del server xD

La verdad es que me interesa bastante el tema de RakNet, pero para escribir un servidor en RakNet es necesario hacerlo en C++, verdad? Es lo único que me hecha hacia atrás.. Unity es en C# y tener que cambiar de lenguaje para el server no es algo que me agrade.

1 respuesta
1 mes después
P

#19 perdon por el retraso :s pero me he pasado un tiempo con mucho curro.

Por lo que se RakNet es compatible con c# y creo que en la version 4 incluye ya todo lo necesario para andar con el.

Creo que puedes trabajar nativamente con el y por lo que leo aqui se puede mejorar la raknet que va incluida en unity, aunque no se si esto es actualmente asi...

Por propia experiencia yo lo que suelo hacer cuando trabajo desde .net es usar el networking desde una dll previamente generada, asi la parte grafica puede utilizar wpf o winforms, pero en realidad la funcionalidad viene de una dll c++ diseñada para proveer el UI de funcionalidad. Por ejemplo uno de mis programas es un control de continuidad y montaje para TV, todo el interfaz grafico es WPF con toda la potencia y simplismo que ofrece, pero el uso de la base de datos lo hago a traves de RakNet mediante una dll c++, de esta forma, si a lo mejor hay 10 personas editando la continuidad desde sus puestos, todos ven los cambios en tiempo real.

Si quieres ver una forma simple de hacer esto puedes empezar por este sencillo tutorial

1 respuesta
8 días después
S

Ahora que Unity ha lanzado su versión 5, se decía algo sobre un nuevo framework de networking. Sin embargo, cuando reviso las release notes no veo nada acerca de ello.

¿Alguna noticia sobre UNET? ¿o la única novedad es que van a jugar a quitar mercado a Photon con su propia solución cloud?

1 respuesta
9 días después
B

#20 Intenté hacer algo con RakNet, pero ni papa, creé la librería en C# con el tutorial que se pone a nuestra disposición, pero pasado eso no hay documentación alguna con C# así que tras un par de fails lo dejé. Si algún día aprendo C++ y uso un engine que soporte C++ ya le daré otro try.

Para Unity sigo quedándome con Lidgren.

#21 Creo que sólo eran rumores, además de que Unity 5 incorpora algunos bugs de más (quizás por el release prematuro debido a Unreal Engine Free..), de todas formas como he dicho, si quieres algo totalmente gratuito y open source tienes Lidgren.

1 respuesta
14 días después
Peinacabras

¿Alguno de esos framework esta orientado a videojuegos por turnos o puedo usar cualquiera para tal uso?

Es que uno especifico seria lo suyo , la verdad

1 respuesta
20 días después
S

#22 Parece que aquí hablan de unos que lo están integrando en su juego http://blogs.unity3d.com/2015/04/14/unity-networking-in-super-dungeon-bros/

#23 :s Qué necesita de especial un RTS que no puedas hacer con esos frames?

2 respuestas
B

#24 Lo que parece con ese artículo es que la gente de Unity Technologies está finalmente trabajando en implementar una api en condiciones basada en RakNet. Porque dudo bastante que el juego ese esté hecho con la api que existe ahora mismo.

Peinacabras

#24 Soy un novato y no entiendo aun unity al completo, aunque voy teniendo mas vicio dia a dia :D

Usuarios habituales

Tags