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
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.
É isso ai galerinha, o tutorial acaba por aqui e espero que tenha entendido, foi bem básico, mas futuramente terá melhores
eu quero saber uma coisa amigo. quando eu entrar na sala com varios jogadores eu posso ver e interagir com os outro jogadores?
ResponderExcluirNão entendi direito ;-;
ResponderExcluirvocê sabe como conectar a um servidor proprio em vez do scirra e eliminar o host e os peers?
ResponderExcluirfazendo uma sala sem um host
tbm queria saber ;-;
ExcluirBasta vc comprar o script que cria um servidor de sinalização que eles disponibiliza na loja deles.
Excluirhttps://www.construct.net/en/game-assets/tools/multiplayer-signalling-server-2