Librerie del livello di rete [chiuso]


12

Sto cercando tutti i livelli di rete disponibili da aggiungere al mio gioco, gratuitamente o con prezzi equi per i giochi indie.

Per livelli di rete intendo una sorta di libreria con cui posso interfacciarmi, da cui sarò in grado di inviare messaggi e ricevere messaggi e che gestirà da sola tutte le informazioni di basso livello.

Sto particolarmente cercando:

  • Biblioteche di alta qualità che comprendono e affrontano cose complesse come la congestione della rete.
  • Librerie scalabili, che mi permetteranno di avere molti giocatori che giocano insieme.
  • Preferibilmente una soluzione peer-to-peer e non basata su server.
  • Preferibilmente una libreria che ha legami per linguaggi di alto livello (come Java o C #).

Un esempio di ciò che sto cercando è Grapple , ma so che ci sono altre librerie disponibili.


Sebbene sia un argomento molto utile, questa domanda probabilmente non è adatta al formato stackexchange, in quanto richiede davvero un confronto delle funzionalità di varie librerie e quindi una discussione aperta.
Cameron Fredman,

Risposte:


8

Sento la necessità di aggiungere ENet a questo elenco. Certo, non viene fornito con i collegamenti ad altre lingue, ma dato che è scritto in C, la creazione di collegamenti è banale.

Ho trovato ENet robusto, ben scritto e scalabile e gestisce molto bene i giochi peer-to-peer.


5

Abbiamo usato RakNet per un po ', ci siamo divertiti e abbiamo ottenuto recensioni positive da altri studi che lo utilizzano. http://www.jenkinssoftware.com/

La cosa bella di RakNet è che è per lo più multipiattaforma, quindi se stai cercando di entrare nello spazio della console, è una buona possibilità.


Mi piace come è gratuito per i giochi indy
Oak

Ho anche usato RakNet, ed è abbastanza carino. Non è perfetto, ma i campioni sono buoni, hai pieno accesso alla fonte e la licenza Indie è molto tollerante.
Logan Kincaid,

4

Ho scelto Zoidcom (C ++) perché è ben progettato e ha un'ottima documentazione + esempi:

La libreria di rete Zoidcom è una libreria di rete di alto livello basata su UDP che offre funzionalità per la replica automatica degli oggetti di gioco e la sincronizzazione dei loro stati su una connessione di rete in modo altamente efficiente in termini di larghezza di banda. Ciò si ottiene multiplexando e demultiplando le informazioni sugli oggetti da e verso flussi di bit, il che rende facilmente possibile evitare l'invio di dati ridondanti. I bool prendono solo un singolo bit, interi e float vengono ridotti a tutti i bit necessari.

Gran parte del lavoro noioso che appare quando si tenta di sviluppare un protocollo di rete efficiente è gestito da Zoidcom, ad esempio decidere quando inviare quali dati a quale client, come ottenerli in modo efficiente e affidabile attraverso la linea, cosa fare quando i dati vengono acquisiti perso e molto di più.

Alcuni giochi open source realizzati con Zoidcom:

Licenza:

Zoidcom è disponibile gratuitamente per uso non commerciale e rimarrà tale. Le licenze commerciali e shareware sono disponibili su richiesta, l'annuncio ufficiale della licenza sarà reso disponibile con la versione 1.0.


2

Se C # non è un problema, puoi dare un'occhiata a Lidgren . Attualmente è alla sua terza generazione, presenta (tra le altre cose):

  • Licenza MIT
  • Peer-to-Peer (NetClient / NetServer sono basati su NetPeer)
  • Simulazione del ritardo
  • Crittografia dei pacchetti
  • Molto efficiente (buffer riutilizzati per zero immondizia)
  • Sviluppatore attivo e reattivo!

1

Da quando hai menzionato Java, suggerirei di esaminare JGN (http://forum.captiveimagination.com/index.php/board,4.0.html), non l'ho mai usato personalmente ma ho sentito cose positive su sul forum JME. La documentazione sembra essere scarsa però.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.