Bibliotecas de capa de red [cerrado]

12

Estoy buscando cualquier capa de red que esté disponible para agregar a mi juego, ya sea gratis o con un precio justo para los juegos independientes.

Por capas de red me refiero a algún tipo de biblioteca con la que puedo interactuar, con la que podré enviar mensajes y recibir mensajes, y manejará toda la información de bajo nivel por sí misma.

Estoy especialmente buscando:

  • Bibliotecas de alta calidad que entienden y manejan cosas complejas como la congestión de la red.
  • Bibliotecas escalables, que me permitirán tener muchos jugadores jugando juntos.
  • Preferiblemente una solución de igual a igual, y no una basada en el servidor.
  • Preferiblemente una biblioteca que tenga enlaces para lenguajes de alto nivel (como Java o C #).

Un ejemplo de lo que estoy buscando es Grapple , pero sé que hay otras bibliotecas disponibles.

Roble
fuente
Aunque es un tema muy útil, esta pregunta probablemente no sea adecuada para el formato de intercambio de pila, ya que realmente está pidiendo una comparación de características de varias bibliotecas y, por lo tanto, una discusión abierta.
Cameron Fredman

Respuestas:

8

Siento la necesidad de agregar ENet a esta lista. Por supuesto, no viene con enlaces a otros lenguajes, pero dado que está escrito en C, crear enlaces para él es trivial.

He descubierto que ENet es robusto, bien escrito y escalable, y maneja muy bien los juegos entre pares.

Blair Holloway
fuente
5

Estuvimos utilizando RakNet por un tiempo y lo disfrutamos, y obtuvimos una crítica positiva de otros estudios que lo utilizan. http://www.jenkinssoftware.com/

Lo bueno de RakNet es que es multiplataforma en su mayor parte, por lo que si está buscando ingresar al espacio de la consola, es una buena posibilidad.

Jeff
fuente
Me gusta cómo es gratis para juegos independientes
Oak
También he usado RakNet, y es bastante agradable. No es perfecto, pero las muestras son buenas, tienes acceso completo a la fuente y la licencia Indie es muy indulgente.
Logan Kincaid
4

Elegí Zoidcom (C ++) porque está bien diseñado y tiene excelente documentación + ejemplos:

La biblioteca de red de Zoidcom es una biblioteca de red de alto nivel basada en UDP que proporciona características para la replicación automática de objetos de juego y la sincronización de sus estados a través de una conexión de red de una manera altamente eficiente de ancho de banda. Esto se logra multiplexando y demultiplexando información de objetos desde y hacia flujos de bits, lo que hace posible evitar fácilmente el envío de datos redundantes. Los bools solo toman un bit, los enteros y los flotantes se reducen a tantos bits como sea necesario.

Zoidcom maneja una gran parte del trabajo tedioso que aparece cuando se intenta desarrollar un protocolo de red eficiente, por ejemplo, decidir cuándo enviar qué datos a qué cliente, cómo obtenerlos de manera eficiente y confiable a través de la línea, qué hacer cuando se obtienen los datos perdido y mucho más.

Algunos juegos de código abierto creados con Zoidcom:

Licencia:

Zoidcom está disponible gratuitamente para uso no comercial y seguirá siéndolo. Las licencias comerciales y shareware están disponibles a pedido, el anuncio oficial de la licencia estará disponible con la versión 1.0.

Leftium
fuente
2

Si C # no es un problema, puede consultar Lidgren . Actualmente en su tercera generación, presenta (entre otras cosas):

  • Licencia MIT
  • Peer-to-Peer (NetClient / NetServer se basan en NetPeer)
  • Simulación de retraso
  • Cifrado de paquetes
  • Muy eficiente (buffers reutilizados para cero basura)
  • Desarrollador activo y receptivo!
Jason Kozak
fuente
1

Como mencionó Java, le sugiero que busque en JGN (http://forum.captiveimagination.com/index.php/board,4.0.html), nunca lo he usado personalmente, pero he escuchado cosas buenas sobre en el foro de JME. Sin embargo, la documentación parece ser escasa.

Raoul
fuente