Central Habbo Forum
Ainda não está Registrado ? , Então está esperando o que ? , Registre-se e disfrute do melhor do Fórum, se já for registrado, só faça o login

(Observações : Usuários não registrados não tem direitos a nenhum conteúdo)

Participe do fórum, é rápido e fácil

Central Habbo Forum
Ainda não está Registrado ? , Então está esperando o que ? , Registre-se e disfrute do melhor do Fórum, se já for registrado, só faça o login

(Observações : Usuários não registrados não tem direitos a nenhum conteúdo)
Central Habbo Forum
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Procurar
 
 

Resultados por:
 


Rechercher Pesquisa avançada

Entrar

Esqueci-me da senha

Últimos assuntos
» gente o melhor habbo q existe
[Game Maker] Tutorial - Como fazer um jogo multiplayer online  - Parte I I_icon_minitimeSeg Jan 30 2012, 12:27 por lucas-nobile@hotmail.com

» [Tutorial GameMaker] Variáveis
[Game Maker] Tutorial - Como fazer um jogo multiplayer online  - Parte I I_icon_minitimeSex Nov 18 2011, 09:12 por admin

» Survival of the Ball 1.0
[Game Maker] Tutorial - Como fazer um jogo multiplayer online  - Parte I I_icon_minitimeSex Out 07 2011, 00:54 por admin

» Criando Habbo Retro (Sem Hamachi)
[Game Maker] Tutorial - Como fazer um jogo multiplayer online  - Parte I I_icon_minitimeDom Set 11 2011, 13:54 por -Desconectado

» Como criar um habbo V65 com Bling + Valentim 2011 + Bola + Freeze e sem Bug
[Game Maker] Tutorial - Como fazer um jogo multiplayer online  - Parte I I_icon_minitimeDom Ago 28 2011, 15:46 por admin

» Master emulator 100% fixado r63.2
[Game Maker] Tutorial - Como fazer um jogo multiplayer online  - Parte I I_icon_minitimeTer Ago 23 2011, 19:52 por idiegofelicio

» Server Habbo Pirata com VIP Club e HC Club
[Game Maker] Tutorial - Como fazer um jogo multiplayer online  - Parte I I_icon_minitimeSáb Ago 20 2011, 11:39 por admin

» Calculadoras no Delphi 7
[Game Maker] Tutorial - Como fazer um jogo multiplayer online  - Parte I I_icon_minitimeDom Ago 14 2011, 20:49 por ♥Giulia♥

» [TutorialGamemaker]Criando Jogo de plataforma simples
[Game Maker] Tutorial - Como fazer um jogo multiplayer online  - Parte I I_icon_minitimeQua Ago 10 2011, 13:05 por admin

Palavras-chaves

2011  

Flux RSS


Yahoo! 
MSN 
AOL 
Netvibes 
Bloglines 


Social bookmarking

Social bookmarking reddit      

Conservar e compartilhar o endereço de Central Habbo Forum em seu site de social bookmarking

Conservar e compartilhar o endereço de Central Habbo Forum em seu site de social bookmarking


[Game Maker] Tutorial - Como fazer um jogo multiplayer online - Parte I

Ir para baixo

[Game Maker] Tutorial - Como fazer um jogo multiplayer online  - Parte I Empty [Game Maker] Tutorial - Como fazer um jogo multiplayer online - Parte I

Mensagem  admin Dom Fev 27 2011, 01:10

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:
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

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.

Creditos:Janx ADM do Gmbr Forum
admin
admin
Administradores
Administradores

Mensagens Mensagens : 201
Pontos Pontos : 572
Reputação Reputação : 64
Data de inscrição Data de inscrição : 15/06/2010
Idade Idade : 28
Localização Localização : Curitiba-PR

https://centralhabbo.forumbrasil.net

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