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)
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Conectar-se

Esqueci minha senha

Últimos assuntos
» gente o melhor habbo q existe
Seg Jan 30 2012, 12:27 por lucas-nobile@hotmail.com

» [Tutorial GameMaker] Variáveis
Sex Nov 18 2011, 09:12 por admin

» Survival of the Ball 1.0
Sex Out 07 2011, 00:54 por admin

» Criando Habbo Retro (Sem Hamachi)
Dom Set 11 2011, 13:54 por -Desconectado

» Como criar um habbo V65 com Bling + Valentim 2011 + Bola + Freeze e sem Bug
Dom Ago 28 2011, 15:46 por admin

» Master emulator 100% fixado r63.2
Ter Ago 23 2011, 19:52 por idiegofelicio

» Server Habbo Pirata com VIP Club e HC Club
Sab Ago 20 2011, 11:39 por admin

» Calculadoras no Delphi 7
Dom Ago 14 2011, 20:49 por ♥Giulia♥

» [TutorialGamemaker]Criando Jogo de plataforma simples
Qua Ago 10 2011, 13:05 por admin

Palavras chave

Flux RSS


Yahoo! 
MSN 
AOL 
Netvibes 
Bloglines 


Social bookmarking

Social bookmarking digg  Social bookmarking delicious  Social bookmarking reddit  Social bookmarking stumbleupon  Social bookmarking slashdot  Social bookmarking yahoo  Social bookmarking google  Social bookmarking blogmarks  Social bookmarking live      

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 em baixo

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

Mensagem  admin em 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:
[Você precisa estar registrado e conectado para ver 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

__________________________

Sou Fãn De:
[Você precisa estar registrado e conectado para ver esta imagem.]
avatar
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 : 23
Localização Localização : Curitiba-PR

Ver perfil do usuário http://centralhabbo.forumbrasil.net

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum