Bibliothèques de couches réseau [fermé]


12

Je recherche toutes les couches réseau disponibles pour ajouter à mon jeu, gratuitement ou avec des prix raisonnables pour les jeux indépendants.

Par couches réseau, j'entends une sorte de bibliothèque avec laquelle je peux m'interfacer, avec laquelle je pourrai envoyer et recevoir des messages, et qui gérera toutes les informations de bas niveau par elle-même.

Je recherche surtout:

  • Bibliothèques de haute qualité qui comprennent et traitent des choses complexes telles que la congestion du réseau.
  • Bibliothèques évolutives, qui me permettront d'avoir beaucoup de joueurs jouant ensemble.
  • De préférence une solution peer-to-peer, et non basée sur un serveur.
  • De préférence, une bibliothèque qui a une liaison pour les langages de haut niveau (tels que Java ou C #).

Un exemple de ce que je recherche est Grapple , mais je sais qu'il existe d'autres bibliothèques disponibles.


Bien qu'il s'agisse d'un sujet très utile, cette question n'est probablement pas adaptée au format stackexchange, car elle demande vraiment une comparaison des fonctionnalités de différentes bibliothèques et donc une discussion ouverte.
Cameron Fredman

Réponses:


8

Je ressens le besoin d'ajouter ENet à cette liste. Certes, il ne vient pas avec des liaisons vers d'autres langages, mais étant donné qu'il est écrit en C, créer des liaisons est trivial.

J'ai trouvé qu'ENet était robuste, bien écrit et évolutif, et gère très bien les jeux entre pairs.


5

Nous utilisions RakNet depuis un certain temps et nous l'avons apprécié, et nous avons reçu des critiques positives d'autres studios l'utilisant. http://www.jenkinssoftware.com/

La bonne chose à propos de RakNet est qu'il est principalement multiplateforme, donc si vous cherchez à entrer dans l'espace console, c'est une bonne possibilité.


J'aime la gratuité des jeux indy
Oak

J'ai également utilisé RakNet, et c'est plutôt sympa. Ce n'est pas parfait, mais les échantillons sont bons, vous avez un accès complet à la source, et la licence Indie est très indulgente.
Logan Kincaid

4

J'ai choisi Zoidcom (C ++) car il est bien conçu et a une excellente documentation + exemples:

La bibliothèque réseau Zoidcom est une bibliothèque réseau de haut niveau basée sur UDP offrant des fonctionnalités de réplication automatique des objets de jeu et de synchronisation de leurs états sur une connexion réseau d'une manière très efficace en termes de bande passante. Ceci est réalisé par le multiplexage et le démultiplexage des informations sur les objets depuis et vers les flux binaires, ce qui permet facilement d'éviter d'envoyer des données redondantes. Les booléens ne prennent qu'un seul bit, les entiers et les flottants sont réduits à autant de bits que nécessaire.

Une grande partie du travail fastidieux qui apparaît lors de la tentative de développement d'un protocole réseau efficace est prise en charge par Zoidcom, par exemple décider quand envoyer quelles données à quel client, comment les obtenir de manière efficace et fiable via la ligne, que faire lorsque les données sont récupérées perdu et bien plus encore.

Quelques jeux open source réalisés avec Zoidcom:

Licence:

Zoidcom est disponible gratuitement pour une utilisation non commerciale et le restera. Des licences commerciales et shareware sont disponibles sur demande, l'annonce officielle de la licence sera disponible avec la version 1.0.


2

Si C # n'est pas un problème, vous pouvez consulter Lidgren . Actuellement dans sa 3e génération, il propose (entre autres):

  • Licence MIT
  • Peer-to-Peer (NetClient / NetServer sont basés sur NetPeer)
  • Simulation de décalage
  • Cryptage des paquets
  • Très efficace (tampons réutilisés pour zéro poubelle)
  • Développeur actif et réactif!

1

Depuis que vous avez mentionné Java, je vous suggère de vous pencher sur JGN (http://forum.captiveimagination.com/index.php/board,4.0.html), je ne l'ai jamais vraiment utilisé personnellement mais j'ai entendu de bonnes choses à propos de sur le forum JME. La documentation semble cependant rare.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.