[Author: João Neto ]
Mais uma vez eu começo uma aula com muita teoria. Porém, a teoria é extremamente indispensável no desenvolvimento, por isso devemos sempre nos focar nela. Vamos lá.
A maioria dos makers quer fazer um jogo online. Procuram engines e mais engines para não perderem tempo com desenvolvimento, para que seu jogo possa ser lançado o mais rápido possível. Porém, a maioria deles não tem a mínima idéia de como funciona a comunicação via TCP/IP e porque o jogo precisa de um servidor, entre outras coisas.
Então vamos começar do início.
Toda vez que você, no seu computador, abre o Client(aplicação EXE do seu jogo) do seu Ragnarok, e tenta "Logar" no servidor, o que acontece...
Seu PC, estando conectado à internet por qualquer meio (Modem, ADSL, Cable, 3G, Etc...) faz com que o mesmo possua um IP.
Quando fazemos qualquer coisa na Internet, abrimos uma página, conversamos no MSN, ou qualquer outra coisa, seu computador e os computadores espalhados pela nuvem que é a internet trocam informações, e para isso serve o IP.
O IP é uma chave, que torna sua conexão com a internet unica para que não haja conflito durante a "conversa" entre o seu computador e a Net.
Quando você tenta logar no seu jogo favorito, você está enviando informações pela rede e aguardando respostas da mesma. Por esse motivo é chamado de Comunicação, pois sua máquina fala e ouve, e todas as máquinas na rede ouvem e respondem.
Mas o que fazer jogos online e isso dae de cima tem a ver?? TUDO !!
Quando você tenta se logar, você envia uma pergunta ao servidor do jogo, que por padrão já possui um IP/porta que ele deve acessar na rede e, quando ele acessa o mesmo, dentro daquela máquina há um aplicativo que todos chamam de server, o Listener.
Mas que raios é um Listener??
Listener é a aplicação que, através de uma configuração TCP/IP de IP e Porta, está "Ouvindo" aquela porta. Ouvindo sim, ela está aguardando chegar alguma coisa ali, para que ela possa interpretar e, se interpretado, devolver uma resposta a quem perguntou.
Ao tentar logar, o seu Client envia uma pergunta para aquele IP/Porta, aguardando que, do lado de lá, haja um Listener, que vai ouvir a pergunta, interpretar, e responder para o seu Client "Seja bem vindo Fulano !!" se ele te reconhecer ou "Você não possui usuário e senha aqui seu atoa" se ele não te reconhecer.
Então pense neste Fluxo:
O que a sua aplicação Client deve fazer??
O que o seu server(Listener) deve fazer??
Tudo bem, não entendi nada do que você disse, e agora??
Se você entendeu os dois ultimos itens, já é um começo. Será a partir deles que vamos começar o desenvolvimento de um jogo Online simples, para ser jogado por duas pessoas(um Pong) e iremos evoluindo até o início de um MMO básico.
Várias pessoas podem dizer que existem milhares de milhoes de exemplos disso na net, e realmente tem, porém eu estarei dando as MELHORES DICAS, mostrando as MELHORES ENGINES e principalmente respondendo às MAIORES DÙVIDAS.
Para começar, Usaremos um GM que funciona, a versão 6.1.
Para quem ainda não tem baixe aqui.
Eu não estarei ensinando GM aqui. Nossas lições estarão focadas no desenvolvimento Online.
Então, se você ainda não sabe como colocá-lo no modo avançado, criar sprites, Objects, Rooms, e principalmente Scripts, acho melhor começar seu aprendizado em outros tutoriais.
Para os mais curiosos, saibam que irei ensinar:
Criando Clients e Servers
Enviando/Recebendo Dados
Criando um Chat
Criando o primeiro game com movimento
Banco de dados - Básico
DB - Criando um sistema de Login
DB - Iniciando um game com Conta
DB - Criando um MMO básico
Eu pretendo que os itens acima sejam só o começo. Como todos sabem, meu tempo é meio curto, e estou tentando me decidar ao máximo para que todos possam, como eu, se maravilhar com o GM.
Até a próxima Lição.
Mais uma vez eu começo uma aula com muita teoria. Porém, a teoria é extremamente indispensável no desenvolvimento, por isso devemos sempre nos focar nela. Vamos lá.
A maioria dos makers quer fazer um jogo online. Procuram engines e mais engines para não perderem tempo com desenvolvimento, para que seu jogo possa ser lançado o mais rápido possível. Porém, a maioria deles não tem a mínima idéia de como funciona a comunicação via TCP/IP e porque o jogo precisa de um servidor, entre outras coisas.
Então vamos começar do início.
Toda vez que você, no seu computador, abre o Client(aplicação EXE do seu jogo) do seu Ragnarok, e tenta "Logar" no servidor, o que acontece...
Seu PC, estando conectado à internet por qualquer meio (Modem, ADSL, Cable, 3G, Etc...) faz com que o mesmo possua um IP.
Quando fazemos qualquer coisa na Internet, abrimos uma página, conversamos no MSN, ou qualquer outra coisa, seu computador e os computadores espalhados pela nuvem que é a internet trocam informações, e para isso serve o IP.
O IP é uma chave, que torna sua conexão com a internet unica para que não haja conflito durante a "conversa" entre o seu computador e a Net.
Quando você tenta logar no seu jogo favorito, você está enviando informações pela rede e aguardando respostas da mesma. Por esse motivo é chamado de Comunicação, pois sua máquina fala e ouve, e todas as máquinas na rede ouvem e respondem.
Mas o que fazer jogos online e isso dae de cima tem a ver?? TUDO !!
Quando você tenta se logar, você envia uma pergunta ao servidor do jogo, que por padrão já possui um IP/porta que ele deve acessar na rede e, quando ele acessa o mesmo, dentro daquela máquina há um aplicativo que todos chamam de server, o Listener.
Mas que raios é um Listener??
Listener é a aplicação que, através de uma configuração TCP/IP de IP e Porta, está "Ouvindo" aquela porta. Ouvindo sim, ela está aguardando chegar alguma coisa ali, para que ela possa interpretar e, se interpretado, devolver uma resposta a quem perguntou.
Ao tentar logar, o seu Client envia uma pergunta para aquele IP/Porta, aguardando que, do lado de lá, haja um Listener, que vai ouvir a pergunta, interpretar, e responder para o seu Client "Seja bem vindo Fulano !!" se ele te reconhecer ou "Você não possui usuário e senha aqui seu atoa" se ele não te reconhecer.
Então pense neste Fluxo:
O que a sua aplicação Client deve fazer??
Efetuar conexão com o Listener
Enviar dados para ele
- Receber dados dele
trabalhar os dados recebidos
O que o seu server(Listener) deve fazer??
Aguardar conexões de Clients
Ouvir o que foi perguntado
responder para os N clients conectados as perguntas feitas
Compartilhar dados entre os Clients
Tudo bem, não entendi nada do que você disse, e agora??
Se você entendeu os dois ultimos itens, já é um começo. Será a partir deles que vamos começar o desenvolvimento de um jogo Online simples, para ser jogado por duas pessoas(um Pong) e iremos evoluindo até o início de um MMO básico.
Várias pessoas podem dizer que existem milhares de milhoes de exemplos disso na net, e realmente tem, porém eu estarei dando as MELHORES DICAS, mostrando as MELHORES ENGINES e principalmente respondendo às MAIORES DÙVIDAS.
Para começar, Usaremos um GM que funciona, a versão 6.1.
Para quem ainda não tem baixe aqui.
Eu não estarei ensinando GM aqui. Nossas lições estarão focadas no desenvolvimento Online.
Então, se você ainda não sabe como colocá-lo no modo avançado, criar sprites, Objects, Rooms, e principalmente Scripts, acho melhor começar seu aprendizado em outros tutoriais.
Para os mais curiosos, saibam que irei ensinar:
Criando Clients e Servers
Enviando/Recebendo Dados
Criando um Chat
Criando o primeiro game com movimento
Banco de dados - Básico
DB - Criando um sistema de Login
DB - Iniciando um game com Conta
DB - Criando um MMO básico
Eu pretendo que os itens acima sejam só o começo. Como todos sabem, meu tempo é meio curto, e estou tentando me decidar ao máximo para que todos possam, como eu, se maravilhar com o GM.
Até a próxima Lição.