Бібліотеки мережевого рівня [закрито]


12

Я шукаю будь-які мережеві шари, які можна додати до моєї гри, або безкоштовно, або з справедливими цінами на інді-ігри.

Під мережевими шарами я маю на увазі якусь бібліотеку, з якою я можу інтерфейсувати, що я зможу надсилати повідомлення та отримувати повідомлення від них, і вона сама обробляє всю інформацію низького рівня.

Я особливо шукаю:

  • Бібліотеки високої якості, які розуміють і мають справу зі складними речами, такими як перевантаженість мережі.
  • Масштабні бібліотеки, які дозволять мені мати багато гравців разом.
  • Переважно рівноправне рішення, а не серверне рішення.
  • Переважно бібліотека, яка має прив'язку для мов високого рівня (таких як Java або C #).

Прикладом того, що я шукаю, є Grapple , але я знаю, що є інші бібліотеки.


Хоча це дуже корисна тема, це питання, ймовірно, не підходить до формату stackexchange, оскільки воно справді вимагає порівняння характеристик різних бібліотек і, таким чином, відкритого обговорення.
Камерон Фредман

Відповіді:


8

Я відчуваю необхідність додати ENet до цього списку. Зрозуміло, він не прив’язується до інших мов, але враховуючи, що він написаний на C, створення прив’язок для нього є тривіальним.

Я виявив, що ENet є надійним, добре написаним та масштабованим, і він дуже добре обробляє ігрові ігри однорангових.


5

Ми користувались RakNet деякий час і насолоджувалися ним, і отримали позитивні відгуки від інших студій, що використовують його. http://www.jenkinssoftware.com/

Приємна річ у RakNet полягає в тому, що здебільшого це крос-платформа, тому якщо ви хочете зайти в простір консолі, це хороша можливість.


Мені подобається, як це безкоштовно для інді-ігор
Oak

Я також використовував RakNet, і це досить приємно. Це не ідеально, але зразки хороші, у вас є повний доступ до джерела, і ліцензія Indie дуже прощає.
Логан Кінкейд

4

Я вибрав Zoidcom (C ++), оскільки він добре розроблений і має чудову документацію + приклади:

Мережева бібліотека Zoidcom - мережева бібліотека на високому рівні, що базується на UDP, що забезпечує можливості автоматичної реплікації ігрових об'єктів та синхронізації їх станів через мережеве з'єднання високоефективно. Це досягається шляхом мультиплексування та демультиплексування інформації об'єкта з бітових потоків і в них, що дозволяє легко уникнути надсилання зайвих даних. Булі займають лише один єдиний біт, цілі числа і поплавці знімаються на стільки, скільки потрібно.

Великою частиною кропіткої роботи, яка з’являється при спробі розробки ефективного мережевого протоколу, займається Zoidcom, наприклад, вирішення, коли надсилати дані, якому клієнту, як їх ефективно та надійно отримати через лінію, що робити, коли дані отримують втрачено та багато іншого.

Деякі ігри з відкритим кодом, зроблені за допомогою Zoidcom:

Ліцензія:

Zoidcom є у вільному доступі для некомерційного використання та залишатиметься таким. Комерційні та загальнодоступні ліцензії доступні на запит, офіційне оголошення про ліцензію буде доступне з випуском 1.0.


2

Якщо C # не є проблемою, ви можете перевірити Lidgren . В даний час у своєму третьому поколінні він (серед іншого):

  • Ліцензія MIT
  • Peer-to-peer (NetClient / NetServer заснований на NetPeer)
  • Моделювання відставання
  • Шифрування пакетів
  • Дуже ефективно (буфери, використані повторно для нульового сміття)
  • Активний та чуйний розробник!

1

Оскільки ви згадали Java, я б запропонував заглянути в JGN (http://forum.captiveimagination.com/index.php/board,4.0.html), я ніколи не використовував його особисто, але чув хороші речі про це на форумі JME. Хоча здається, що документація мало.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.