Библиотеки сетевого уровня [закрыто]


12

Я ищу любые сетевые уровни, которые можно добавить в мою игру, либо бесплатно, либо по справедливой цене для инди-игр.

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

Я особенно ищу:

  • Высококачественные библиотеки, которые понимают и решают сложные проблемы, такие как перегрузка сети.
  • Масштабируемые библиотеки, благодаря которым у меня будет много игроков, играющих вместе.
  • Желательно одноранговое решение, а не серверное.
  • Предпочтительно библиотека, которая имеет привязку для языков высокого уровня (таких как Java или C #).

Примером того, что я ищу, является Grapple , но я знаю, что есть и другие доступные библиотеки.


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

Ответы:


8

Я чувствую необходимость добавить ENet в этот список. Конечно, он не поставляется с привязками к другим языкам, но, учитывая, что он написан на C, создание привязок для него тривиально.

Я нашел ENet надежным, хорошо написанным и масштабируемым, и очень хорошо справляется с одноранговыми играми.


5

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

Хорошая вещь о RakNet заключается в том, что он по большей части кроссплатформенный, поэтому если вы хотите войти в пространство консоли, это хорошая возможность.


Мне нравится, как это бесплатно для инди-игр
— Дуб

Я также использовал RakNet, и это довольно мило. Он не идеален, но примеры хороши, у вас есть полный доступ к источнику, и лицензия Indie очень проста.
— Логан Кинкейд

4

Я выбрал Zoidcom (C ++), потому что он хорошо спроектирован и имеет отличную документацию + примеры:

Сетевая библиотека Zoidcom - это высокоуровневая сетевая библиотека на основе UDP, предоставляющая функции для автоматической репликации игровых объектов и синхронизации их состояний по сетевому соединению с высокой пропускной способностью. Это достигается путем мультиплексирования и демультиплексирования информации об объектах из потоков битов и в них, что позволяет легко избежать отправки избыточных данных. Bool занимает только один бит, целые числа и числа с плавающей запятой сокращаются до необходимого количества бит.

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.