Мультиплеер туториал 1: основы

  • 0 favourites

Index

Tagged

Contributors

Stats

31,218 visits, 32,555 views

Tools

Сигнализирование (Signalling)

Чуть раньше говорилось о необходимости IP адреса для подключения к хосту. При варианте с peer-to-peer, хостом может быть каждый, в любой точке мира, а значит знать заранее кто станет хостом невозможно. Для таких случаев существует отдельный центральный сервер, названный сигнальным сервером.

Сигнальный сервер не является хостом игры, хостом игры становится первый игрок, данные которого и будут переданы другим игрокам для соединения. Другими словами Сигнальный сервер (signalling server) - это центральное место, где игроки могут найти друг друга. Игрок подключается к хосту и если подключение прошло успешно, то Сигнальный сервер исключает занятый IP из своего списка, и выбывает из цепочки. Дальше игроки общаются между собой самостоятельно.

У Scirra есть публичный Сигнальный сервер, которым можно пользоваться wss://multiplayer.scirra.com (wss: это адрес подключения к WebSocket , на которм управление происходит по технологии WebRTC)

Терминология в сигнализировании (Signalling terminology)

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

Такая реализация возможна в случае подключения к room в game instance.

Сигнальный сервер разделяет игроков до начала каждой игры (game). Ваша игра должна иметь глобальное уникальное имя для Сигнального сервера (signalling server). Тогда каждый игрок сможет подключиться именно к вашей игре, а не к Васе Пупкину по ошибке.

Придумайте уникальное техническое имя вашей игры, что бы не иметь совпадений. "MyStudio-Asteroids" или "JohnSmith-Asteroids" но никак не просто "Asteroids" . Техническое имя нигде не показывается, оно нужно для корректной работы Сигнального сервера, поэтому придумывайте такие тех. имена, что бы на 100% быть уверенным. что второго такого не будет.

После того, как Сигнальный сервер идентифицировал вашу игру, он умеет определять и дополнительные параметры. Допустим такие как "stable" или "beta" версия.

Вторым вариантом использования данного механизма является геолокация, например "Europe-v1.1", "Asia-v1.2". Игроки уже смогут сами выбрать к какому серверу подключаться исходя из своей географической привязки.

Ну и наконец игроки могут подключаться к комнате (room). Комната представляет группу игроков, которые играют друг с другом. Игроки не могут видеть никаких других игроков кроме тех кто в комнате. Первый игрок в к комнате назначется как хост.

Сигнальный сервер уведомляет хост и других игроков, которые присоединяются к той же самой комнате и игроки и могут начать играть в игру, видя действия друг друга в реальном времени!

В Construct 2 функции Multiplayer , все действия, условия и выражения, касающиеся Сигнального сервера находятся в Сигнальной категории (Signallingcategory).

Прочие функции разложены по категориям прочих направлении, в том же разделе Multiplayer.

  • 0 Comments

  • Order by
Want to leave a comment? Login or Register an account!