Tutorial - O que você deve aprender antes de criar um MMOG!
 CasaDosJogos
 CasaDosJogos -=FORUM=-
 Outros
 Tutorial - O que você deve aprender antes de criar um MMOG!
  Registrar   Ajuda   Login

Tópico AnteriorTópico Anterior - Próximo TópicoPróximo Tópico
Tópico com 1918 visitas
Autor
Tópico: Tutorial - O que você deve aprender antes de criar um MMOG!
Captain_J_Sheridan
Lord of Games

Postagens: 8995
Registro: 30/10/2001
Local: Rio de Janeiro - RJ - Brasil
Idade: 33 anosSexo Masculino
 Postado em 29/03/2006 7:57:00 PM

Tutorial - O que você deve aprender antes de criar um MMOG!

1. Introdução

Serei breve, este tutorial não será nada extenso e será de fácil entendimento para todos, iniciantes ou não. O foco principal aqui, é mostrar algumas das principais idéias que o jogador deve saber antes de aventurar-se em um jogo multiplayer ou MMOG. É interessante que antes que você começe a se aventurar nesse mundo online, que tenha algum conhecimento na plataforma que está criando o jogo (seja linguagem de programação ou um game maker), e também, um pouco de raciocínio lógico.


2. O que você precisa ter/saber

Tenha seu Game Maker/Linguagem de Programação em mãos, certifique-se que ele tem capacidades online e tente "brincar" com seus comandos para tentar descobrir algo, você certamente encontrará um comando para conectar a um servidor, para enviar/receber dados e etc. Tenha acesso à internet, não importa se é Dial Up ou Broadband, será útil para fazer os testes. A próxima parte é conhecer alguns termos importantes:

IP: Simplificadamente, é uma sequência de números até 255 que definem seu endereço na internet, como por exemplo 255.137.5.23 . Os jogadores irão se conectar ao seu computador ou ao computador servidor através dele.

Porta: Portas são uma passagem onde são trocadas as informações. Você não pode utilizar uma porta simultâneamente com outro programa, para evitar erros. E esse é o motivo delas existirem. Existem mais de 50000 portas, eu geralmente uso as de 1000 à 3000 e nunca tive problemas. A porta 80 é utlizada pelo HTTP, a porta 25 pelo SMTP (e-mail) e a porta 23 pelo Telnet, ou seja, essas são portas que já são ocupadas.

Servidor: Um jogo online consiste dos jogadores e a máquina principal, que vai receber os dados e repassar para os outros jogadores. Essa máquina (ou programa, pra ser mais específico), que é denominada servidor.

Cliente: Pode ser denominado cliente, a máquina que envia e recebe dados para o servidor, o jogador em si, ou o programa (jogo) que vai interagir com os jogadores através da troca de dados.

TCP/IP e UDP: Os dados trocados entre servidor/cliente trafegam por um meio através da internet, esse meio, é chamado de protocolo, que pode ser TCP/IP ou UDP. TCP/IP é conhecido por ser um pouco mais lento, porém com segurança que os dados serão "entregues". O UDP trabalha enviando os dados de uma maneira mais rápida, porém sem certeza de recebimento. Normalmente o mais utilizado é o TCP/IP.


3. Como funciona

Não é muito difícil entender como funciona a troca de dados de um cliente a um servidor... Imagine em um programa de envio de mensagens: Cada cliente (não importa quantos), enviam seus dados para o programa servidor, que recebe-as e repassa para todos os demais clientes para que possam receber sua mensagem. É como se em uma reúnião você falasse para o chefe algo "cochichando" e ele repetisse em voz alta fazendo com que todos ouvissem.
Esses dados (mensagens, strings, informações, como preferir) que são enviados são através de frases, e o servidor tem na sua programação, identificar. Ele precisa saber se está recebendo uma mensagem, um nickname, uma requisição, etc. Isso é feito através de TAGS, ou letras no início da frase a ser enviada que o servidor irá decompor e definir o que é.

Imagine esse código em um cliente:

  • frase = frase que o usuário digitar

  • frase = "MSG" + frase (adiciona a tag MSG à frase, que logo o servidor entenderá como uma mensagem)

  • enviar frase para o servidor


  • E este em um servidor:

  • frase = receba a frase enviada pelo servidor

  • Se os 3 caracteres esquerdos da frase recebida forem iguais a "MSG" então: frase = frase - "MSG", Repassar frase aos demais clientes


  • Isso impediria do servidor enviar o NICK de alguém como se fosse uma mensagem de chat. Você poderia colocar a tag como quisesse, isso depende de como será seu jogo e como você está programando.
    Em um jogo, não é tão simples assim, o jogador não envia só frases que serão interpretadas como mensagens de chat, ele envia suas coordenadas X,Y,Z, seu ângulo, sua direção, seus equipamentos, sua vida, seus atributos, login, senha e muitos outros. O servidor, por sua vez, terá que interpretar e manusear corretamente as mensagens recebidas, e isso é feito através de programação, portanto, mãos à obra!


    4. Conclusão

    Essa foi só uma noção básica de como funciona a comunicação cliente/servidor em um programa. Sugiro que procure por códigos fontes e exemplos na sua plataforma, para entender melhor o funcionamento. Tente aprender também lógica de programação, será muito útil, independente de você programar em MMF, C++, Dark Basic,Game Maker e etc. Alguns assuntos que podem ser legais de serem pesquisados: winsock, tcp, udp, internet, mmog/mmorpg, comunicação internet... Boa sorte, e espero que tenham gostado do meu primeiro tutorial!

    Até mais; Seiken (Obs.: Eu não estou conseguindo acessar o fórum, então o moderador Captain_J_Sheridan fez a gentileza de postar pra mim, ficarei de olho nas respostas, qualquer coisa, me adicione no MSN: viniciuskg@hotmail.com ).

    IP Logado
     Todos os horários são de Brasília (GMT -03:00)
     Nova Mensagem desde a sua Última Visita.
    [***] Palavra proibida pelo moderador do Grupo de Discussão

    Tópico AnteriorTópico Anterior - Próximo TópicoPróximo Tópico

    Volta para o Topo da Página



    Forum Now! - Criar seu forum grátis