GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Retorno da GMBR!!!
por vinians Qui 14 Mar 2024, 19:07

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16

» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05

» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55

» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39

» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28

» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01


Tutorial - Como fazer um jogo multiplayer online - Parte I

+7
Mr. Kaleb
fonetico
Mystery_boy_maker
Furious God
Darknex
vinians
Janx
11 participantes

Ir para baixo

Tutorial - Como fazer um jogo multiplayer online - Parte I Empty Tutorial - Como fazer um jogo multiplayer online - Parte I

Mensagem por Janx Qui 13 Jan 2011, 14:47

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.

Como é feita a conexão:
Tutorial - Como fazer um jogo multiplayer online - Parte I 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.


Última edição por Janx em Seg 07 Fev 2011, 18:10, editado 3 vez(es)
Janx
Janx

Data de inscrição : 24/05/2008
Reputação : 14
Número de Mensagens : 2417
Prêmios : Tutorial - Como fazer um jogo multiplayer online - Parte I Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Tutorial - Como fazer um jogo multiplayer online - Parte I Empty Re: Tutorial - Como fazer um jogo multiplayer online - Parte I

Mensagem por vinians Qui 13 Jan 2011, 14:49

Ae!!! Agora sim JanX! Acho ser este o tutorial mais esperado do ano hehehheh. Muito bom ! Parabéns!
vinians
vinians

Games Ranking : Nota B

Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Reputação : 90
Número de Mensagens : 2715
Prêmios : Tutorial - Como fazer um jogo multiplayer online - Parte I Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Construct 2
  • Java
  • C#
  • Javascript
  • C ou C++
  • Outros


https://vinians.itch.io

Ir para o topo Ir para baixo

Tutorial - Como fazer um jogo multiplayer online - Parte I Empty Re: Tutorial - Como fazer um jogo multiplayer online - Parte I

Mensagem por Darknex Qui 13 Jan 2011, 14:58

isso erra exatamente o que eu precisava Happy
Darknex
Darknex

Data de inscrição : 08/12/2010
Reputação : 1
Número de Mensagens : 174
Prêmios : Tutorial - Como fazer um jogo multiplayer online - Parte I Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://inventaku.forumeiros.com/

Ir para o topo Ir para baixo

Tutorial - Como fazer um jogo multiplayer online - Parte I Empty Re: Tutorial - Como fazer um jogo multiplayer online - Parte I

Mensagem por Furious God Qui 13 Jan 2011, 15:08

uhull, é só isso que eu queria, agora simm \o/
tom ara que a próxima parte do tutorial saia logo, digo, amanhã
Furious God
Furious God

Data de inscrição : 10/05/2010
Reputação : 0
Número de Mensagens : 62
Prêmios : Tutorial - Como fazer um jogo multiplayer online - Parte I Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Tutorial - Como fazer um jogo multiplayer online - Parte I Empty Re: Tutorial - Como fazer um jogo multiplayer online - Parte I

Mensagem por Mystery_boy_maker Qui 13 Jan 2011, 15:21

Otimo tutorial Janx ta deixando tudo muito bem explicado
até um completo leigo no assunto ( eu ) entende tudo com
perfeição parabens espero a continuação ! sorrindo2
Mystery_boy_maker
Mystery_boy_maker

Data de inscrição : 25/01/2010
Reputação : 16
Número de Mensagens : 908
Prêmios : Tutorial - Como fazer um jogo multiplayer online - Parte I Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://recursos-mania.forumeiros.com

Ir para o topo Ir para baixo

Tutorial - Como fazer um jogo multiplayer online - Parte I Empty Re: Tutorial - Como fazer um jogo multiplayer online - Parte I

Mensagem por fonetico Qui 13 Jan 2011, 15:27

Agora assim Janx! Dá pra ver que a próxima parte vai ser um show como essa também foi. Está bem explicado, tanto que eu li tudo.

Espero a próxima parte!
fonetico
fonetico

Data de inscrição : 05/10/2009
Reputação : 7
Número de Mensagens : 1830
Prêmios : Tutorial - Como fazer um jogo multiplayer online - Parte I Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Tutorial - Como fazer um jogo multiplayer online - Parte I Empty Re: Tutorial - Como fazer um jogo multiplayer online - Parte I

Mensagem por Mr. Kaleb Qui 13 Jan 2011, 16:02

Já que todo mundo tá ansioso, também to na espera da próxima aula.
Parabéns!
Mr. Kaleb
Mr. Kaleb

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 07/09/2010
Reputação : 21
Número de Mensagens : 1400
Prêmios : Tutorial - Como fazer um jogo multiplayer online - Parte I Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Tutorial - Como fazer um jogo multiplayer online - Parte I Empty Re: Tutorial - Como fazer um jogo multiplayer online - Parte I

Mensagem por Joker Qui 13 Jan 2011, 20:50

Esperei di mais esse tuto feito por vc depois de ver o guerra 2 eu tava pensando si vc fizese tuto como criar um jogo online e imaginei que seria o melhor tuto....vo esperar a segunda parte Smile Laughing Laughing Laughing Laughing Laughing
Joker
Joker

Games Ranking : Sem avaliações

Data de inscrição : 08/11/2010
Reputação : 1
Número de Mensagens : 206
Prêmios : Tutorial - Como fazer um jogo multiplayer online - Parte I Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://the-jokergames.blogspot.com/

Ir para o topo Ir para baixo

Tutorial - Como fazer um jogo multiplayer online - Parte I Empty Re: Tutorial - Como fazer um jogo multiplayer online - Parte I

Mensagem por Gabreel Sex 14 Jan 2011, 03:25

Ae Janz.. Continuidade plx!! Very Happy

Tipo, a média de upload varia de net pra net.. até mesmo pq as operadoras só são obrigadas a dar 20% da velocidade do plano.. ai vc já sae comé né... Aki é 2MB e faz uploads de 200 ~ 600 MB, depende do servidor que lhe envia também.. Razz

Parabens pelas explicações.. agora sim da pra intender O_O
Gabreel
Gabreel

Data de inscrição : 02/10/2009
Reputação : 52
Número de Mensagens : 2232
Prêmios : Tutorial - Como fazer um jogo multiplayer online - Parte I Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Javascript
  • Outros


Ir para o topo Ir para baixo

Tutorial - Como fazer um jogo multiplayer online - Parte I Empty Re: Tutorial - Como fazer um jogo multiplayer online - Parte I

Mensagem por Janx Sex 21 Jan 2011, 18:42

Pessoal, desculpa a demora para postar a segunda parte, está demorando um pouco mais do planejado. Houve alguns imprevistos aqui.
Estou trabalhando no tutorial. Ele está ficando comprido, estou fazendo no Word e já tem 6 páginas, mas ainda não está nem na metade. Parece que vou ter que dividir em mais 2 ou mais partes...

Postei só para falar que não desisti de fazer a continuação!
Janx
Janx

Data de inscrição : 24/05/2008
Reputação : 14
Número de Mensagens : 2417
Prêmios : Tutorial - Como fazer um jogo multiplayer online - Parte I Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Tutorial - Como fazer um jogo multiplayer online - Parte I Empty Re: Tutorial - Como fazer um jogo multiplayer online - Parte I

Mensagem por Super Games Sex 21 Jan 2011, 18:49

Finalmente!
Mais um tutorial de Multiplayer Online, irei segui as aulas.

Super Games
Super Games

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 10/06/2010
Reputação : 36
Número de Mensagens : 2799
Prêmios : Tutorial - Como fazer um jogo multiplayer online - Parte I Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Java
  • C ou C++


Ir para o topo Ir para baixo

Tutorial - Como fazer um jogo multiplayer online - Parte I Empty Re: Tutorial - Como fazer um jogo multiplayer online - Parte I

Mensagem por !!Game Play!! Qui 21 Jun 2012, 14:29

Smile
!!Game Play!!
!!Game Play!!

Data de inscrição : 24/12/2011
Reputação : 4
Número de Mensagens : 159
Prêmios : Tutorial - Como fazer um jogo multiplayer online - Parte I Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.blackcubestudio.tkk/

Ir para o topo Ir para baixo

Tutorial - Como fazer um jogo multiplayer online - Parte I Empty Re: Tutorial - Como fazer um jogo multiplayer online - Parte I

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

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