Pesquisar este blog

quarta-feira, 1 de fevereiro de 2017

Conexão Multiplayer - Construct 2

Conexão Multiplayer - Construct 2



Olá a todos, eu sou um dos membros da equipe DeehLeh e vim trazes um leve tutorial de Conexão multiplayer.
Fui a procura de um bom post a você e percebi que poucos brasileiros postam algo descente sobre o Plugin Multiplayer do Construct 2, então eu resolvi fazer um breve tutorial para que no minimo vocês possam caminhar com seus próprios passo e criar games fantásticos, então vamos la.


Oque é o Plugin Multiplayer e oque ele faz:
- O Plugin Multiplayer é um meio de conexão com um servidor wss implementado na linguagem HTML5, talvez canvas,  com o suporte a diversas conexões que substituiriam o IPV4, mas não vou entrar e detalhes...
- O Plugin Multiplayer basicamente se conecta a um servidor fazendo a interação de um peer e um host e iremos ver isto mas a frente.
- O Plugin Multiplayer irá fazer com que seus games tenha suporte a uma plataforma de conexão com outros jogadores, todos conectados por uma instancia e cada um em uma sala... (para os que ainda não entenderam...)

 Oque é Instancia?
Uma instancia é um conjunto ou grupo de pessoas ou uma classificação de região/local, também usada para diminuir lag e formar grupos e sub-servers.

 Oque é Sala?
A Sala é uma variável que onde se encontra um player e cada sala tem um HOST e os PEERs.
Quando dado um nome  a uma sala, todos que entrarem na sala de mesmo nome não terá interação nenhuma com utras sala.
Uma sala é criada a partir de uma variável e pode ser criada infinitas salas, basta saber manipular seus valores
Uma Sala só pode ser deletada se o HOST sair dela, pois assim ela é obrigada a ser excluída.

 Oque é HOST e PEER
- HOST seria o dono da sala ou seja, o primeiro jogador a entrar na sala será HOST, um único usuário com o poder total a sala, onde todas ações depende dele como por exemplo uma torre de sinal que recebe uma informação e distribuem a todo os outros usuário daquele serviço, um resumo geral seria "Tudo que rodar no jogo depende do HOST, nada e feito sem que ele saiba, pois ele que indica oque esta acontecendo e é o modelo da sala, usado para fazer ação e dar continuidade a elas".
- PEER são os usuários que entram na sala e depende do HOST para fazer alguma ação.

Agora que já vimos a parte chata, vamos a mate mais chata ainda que é ler o tutorial.

Você vai precisar:
2 Grupos:Desativados
- Primeiro Grupo Chamado de HOST
- Segundo Grupo chamado de PEEr
Text para relatar erros.
TextBox para termos um alias(nickname)..
Button ou sprite apenas para fazer a interação do projeto com o plugin Multiplayer.
Um Servidor wss, eu estarei usando o da scirra para exemplo:"wss://multiplayer.scirra.com".

1 - Crie 3 Variáveis:
 - A primeira será usada como o nome do servidor (coloque um nome bem aleatório, pois se outro usuário do servidor wss da scirra usar a mesma variável, poderá a ver conflitos)
- A Segunda variavel será uma instancia.
- A Terceira e ultima variável será usada como sala.


2 - Iremos Conectar no servidor wss quando clicar no Botão (Button, On clicked), Conectar no servidor wss (Multiplayer, Connect to signalling server  "wss://multiplayer.scirra.com").

3 -  Faremos a leitura do nome de usuario ao conectar no servidor (Multiplayer, On signalling connected), Utilize o nome digitado na Textbox (Multiplayer, Log in with alias TextBox.Text).
Já entramos no servidor wss da Scirra

4 - Selecionaremos a sala a ser usada quando logado (Multiplayer, On signaling logged in), Entre na Instancia e Sala do Servidor com um máximo de player (Multiplayer, Join room Sala for Servidor game instancie Instancia)
Lembre-se de usar as Variáveis Criada no inicio do tutorial e use 0 para uma contia infinita de usuários, mas apenas para test, pois em servidores as vezes não são suportados vários usuários na mesma sala

5 - Agora Com a Conexão já criada, vamos definir quem é o HOST e para isso Vamos fazer que quando entrar na sala (Multiplayer, On signalling joined room), Em um Sub-Event verifique se é o HOST conectado (Multiplayer, is host), Ative o Grupo HOST (System add action, Set group "HOST" Activated), caso contrario ative o grupo PEER (System add action, Set group "PEER" Activated).
O HOST é sempre o primeiro jogador a entrar na sala, se ele sai a sala é deleta como dito no inicio do tutorial.

6 - Para finalizar o projeto Ative uma unica vez (trigger once), Uma alteração no texto dizendo "Olá HOST" ou "Olá PEER" (Text, Set text to "Olá ...").

É isso ai galerinha, o tutorial acaba por aqui e espero que tenha entendido, foi bem básico, mas futuramente terá melhores

6 comentários:

  1. eu quero saber uma coisa amigo. quando eu entrar na sala com varios jogadores eu posso ver e interagir com os outro jogadores?

    ResponderExcluir
  2. Anônimo12/24/2019

    Não entendi direito ;-;

    ResponderExcluir
  3. você sabe como conectar a um servidor proprio em vez do scirra e eliminar o host e os peers?
    fazendo uma sala sem um host

    ResponderExcluir
    Respostas
    1. Anônimo1/24/2021

      tbm queria saber ;-;

      Excluir
    2. Basta vc comprar o script que cria um servidor de sinalização que eles disponibiliza na loja deles.

      https://www.construct.net/en/game-assets/tools/multiplayer-signalling-server-2

      Excluir

Evitem usar palavrões