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

2

Index

Tagged

Contributors

Stats

48,718 visits, 74,587 views

Tools

License

This tutorial is licensed under CC BY 4.0. Please refer to the license text if you wish to reuse, share or remix the content contained within this tutorial.

Published on 19 Dec, 2016. Last updated 25 Feb, 2019

Сигнализирование (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

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