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
» player não consegue andar
por lovn7 Qui 21 Nov 2024, 13:33

» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


Jogos Online

4 participantes

Ir para baixo

Jogos Online Empty Jogos Online

Mensagem por PedroX Sex 23 Dez 2011, 15:39

Jogos Online

Requerimentos: Ainda nenhum.

É o inicio de uma série de tutoriais sobre jogos online. Você aprenderá a criar contas, logar, deslogar, movimentar, etc.

Para começar, vamos dizer que os jogos online se baseiam em mensagens.

O que são e para que servem as mensagens?

Cada player manda mensagens para o servidor, que repassa as mesmas para todos os outros players. Por que eles trocam mensagens? Para comunicar que eles estão fazendo alguma coisa, como andar ou pular. Em cada máquina, há um clone para cada jogador. Esses clones vão reproduzir o que os players estão fazendo nas suas máquinas.

Cada mensagem terá um número que a represente. Esses números geralmente são gravados em constantes. Por exemplo, a mensagem de movimento pode ser uma constante msg_move. Essa constante terá um valor numérico. Os valores nunca podem ser iguais, pois assim uma mensagem seria igual a outra e geraria problemas na interpretação das mesmas.

Como definir uma constante?
Vá no menu Resources e clique em Define Constants.
Você verá uma tabela, onde poderá adicionar os nomes e valores das constants.
Durante os tutoriais, o nome e valor ficarão ao seu critério.

Resumo: Aprendemos que mensagens são uma forma de os jogadores dizerem o que estão fazendo, para que seus clones reproduzam seus passos. Cada constante tem um valor inalterável e identifica uma mensagem.

Envio de mensagens

- Cliente para cliente:
Vantagens: a conexão é mais rápida, a programação é mais simples.
Desvantagens: só podem jogar duas pessoas o mesmo jogo.

- Cliente para servidor para cliente:
Vantagens: mais controlável (pode ter moderadores), mais jogadores.
Desvantagens: conexão mais lenta, programação mais complexa.

Tópico atualizado.

Vamos ver algumas informações sobre a 39dll.

Criador: Luke Graham
Detalhes: Por ser a melhor e mais rápida do gênero, a 39dll é altamente recomendada para a criação de jogos online no Game Maker.
Página: http://gmc.yoyogames.com/index.php?showtopic=90437

Agora, vamos ver como ela funciona.

Existem diferentes tipos de dados que podem ser enviados. Sendo os mais comuns:
Byte (0 a 255)
Short (-32768 a +32767) 2 bytes
Unsigned Short (0 a 65535) 2 bytes
Integer (-2147483648 a +2147483647) 4 bytes
Unsigned Integer (0 a +4294967295) 4 bytes
Float (-2147483648 a +2147483647) Incluindo números quebrados.
Double (-9223372036854775808 a +9223372036854775807) Incluindo float.
Character ('A', 'b', 'c', 'D', '8', '1')
String ('ABC', 'Meu nome', 'Game Maker', 'senha123')

Cuidado ao fazer essa escolha.

Vamos a um exemplo. Se você tiver um limite de download de 128 KB/s, você pode baixar 131072 B/s. Agora pense que, por exagero do programador, cada player mande 50 bytes por step, com 60 step/s isso totaliza 3000 B/s. Você poderia ter no máximo 40 players rodando. Com certeza, nesse caso você teria lentidão, pois a sua conexão ficaria sobrecarregada. Isso sem considerar que você navegasse na internet.

No próximo tutorial já iremos ver como criar um sistema de cadastro e outro de movimento.


Última edição por Pedrø em Sex 23 Dez 2011, 17:31, editado 1 vez(es)

_________________


Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.

Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.

Aprenda a calcular a velocidade de suas animações


Entre para o Clube do Inglês:
PedroX
PedroX

Games Ranking : Nota B

Notas recebidas : C+B
Data de inscrição : 26/07/2008
Reputação : 311
Número de Mensagens : 6087
Prêmios : Jogos Online Empty

Medalhas x 0 Tutoriais x 17 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

https://web.whatsapp.com/send?phone=5519995935953&text=Pedro

Ir para o topo Ir para baixo

Jogos Online Empty Re: Jogos Online

Mensagem por fonetico Sex 23 Dez 2011, 15:49

Ótimo Pedro. Daqui há alguns meses eu estava com um planejamento para um jogo online porque quero definir minha carreira (administração ou programação) e o GM é o meu primeiro passo. Suas aulas vão dar um pé na roda.

Só uma pergunta: Que tipo de sistema você vai usar pra implantar? mplay ou 39 dll?

E outra: Usando o mplay, ainda é possívvel estabelecer conexão com outro computador nos dias de hoje com firewalls e talz? Teria que usar um hamachi e fazer uma rede local?
fonetico
fonetico

Data de inscrição : 05/10/2009
Reputação : 7
Número de Mensagens : 1830
Prêmios : Jogos Online 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

Jogos Online Empty Re: Jogos Online

Mensagem por Mr.Brum Sex 23 Dez 2011, 15:50

Excelente tuto.
Mas acredito eu que seje possível enviar mensagens: clientexcliente ,com mais de 2players.E assim dividiria a carga do server.
A desvantagem, é que haveriam muito mais comunicação, do que o outro modo, que é o serverxcliente,o que poderia deixar o jogo mais lento para o player..
Mr.Brum
Mr.Brum

Games Ranking : Nota C

Notas recebidas : D + D + C + C + D + B
Data de inscrição : 28/04/2011
Reputação : 41
Número de Mensagens : 915
Prêmios : Jogos Online Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

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

http://mrbrumgames.blogspot.com/

Ir para o topo Ir para baixo

Jogos Online Empty Re: Jogos Online

Mensagem por fonetico Sex 23 Dez 2011, 15:53

mrbrum22 escreveu:Excelente tuto.
Mas acredito eu que seje possível enviar mensagens: clientexcliente ,com mais de 2players.E assim dividiria a carga do server.
A desvantagem, é que haveriam muito mais comunicação, do que o outro modo, que é o serverxcliente,o que poderia deixar o jogo mais lento para o player..

Eu tinha uma idéia parecida Razz Tipo, uma conexão direta com o servidor, ai o servidor direcionava vc para outro player e a conexão ficava entre os dois apenas, ai depois que um "ganhasse" a informação voltava para o servidor, sem sobrecarregá-lo... O problema é que é mais fácil burlar o sistema ...
fonetico
fonetico

Data de inscrição : 05/10/2009
Reputação : 7
Número de Mensagens : 1830
Prêmios : Jogos Online 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

Jogos Online Empty Re: Jogos Online

Mensagem por Mr.Brum Sex 23 Dez 2011, 16:04

@fonetico: Realmente.
Eu já fiz um jogo online no gm, usando a 39dll e muitos tutos da net.
Porém, deu pra perceber como fica lento o servidor caseiro.
Por isso, passei a pensar em jogos online,onde o player loga no server,e depois toda a comunicação do jogo passa a ser entre Players.
Seguro,não é, mas para quem não tem um server dedicado, seria a melhor saída.
A minha birutice idéia vai mais além, pois eu queria fazer a comunicação Playerxserver inicial através de html e php,pra hospedar o server em forma de site.
Ainda não fiz experimentos,preciso elaborar um plano ainda.
Mas seria algo realmente interessante.



Mr.Brum
Mr.Brum

Games Ranking : Nota C

Notas recebidas : D + D + C + C + D + B
Data de inscrição : 28/04/2011
Reputação : 41
Número de Mensagens : 915
Prêmios : Jogos Online Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

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

http://mrbrumgames.blogspot.com/

Ir para o topo Ir para baixo

Jogos Online Empty Re: Jogos Online

Mensagem por PedroX Sex 23 Dez 2011, 17:33


Só uma pergunta: Que tipo de sistema você vai usar pra implantar? mplay ou 39 dll?

E outra: Usando o mplay, ainda é possível estabelecer conexão com outro computador nos dias de hoje com firewalls e talz? Teria que usar um hamachi e fazer uma rede local?
Vou usar a 39DLL, por ser bem mais rápida.
Acredito que é possivel sim, pois o firewall vai perguntar se você aceita, aí é só confirmar.

Estou escrevendo a segunda parte. Espero não demorar muito para terminar a série toda. Estou pensando em fazer também um arquivo de ajuda (help), para facilitar mais ainda. E vou fazer scripts para facilitar as coisas. Mas tudo isso depois dos tutoriais.

Tópico atualizado.

Até mais!

_________________


Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.

Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.

Aprenda a calcular a velocidade de suas animações


Entre para o Clube do Inglês:
PedroX
PedroX

Games Ranking : Nota B

Notas recebidas : C+B
Data de inscrição : 26/07/2008
Reputação : 311
Número de Mensagens : 6087
Prêmios : Jogos Online Empty

Medalhas x 0 Tutoriais x 17 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

https://web.whatsapp.com/send?phone=5519995935953&text=Pedro

Ir para o topo Ir para baixo

Jogos Online Empty Re: Jogos Online

Mensagem por irlansn Dom 05 Fev 2012, 23:18

Num vale, estava desenvolvendo a mesma ideia computador ! kkkkkk...
Eu já tava até testando a engine: prova! Se quiser ajuda estou a disposição! Happy Rolling Eyes


Bom, ficou muito Bom! feliz2

EDITE:
mrbrum22 escreveu:Excelente tuto.
Mas acredito eu que seje possível enviar mensagens: clientexcliente ,com mais de 2players.E assim dividiria a carga do server.
A desvantagem, é que haveriam muito mais comunicação, do que o outro modo, que é o serverxcliente,o que poderia deixar o jogo mais lento para o player..
Nunca se deve ter uma conexão cliente X cliente, e por vários motivos:
  1. Um deles terá que precisa organizar os códigos e enviar para os outros jogadores! O que seria a função do server, mas qual? E se o escolhido ficar off, todos os outros terão que sair do jogo?
  2. Mensagens de cliente para cliente provocaram uma enorme confusão nas mensagens:
    Jogos Online 21395694
  3. A internet de qualquer pessoa é muito mais potente recebendo do que enviando dados uma conexão cliente X cliente fará com que os clientes enviem mensagens muito mais do que enviarião em uma conexão cliente X server. Por isso o server tem que ser um computador de alta potencia e uma boa banda larga!
  4. Em resumo uma conexão cliente X cliente provocaria lags com muito mais facilidade do que uma conexão cliente X server!

Não é recomendado e os códigos seriam diferentes, mas da sim para fazer uma conexão cliente X cliente, é bem alertar que nesse caso não seria cliente X cliente e sim Server X Server, pois todos passariam a ser serves!
irlansn
irlansn

Games Ranking : Nota C

Notas recebidas : B+D
Data de inscrição : 18/01/2011
Reputação : 5
Número de Mensagens : 482
Prêmios : Jogos Online 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

Jogos Online Empty Re: Jogos Online

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