Conectar-se

Esqueci minha senha

Últimos assuntos
» [Enquete] Concursos GMBR
por Willy Ontem à(s) 19:49

» CR - Concurso Relâmpago!!
por Willy Ter 18 Jul 2017, 17:11

» 3D:como rodar a camara em horizontal?
por Cambalinho Ter 18 Jul 2017, 15:09

» [Resolvido] pode explicar a d3d_set_projection()?
por Cambalinho Ter 18 Jul 2017, 11:28

» Escrever a resposta certa muda de room
por PedroX Seg 17 Jul 2017, 21:46

» Nota de esclarecimento - GMBR voltou!
por Mentos e Coca-cola Seg 17 Jul 2017, 17:05

» [CR] Campo Minado
por Katerp Dom 16 Jul 2017, 23:09

» [CR] The Bazooka Cat
por Tedi Ripper Dom 16 Jul 2017, 23:01

» Como melhorar um protótipo(Design)
por lolandoplayer Dom 16 Jul 2017, 22:56

» Diminuir velocidade ao arrastar objeto
por LwysF Dom 16 Jul 2017, 17:33

Quem está conectado
17 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 16 Visitantes

Willy

[ Ver toda a lista ]


O recorde de usuários online foi de 324 em Ter 05 Out 2010, 13:36
Estatísticas
Temos 12700 usuários registrados
O último usuário registrado atende pelo nome de Eduardo Gomes

Os nossos membros postaram um total de 220919 mensagens em 30412 assuntos

Duvida Global var em Multiplayer

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Duvida Global var em Multiplayer

Mensagem por lucazn1 em Dom 26 Fev 2012, 15:34

Galera estou com mais uma duvida, mas essa é bem simples... (pelo menos eu acho)
Se eu usar uma "variavel global" (global.var) em um game multiplayer, ela ira funcionar somente no jogo do fulano, ou afetara todos presentes no server ?
obs. Ainda nao estou mexendo com multiplayer, é só uma duvida mesmo Happy

lucazn1

Data de inscrição : 25/02/2012
Número de Mensagens : 30
Insígnias de JAM :

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Duvida Global var em Multiplayer

Mensagem por Super Maker em Dom 26 Fev 2012, 15:53

Amigo com certesa, se o jogo que os players estiverem jogando for o mesmo e eles estiverem na mesma sessão, cada um vai ter o poder de mudar o valor das variaveis globais de acordo com as regras do jogo.
avatar
Super Maker

Data de inscrição : 09/07/2011
Número de Mensagens : 646
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Duvida Global var em Multiplayer

Mensagem por lucazn1 em Dom 26 Fev 2012, 17:29

Hmm entendi, porem sua explicação me gerou outra duvida bem complexa...
Mas uma forma resumida da minha duvida complexa é a seguinte...
Eu crio um jogo em que a primeira "room" é uma tela de login, apos o jogador se conectar com o servidor, ele ira para proxima "room" e o obj_player dele sera criado.
Eu sei que cada obj no game maker tem sua ID, e que as variaveis criadas por cada obj é distinta, porem se eu ja ouver um jogador no server e outro se conectar, o game maker ira criar o obj com o mesmo ID ou com um ID diferente para cada obj ?
(Apesar de parecer eu eu respondi minha propria pergunta, a duvida continua...) Razz

lucazn1

Data de inscrição : 25/02/2012
Número de Mensagens : 30
Insígnias de JAM :

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Duvida Global var em Multiplayer

Mensagem por Thomaz em Dom 26 Fev 2012, 23:04

Não, não é tão simples assim.

Sobre as variáveis globais: Elas só existem e só são modificadas de acordo com cada jogo SEPARADO.

Sobre o id: Eu recomendo que você crie um sistema próprio de Id para os seus objetos players.
avatar
Thomaz

Ranking : Nota A
Notas recebidas : A
Data de inscrição : 13/10/2011
Número de Mensagens : 106
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário http://bigleafeater.tumblr.com/

Voltar ao Topo Ir em baixo

Re: Duvida Global var em Multiplayer

Mensagem por PedroX em Dom 26 Fev 2012, 23:10

Como disse o Thomaz, só serve para o jogo local.

No entanto, você pode modificar o valor da variável do jogo Cliente1 para o valor da variavel do jogo Cliente2.

Você deve enviar uma mensagem dizendo que vai mudar a variavel, com o valor.

Depois receber e mudar.

PedroX

Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6036
Insígnias de JAM :

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

Prêmios
   :
   :
   :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Duvida Global var em Multiplayer

Mensagem por Thomaz em Dom 26 Fev 2012, 23:13

Sim, sim. As mensagens são a forma de interação entre os jogos.

E estas malditas me dão dor de cabeça.

Mas para o sistema de id eu não recomendo que seja utilizado variáveis globais e sim uma array ok?(facilita o serviço bastante)
avatar
Thomaz

Ranking : Nota A
Notas recebidas : A
Data de inscrição : 13/10/2011
Número de Mensagens : 106
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário http://bigleafeater.tumblr.com/

Voltar ao Topo Ir em baixo

Re: Duvida Global var em Multiplayer

Mensagem por lucazn1 em Seg 27 Fev 2012, 00:45

Então pelo que eu entendi, o server funcionaria como uma "ponte" (sim, eu ja sabia disso), e com isso eu consigo a comunicação entre os jogadores, porem cada jogo funciona de modo distinto, mas oq eu quero saber se é possivel fazer algo mais complexo... (é logico que sim Razz)
O que eu quero é que o meu servidor seja responsavel por toda grande parte da programação do jogo (funções/variaveis/comandos) e no caso o "jogo/programa" seria somente o conteudo "bruto" do todo o game (sons/imagens).
Ou seja, em vez dele só fazer a comunicação entre os jogadores, seria como se ele executa-se o jogo e fosse o responsavel por todos os eventos do game... (Assim como é feito com os mmorpg's e com a maioria dos jogos com multiplayer online)

lucazn1

Data de inscrição : 25/02/2012
Número de Mensagens : 30
Insígnias de JAM :

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Duvida Global var em Multiplayer

Mensagem por PedroX em Seg 27 Fev 2012, 11:05

Nesse caso, você poderia fazer o servidor possuir as variáveis e tudo mais (o pc do servidor ia ficar lento).

Depois, de acordo com o input do usuário, manda-se para o servidor os eventos (teclado, mouse, fechar jogo). O servidor move o player, retornando somente a sua posição, sprite (caso algo não deixe ele andar, não vai mudar), e ele só altera isso.

No que você precisa de ajuda?
Não entendeu algo especifico?

PedroX

Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6036
Insígnias de JAM :

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

Prêmios
   :
   :
   :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Duvida Global var em Multiplayer

Mensagem por lucazn1 em Seg 27 Fev 2012, 13:15

É exatamente isso que eu quero! Smile Estou um pouco mais "sabido" agora...
Então, oq eu teria que fazer seria um programa-client e um programa-server, o server iria conter as informações, e o client (apos se conectar com o servidor e o servidor chegar se é mesmo um jogo e se a versão corresponde) iria mandar mensagens dizendo quando o player executa algo(aperta uma tecla, etc), logo o servidor retornaria com uma ação...
Por favor corriga algo ai em cima se estiver errado, (mas pelo que entendi foi isso)
Outra duvida agora é...
Conforme você disse,
o pc do servidor ia ficar lento
porem isso seria em um pc normal certo ?
Eu pretendo alugar uma maquina so para manter o servidor (host) e ai acredito eu que nao teria esse problema, correto ?
Outras duvidas que tenho são:
Seria melhor eu criar os dois programas (ou 1 ou um 1 meio,kkk) em C++ ou o GM da conta ?
Se o meu jogo for "desenhado" com tileset... É possivel que o servidor desenhe o "level" no client ? Ou seria melhor o client ja ter pronto ?
E sobre save/banco de dados... Como eu faria para salvar o jogo ? (De quanto em quanto tempo) Eu poderia fazer o servidor "salvar" a cada X steps ou a uma(s) ação(ões) especifica(s) do player ? (Talvez os dois... Lembrando de lag/riscos de informações nao salvas)

lucazn1

Data de inscrição : 25/02/2012
Número de Mensagens : 30
Insígnias de JAM :

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Duvida Global var em Multiplayer

Mensagem por PedroX em Seg 27 Fev 2012, 13:20

Talvez o servidor possa ser feito em C++.
O cliente pode ser feito no GM, porque não fará muita diferença.

Use os tiles no cliente.

Salve o jogo assim que o servidor perder a conexão com o cliente.

Só que se der pau no servidor, corre risco.

PedroX

Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6036
Insígnias de JAM :

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

Prêmios
   :
   :
   :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Duvida Global var em Multiplayer

Mensagem por lucazn1 em Seg 27 Fev 2012, 13:37

O Pedro, vlw mesmo cara, me ajuda pakas. Very Happy
E ao Thomaz e o Super Maker tb, levam meu thanks Happy
Só mais uma duvida... Como eu não tenho conhecimento com C++ (estou pensando em começar um curso) Se eu fiz o server no GM, tem como eu passar para o C++ somente alterando os comandos ? (Se eu aproveitar 30% ja ta bom)

~EDIT~

Estava eu aqui pensando... E surgiu mais duvidas Razz
1-Se o save acontecer somente quando o player se desconectar, logo o player tera que conter algumas das var armazenadas. Isso não seria um problema ? Pois simplesmente usando um programa como "cheat engine" ele pode alterar o valor da var antes de sair, e logo que sair o server salvara a nova var alterada.
2-Teria como eu fazer algo como:
Spoiler:
Server-Se o(s) jogador(es) entrar na room1 e inimigos_criados_room1!=1 então criar inimigo1 x y;jogadores_na_room1+=1;inimigos_criados_room1=1
Caso inimigo1 nao existir na room1, mas há jogador, entao inimigo_derrotado_room1=1
um wait no inimigos_criados_room1... (pra nao criar sempre q o inimigo não existir)
Caso jogador nao existir na room1, entao jogadores_na_room1=0,del inimigo1, Caso wait(alarme) ja tenha sido ativado, inimigos_criados_room1=0
Bem simples, eu sei que falta algumas coisa, mas se fosse por tudo, ia ficar até amanhã Razz


Última edição por lucazn1 em Seg 27 Fev 2012, 14:24, editado 1 vez(es) (Razão : Mais duvidas...)

lucazn1

Data de inscrição : 25/02/2012
Número de Mensagens : 30
Insígnias de JAM :

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum