Photon Unity Networking или Bolt или?

Я не могу решить, использовать ли PUN или Bolt в моей многопользовательской игре на основе Unity. В игре должна быть локальная сеть и возможность игры через Интернет.

Согласно документации на веб-сайте Photon, PUN предназначен для многопользовательских игр через Интернет. Главный сервер размещается либо в облаке Photon, либо на выделенных серверах, на которых работает Photon Server.

Bolt, с другой стороны, предназначен для игр по локальной сети. Один из клиентов становится сервером.

Моя игра нуждается как в локальной сети, так и в Интернете. Стоит ли использовать оба пакета SDK? Разве не может быть общего кода для обоих вариантов?


person Pavan Chopra    schedule 20.04.2017    source источник


Ответы (6)


РЕДАКТИРОВАТЬ:

UNET теперь недоступен!

Вы также можете использовать новую сеть от Unity (UNet). В ней есть как LAN, так и Интернет (если вы выполняете перенос, но я думаю, что должна быть возможность для этого, тем не менее. Цитируйте меня по этому поводу).

Однако вы можете посмотреть руководство UNet, чтобы узнать, нравится ли оно вам: https://docs.unity3d.com/Manual/UNet.html

В настоящее время я работаю над игрой 3 на 1 с этим. И нужно время, чтобы понять, но вам не нужно беспокоиться о платежах или других вещах.

(У меня нет 50 репутации, поэтому я могу только ответить)

person NLxDoDge    schedule 20.04.2017
comment
Хотя категорически не рекомендуется оставлять комментарии в качестве ответов, на самом деле это довольно надежный ответ! - person Draco18s no longer trusts SE; 20.04.2017
comment
@NLxDoDge текущая версия моей игры использует UNET. Работает хорошо, но есть проблемы с производительностью. Мне было интересно, является ли фотон лучшим и более оптимизированным вариантом. - person Pavan Chopra; 28.04.2017
comment
UNet устарел - person Yerke; 04.01.2021

Photon Support ответил:

1] Следует ли мне использовать оба SDK?

Комбинировать PUN + Bolt не имеет смысла. Bolt отлично работает для LAN и онлайн-игр. Bolt не основан на UNET, он написан с нуля. Photon Cloud и выделенные серверы также можно использовать с Bolt. https://doc.photonengine.com/en-us/bolt/current/advanced-tutorials/headless-server

2] Должен ли я писать отдельный код для функции онлайн и LAN?

Нет, в этом нет необходимости - вам «просто» нужно иметь дело с более высокой задержкой в ​​онлайн-игре.

person Pavan Chopra    schedule 01.05.2017

Я бы порекомендовал вам Фотон. Он довольно прост в использовании и очень дешев. Сервер Photon намного дешевле, чем серверы UNET. И UNET, и Photon имеют отличную документацию, множество руководств и большое сообщество, так что у вас не должно возникнуть проблем, если вы выберете тот или иной :)

person Community    schedule 29.04.2017
comment
Мы используем UNet в нашей игре, и я бы не сказал, что у UNet отличная документация и поддержка. Версия UNet не сильно обновляется, как и документ. Unity не уделяет большого внимания многопользовательской игре ... - person Richard Fu; 16.11.2017

Bolt также работает с "интернет-игрой", если вы предпочитаете различать игры по интернету и LAN. Однако выбор того, какой из них, во многом зависит от самой игры. Если игре требуется центральный защищенный сервер для обработки логического процесса, вам следует использовать Photon или аналогичный подход. Если игра p2p, с быстрым лицом и не особо заботится (то есть вообще не заботится) о безопасности (например, избегайте читерства, скорости, взлома стен), тогда вам следует выбрать Bolt.

person Namke    schedule 12.06.2017

Фотон провел здесь сравнение: https://doc.photonengine.com/en-us/pun/current/reference/pun-vs-bolt

Основное отличие для меня в том, что перенос хоста, Bolt и UNet еще не поддерживают перенос хоста (UNet поддерживает локальную сеть, но не Интернет) ...

Если ваша игра действительно идет в быстром темпе (~ 30 секунд на игру) и не заботится о миграции хоста (главный клиент отключен), то единственный выбор - PUN или собственный выделенный сервер (который я бы не рассматривал).

person Richard Fu    schedule 16.11.2017

Я слышал, что если хочешь сделать что-то хорошо, делай это сам. Это не означает, что PUN, Bolt или UNet не работают, напротив, они идеально подходят для созданных сценариев, но для вашего конкретного сценария они могут не подходить. Если вам нужна локальная сеть, Интернет, центральный сервер или клиент в качестве сервера, в дополнение к алгоритмам, предотвращающим задержку, таким как интерполяция и прогнозирование, вы должны сделать это с нуля, создав свою собственную структуру, для этого используйте Unity Networking API.

person Nestor Longa Hernandez    schedule 22.10.2019