Arena RPG Maker
Olá, visitante!
Seja bem-vindo ao fórum Arena RPG Maker, caso queira aprender sobre criação de jogos, está no fórum certo. Esperamos que possa aprender tanto quanto possa nos ensinar aqui.

Atenciosamente,
Equipe Arena RPG Maker.
Arena RPG Maker
Olá, visitante!
Seja bem-vindo ao fórum Arena RPG Maker, caso queira aprender sobre criação de jogos, está no fórum certo. Esperamos que possa aprender tanto quanto possa nos ensinar aqui.

Atenciosamente,
Equipe Arena RPG Maker.
Arena RPG Maker

Estamos de volta o/ ... Ou não.Eu amo a -Dark
Doações para o fórum abertas, clique aqui e saiba mais.
Últimos assuntos
» Ainda temos gente aqui?
Como fazer um jogo multiplayer online no GM - Parte 1 EmptyQui 25 Nov 2021, 14:04 por Halt

» [Dúvida] Como tirar a porcentagem de esquiva
Como fazer um jogo multiplayer online no GM - Parte 1 EmptySex 19 Nov 2021, 17:14 por Halt

» Pokémon Genesis Online! (PGO)
Como fazer um jogo multiplayer online no GM - Parte 1 EmptyQua 05 Jul 2017, 18:08 por Lexar

» Tileset Converter to MV
Como fazer um jogo multiplayer online no GM - Parte 1 EmptySex 12 maio 2017, 14:07 por Douggi

» Pack Resources, Sprites e etc
Como fazer um jogo multiplayer online no GM - Parte 1 EmptyQua 23 Dez 2015, 12:30 por raydengv

» Download RPG Maker 2003 + RTP em português
Como fazer um jogo multiplayer online no GM - Parte 1 EmptyTer 22 Dez 2015, 11:14 por ::KimMax::

» Fantasy Art Online
Como fazer um jogo multiplayer online no GM - Parte 1 EmptyDom 18 Out 2015, 18:42 por daviih123

» Você vai ter medo do Nerve gear?
Como fazer um jogo multiplayer online no GM - Parte 1 EmptySáb 25 Jul 2015, 17:02 por Kirito-kun

» O Barato é louco
Como fazer um jogo multiplayer online no GM - Parte 1 EmptySáb 27 Jun 2015, 16:26 por Halt

» Download RPG Maker 2000 + RTP em português
Como fazer um jogo multiplayer online no GM - Parte 1 EmptyQui 21 maio 2015, 20:28 por Wismael


Você não está conectado. Conecte-se ou registre-se

Ver o tópico anterior Ver o tópico seguinte Ir para baixo  Mensagem [Página 1 de 1]

Halt

Halt
Administrador
Administrador
Tutorial – Como fazer um jogo multiplayer online
Por Janx

Parte I: Teoria
Antes de iniciar:
Antes de iniciar o tutorial propriamente dito, precisamos saber com o que estamos lidando e entender como funciona um jogo online.
A criação de um game online é muito mais complicada do que parece, um pequeno erro já pode causar diversos desastres. Não pense que você conseguirá fazer um MMORPG de sucesso de primeira. Um simples jogo de pong já é trabalhoso, um RPG massivo com centenas de jogadores online ao mesmo tempo não só exige um sistema mais complexo e poderoso como também de Banco de Dados (DB), servidor dedicado 24h com alta velocidade de conexão e largura de banda, muito trabalho e provavelmente conhecimento de outras linguagens (De programação, claro que saber inglês também ajuda muito). Então comece com projetos pequenos, ok?

Funcionamento:
Como muitos já sabem, um jogo online é baseado na troca de informações entre Client e Server. O servidor é o responsável por maior parte do trabalho, pois precisa cuidar das mensagens de todos os Clients conectados a ele e repassar as mensagens necessárias para os outros jogadores (Clients). A troca de mensagens é praticamente constante dependendo do jogo e isso pode causar lags, congestionamento e outros problemas. Por isso é necessário saber exatamente o que precisa ser atualizado constantemente e o que não precisa.

Antes de iniciar:
Antes de iniciar o tutorial propriamente dito, precisamos saber com o que estamos lidando e entender como funciona um jogo online.
A criação de um game online é muito mais complicada do que parece, um pequeno erro já pode causar diversos desastres. Não pense que você conseguirá fazer um MMORPG de sucesso de primeira. Um simples jogo de pong já é trabalhoso, um RPG massivo com centenas de jogadores online ao mesmo tempo não só exige um sistema mais complexo e poderoso como também de Banco de Dados (DB), servidor dedicado 24h com alta velocidade de conexão e largura de banda, muito trabalho e provavelmente conhecimento de outras linguagens (De programação, claro que saber inglês também ajuda muito). Então comece com projetos pequenos, ok?

Funcionamento:
Como muitos já sabem, um jogo online é baseado na troca de informações entre Client e Server. O servidor é o responsável por maior parte do trabalho, pois precisa cuidar das mensagens de todos os Clients conectados a ele e repassar as mensagens necessárias para os outros jogadores (Clients). A troca de mensagens é praticamente constante dependendo do jogo e isso pode causar lags, congestionamento e outros problemas. Por isso é necessário saber exatamente o que precisa ser atualizado constantemente e o que não precisa.

Como é feita a conexão:
Como fazer um jogo multiplayer online no GM - Parte 1 Imgconexao
O que é “download”:
Sabemos que quando estamos baixando algo estamos fazendo o “download”, correto? O download é quando você recebe pacotes/mensagens de informação. Ou seja, para baixar você usa o seu Download. Cada velocidade de conexão possui uma taxa de download e outra de upload. Pelo menos aqui no Brasil, a velocidade da conexão é dada pela velocidade de download, a velocidade de upload é muito mais baixa. Uma internet de 1mb baixa em até 128kb/s, (Divida a quantidade em KB da sua conexão por Cool, isso significa que somos capazes de receber até 128kb de informação por segundo. Não é muito, mas em um jogo isso já é suficiente, claro que existem outros programas que usam internet, então ter um pouco a mais é sempre bom para garantir um espaço.

O que é “upload”:
Upload é muito parecido com Download, mas é a capacidade de você Enviar informações, fazer “Upload”. Cada conexão também tem uma taxa de upload por segundo, mas normalmente ela é muito mais baixa que a de download (Pelo menos no Brasil. Não sei dizer como é em outros países.). Uma internet de 3mb tem upload próximo de 60kb/s. Esse valor é muito menor, se comparado que a taxa de Download de uma internet de 1mb é 128kbs, imagine quanto seria o Upload? 20kb/s? Isso já é um número muito mais baixo...

A conexão:
A conexão é feita apenas entre Client e Servidor, nunca Client – Client – Servidor.
Na imagem 1, cada computador estaria conectado a outros 2, mas isso é um exemplo pequeno, imagine que são 10 computadores, cada um estaria conectado a outros 9! A melhor forma é todos estarem conectados apenas no servidor.
Por que a 2º maneira é a melhor? Porque dessa forma, os clients devem ter uma conexão de “Upload” muito mais baixa, pois terão que enviar mensagens apenas para o servidor. Quais a chance de todos em um jogo terem bom upload para não atrasar as mensagens que ele deveria enviar para os outros usuários? Normalmente o Servidor é aquele que tem melhor taxa de upload e download, justamente porque ele pode repassar e receber muito mais mensagens ao mesmo tempo. Outro motivo para não usar o primeiro método é a segurança sobre as informações que nunca sabemos se alguém não está arranjando uma forma de mudar apenas alguns pacotes para prejudicar outra pessoa. Claro que com criptografia é mais difícil ocorrer esses problemas, mas sempre existe alguém que consegue burlar, então quanto mais segurança melhor.

Teoria básica do jogo online:
Ao conectar no servidor, ele primeiro recebe sua conexão, depois verifica por espaço no servidor e outras circunstâncias dependendo do que for necessário. Depois ele envia uma mensagem de volta para o client com informações e dados necessários para que ele possa “avançar”.
Por exemplo: Ao conectar-se em um servidor o client recebe quantos jogadores já estão conectados, qual o nick de cada um, regras de jogo e outros dados.

Mas não acaba ai, você já está conectado, sabe quem está no jogo e tem todos os dados que precisa, porém os outros jogadores ainda não sabem que você “Existe”. Então o servidor inicia outra rotina: Enviar seus dados para os outros jogadores. Muito bem, simples, não é? Bom, mas estamos esquecendo algo, ainda não enviamos os nossos dados para o servidor para que ele possa repassá-los para os demais jogadores. Ou seja, precisamos enviar nossos dados antes, para que ele saiba quem nós somos e então possa falar para os outros.

Depois disso estamos conectados. O que fazer depois? Isso depende do que está sendo feito no jogo. Digamos que seja um game que antes temos a sala de espera e depois quando a partida é iniciada vamos para o jogo. Digamos que na tela de espera você tem a opção de trocar de time. Você está no time A, mas quer passar para o B. Você simplesmente aperta um botão ou o que for necessário para mudar de time, superficialmente é assim, mas não adianta se isso só mudar para você. Ao clicar para mudar de time o jogo envia uma mensagem para o servidor avisando que você está mudando para o time X (no caso, time B). O servidor pega essa informação, “anota” e repassa para todos os demais jogadores, o jogo deles recebe a mensagem, processa e faz as alterações necessárias, assim eles podem ver que você mudou de time.
É basicamente dessa forma que são feitas as comunicações entre Client e Server, mas isso não é de forma alguma uma “Regra”, podem ser um pouco diferentes para cada caso ou preferência do programador.

Agora já temos uma idéia do que vamos fazer, pelo menos a teoria é simples, mas vamos ver que a parte prática não é tão problemática assim se você organizar bem o seu sistema.

O que vamos fazer?
A próxima e [provável] última parte do tutorial será totalmente prática e vamos fazer um simples jogo de plataforma, só para sair do padrão de um jogo de “pong” onde o limite são 2 jogadores. Vamos fazer um jogo onde várias pessoas podem se conectar ao mesmo tempo, aprenderemos a colocar um limite de jogadores e também faremos um chat! No jogo será possível andar para os lados e pular. Muito simples, apenas para mostrar o funcionamento. Não vai ser um jogo pronto e espero que ninguém simplesmente copie e adicione outras coisas só para falar que fez um jogo.

https://arenarpgmaker.forumeiros.com

Ver o tópico anterior Ver o tópico seguinte Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos