2013-11-20 3 views
1

Существует несколько многопользовательских игровых движков, таких как Photon, Smartfox и т. Д., Которые позволяют создавать авторитетные игровые серверы. Я новичок и пробовал smartfox. Я хочу создать многопользовательскую игру в Unity. Все они поддерживают единство.Как использовать физику Unity в многопользовательской игре, когда вы не используете собственную сеть Unity?

Я хочу знать, как я могу использовать движок физики Unity на стороне сервера для выполнения имитации, используя другой авторитетный сетевой движок, такой как smartfox. SmartFox написан на Java и поддерживает только записи в Java/Python.

+0

Для кого-то, кто не знаком с этим, могу ли я предложить сначала изучить систему RPC Unity? Гораздо проще, чтобы серверы были авторитарными, а затем узнайте, как интегрировать разные службы. Альтернативно вы можете попробовать использовать другую библиотеку физики, такую ​​как Box2D или Canon –

ответ

0

Использование Unity для разработки игрового сервера возможно в любом случае. Тем не менее, если вы разрабатываете коммерческую игру, работает Physics Unity в авторитетном сервере может сделать проблема:

  1. Хотя Unity может работать в режиме командной строки без графического интерфейса пользователя, она будет загружать ненужные графические ресурсы и многие другие вещи в игре серверной памяти. Унитарный игровой цикл со многими лесами GameObject громоздкий. Обратите внимание, что большинство игровых серверов имеют слабое или не аппаратное 3D-ускорение.
  2. Unity запускает игровой цикл одним поточным способом. Если вы не создаете MMOR-игры с постоянным миром, вы можете создать экземпляр многих игровых сеансов на серверном компьютере. Возможно, вам следует запускать игровые серверные процессы столько, сколько требуется для игровых сессий. Сотни запущенных процессов будут бесполезно ухудшать производительность сервера.
0

По причинам, указанным выше, Hyunjik Bae, лучше всего создать упрощенную физическую систему в Java на расширении Java Smartfox, которая касается только положений, векторов и т. Д., И никакой графики. Но это будет быть огромной задачей.

Если у вас есть машина, которая может работать за пределами сервера smartFox, вы можете запустить специальное приложение на этом компьютере и связать его с Smartfox и действовать как авторитетный физический движок без отставания от SF-сервера. В идеале вы удаляете все сетки и эффекты и будете работать только с коллайдерами на авторитарной машине.

Если безопасность не является большой проблемой, самый простой способ сделать это и с максимальной производительностью - позволить одному из клиентов действовать как авторитетная машина. Это то, как много игр для сверстников. Чтобы избежать взлома, вы можете периодически и случайным образом назначать полномочия для разных клиентов, а также делать это, когда авторитетный клиент покидает игровой зал.

Смежные вопросы