Conectar-se
Quem está conectado
20 usuários online :: 2 usuários cadastrados, Nenhum Invisível e 18 Visitantes

CRP-Max, Marlene Capeta

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 18/08/2010
Número de Mensagens : 414
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

World generator!

em Sab 28 Jul 2012, 23:59
Eu estava querendo fazer um game online(já estou estudando 39DLL), eu queria fazer que um objeto controle gerace uma arena.
Ta bom, deixe-me explicar:
O jogo online que estou querendo fazer e de tiro, que antes quando todos os jogadores ativacem o botão "Pronto", o jogador principal(que e o server) envia uma mensagem para os clientes dizendo que o mundo esta sendo gerado. Ate ai esta ok, já consigo ate ai.
Mas agora que vem a parte que eu apanhei. Mad
Eu não sei fazer com que o mundo seja criado dee jeito nenhum.
Para enviar a arena para os clientes eu tento arrumar um jeito, caso eu não consiga..., ja sabe né? Razz
Agradeço desde já.
avatar
Ranking : Nota A
Notas recebidas : A+A
Data de inscrição : 20/03/2010
Número de Mensagens : 1134
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 108

Prêmios
   : 1
   : 0
   : 1
Ver perfil do usuáriohttps://www.facebook.com/seito.washiro.7

Re: World generator!

em Dom 29 Jul 2012, 00:08
temos que saber como seu mundo é gerado, para enviar as coordenadas dos objetos desse mundo para os jogadores, para que eles repitam o mesmo passo que o servidor, e gere um mapa igual.
avatar
Data de inscrição : 18/08/2010
Número de Mensagens : 414
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: World generator!

em Dom 29 Jul 2012, 00:15
Não e isso ¬¬'.
Alias não tem como eu dizer como meu mundo é gerado. Pois eu disse que não consigo de jeito nenhum. Rolling Eyes
Mas eu acho que so prescisaria enviar os dados do mundo gerado. E não gerar a mesma coisa em cada cliente.
Imagina você jogando com seu amigo com um PC lento e o seu PC gera a arena quase imediatamente. Tenho quase certeza que daria problema.
Acho que o add_object ajudaria.
Acho que num expliquei direito. Suspect
avatar
Ranking : Nota A
Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Número de Mensagens : 1229
Insígnias de JAM :

Insignia 1x 1 Insignia 2x 0 Insignia 3x 0
Reputação : 28

Prêmios
   : 1
   : 2
   : 0
Ver perfil do usuário

Re: World generator!

em Dom 29 Jul 2012, 07:39
 
Bem, se a geração do mundo é em 2D, você pode seguir essa lógica:

(!) Geração do mundo:
-> O servidor ao criar um bloco manda uma mensagem para os clientes;
|-> A mensagem pode ser para criar ou destruir um bloco, seguindo do seu X, Y, Image_index, etc...
-> Ao receber essa mensagem do servidor o cliente cria ou destrói o bloco de acordo com a mensagem recebida;

(!) Caso um cliente destrua ou crie um bloco:
-> O cliente irá mandar a mensagem para o servidor;
|-> A mensagem pode ser para criar ou destruir um bloco, seguindo do seu X, Y, Image_index, etc...
-> O servidor irá destruir ou criar o bloco de acordo com a mensagem recebida do cliente;
-> O servidor irá mandar uma mensagem para os outros clientes;
|-> A mensagem pode ser para criar ou destruir um bloco, seguindo do seu X, Y, Image_index, etc...
-> Os outros cliente irão destruir ou criar um bloco de acordo com a mensagem do servidor;

Acho que você consegue entender o que eu disse, tudo que o server faz ele deve mandar para os outros clientes para que eles façam o mesmo.
avatar
Data de inscrição : 18/08/2010
Número de Mensagens : 414
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: World generator!

em Dom 29 Jul 2012, 12:24
Bem, enviar dados do jeito que você disse e fácil.
Mas se eu estivesse usando o código do game maker (mplay) seria mais fácil ainda. O mplay foi um dos códigos mais fáceis que eu já vi.
Mas o problema que eu estou tendo, e com o gerador de mundo, pois não sei como programar ele.
avatar
Data de inscrição : 29/04/2011
Número de Mensagens : 33
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: World generator!

em Dom 29 Jul 2012, 13:29
mas o game é top view ou plataforma tipo terraria,e vc esta tendo problemas em criar a arena,ou em conseguir um sistema que crie a arena e envie ao mesmo tempo o que esta sendo criado para os clientes?
avatar
Data de inscrição : 18/08/2010
Número de Mensagens : 414
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: World generator!

em Dom 29 Jul 2012, 13:38
Plataforma tipo terraria, porem não sandbox(sandbox e o estilo do terraria, minecraft, etc...)
O problema e com gerador, poi eu quero aprender como fas.
O mais facil que eu acho que seria é:
O server enviar uma mensagem para os clientes dizendo que o mundo esta sendo gerado.
O server começa a gerar.
Quando terminado, ele envia os dados da arena para os clientes.
O jogo começa.
avatar
Data de inscrição : 29/04/2011
Número de Mensagens : 33
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: World generator!

em Dom 29 Jul 2012, 14:28
acredito que eu possa te ajudar na parte do gerador.

esse método que eu usei provavelmente não é o + eficaz,nem o + "leve,mas é o que eu sei agora,quem sabe vc possa aprimorar e criar um sistema mais rápido,eficaz e simples,mas fica aqui minha tentativa de ajudar:

vou usar um exemplo de uma room 1600x1600 pixeis,com blocos de 16x16

Código:
create:
y = 800 //a metade do tamanho da room
x = 0
max_horizontal = 100 //o tamanho vertical da room dividido pelo tamanho vertical do objeto
direcao = choose("cima","reto","baixo")
prencher = false
aser_prenchido = 16

step:
if max_horizontal <= 100 //empedir que crie coisa alem do tamanho horizozntal maximo da room
 {
  if prencher = false 
  {
    direcao = choose("cima","reto","baixo") //celeção aleatoria do terreno,se colocar + 1 "reto" e terreno vai ter - curvas.
    if direcao = "cima" { instance_create(x,y+16,obj_terra);y +=16;prencher = true;max_horizontal += 1 } 
    if direcao = "reto" { instance_create(x+16,y,obj_terra);x += 16;prencher = true;max_horizontal += 1 }
    if direcao = "baixo" { instance_create(x,y-16,obj_terra);t -=16;prencher = true;max_horizontal += 1 }
  {
  else
  { 
    if aser_prenchido <=800 //cria o resto do chão abaixo do bloco que foi criado,caso nao queira bloco até o
    {                            //y maximo da room,é só diminuit
      instance_create(x,y+aser_prenchido,obj_terra)
      aser_prenchido += 16
    }
    else
    {
      aser_prenchido = 16
      prencher = false
    }
    }
  }

Para repetir esse processo o + rapido possivel é só usar isso aqui :
meu ultimo topico

E utilizando esse sistema vc pode adicionar um sistema de destruição no teu jogo,e vc tbm pode adicionar no meio do código seguindo a mesma lógica,pequenos objectos,árvores,arbustos,pedras,ou fazer um sistema parecido que adicione construções,a parte online eu não posso nem tentar ajudar,pq não sei nada =/.

Espero que tenha ajudado,ou ao menos lhe dado uma ideia.
avatar
Data de inscrição : 18/08/2010
Número de Mensagens : 414
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: World generator!

em Dom 29 Jul 2012, 18:32
Código:
COMPILATION ERROR in code action
Error in code at line 10:
    else
    ^
at position 4: Unexpected symbol in expression.
So me faltava, essa. Sera que tem como consertar?
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum