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
» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18

» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30

» Como ajustar velocidade de cada frame da animação no game maker
por Ralphed Qui 18 Abr 2024, 18:28

» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07

» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45

» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51

» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31

» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11

» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39


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