Entrar
Últimos assuntos
» Retorno da GMBR!!!por theguitarmester Ter 19 Mar 2024, 22:38
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42
» 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
» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16
» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05
» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55
» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39
» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28
» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01
[Dúvidas - GMS] Delta_Time, Networking, Física
3 participantes
Página 1 de 1
[Dúvidas - GMS] Delta_Time, Networking, Física
Ola pessoas, depois de muito, mas muito tempo, estou retornando aos estudos na programação de jogos (fiquei todos esses meses/anos sem um PC ).
Enfim, já pesquisei aqui no fórum mas não foi o suficiente para sanar minhas duvidas. Vou relatar cada caso abaixo:
Variável "delta_time":
Como sempre fui apegado ao estudo de aplicações online/remota precisava utilizar essa variável para multiplicar um fator de velocidade em movimentos. Como acontece no unity 3D [ velocidade * time.DeltaTime ].
Mas a do GMS não é tão simples pois ele calcula milionésimo de segundos de um frame ao outro. Em uma versão para o GM 8, um amigo (do qual não me recordo agora) disponibilizou a seguinte situação:
//create event - iniciar as variaveis
tempoAntigo = current_time
FPS = 30
//Step Event
deltaTempo = (current_time - tempoAntigo)/FPS
tempoAntigo = current_time
speed = vel *deltaTempo
Essa formula obtém-se um resultado harmônico e agradável, mas não ficou claro de o porque da variável FPS = 30, percebi que não da pra colocá-la relativa a room_speed (em teste de variações dinâmica do room_speed).
Mesmo assim ainda gostaria de saber como usar a variável nativa do GM-S.
Networking. Aqui me refiro ao multiplayer do GM-S:
Primeiramente não consegui ainda achar uma versão daquele tutorial da yoyogames para estudar os códigos. Mas isso seria apenas para solucionar um problema que estou tendo.
Criei o servidor e o Cliente, e consigo fazer a conexão inicial do cliente, mas após usar o "Buffer" eu não consigo reutilizar novamente, ou seja, se eu for conectar um segundo Cliente, ele acusa erro na variável que escolhi para ser o Buffer.
Tentei dar um buffer_create() antes de cada caso, e um buffer_delete() após usar. Mas sem resultados.
Em meio disso percebi que não assimilei direito quando usar cada função de buffer a seguir:
buffer_tell()
buffer_sizeof()
buffer_get_size()
Pelo que entendi, o buffer_tell() fala sobre posição, o que tecnicamente é diferente de "ser5 o tamanho em bytes" do buffer. isso os outros dois já fazem.
e por ultimo é se alguém tem algo que ajude a criar um objeto que responde a física do jogo porem que seja composto de um esqueleto. Como exemplo um boneco, se ele for atingido na cabeça, essa reage primeiramente porem os outros membros do corpo vai herdando o movimento (de forma relativa).
Enfim, já pesquisei aqui no fórum mas não foi o suficiente para sanar minhas duvidas. Vou relatar cada caso abaixo:
Variável "delta_time":
Como sempre fui apegado ao estudo de aplicações online/remota precisava utilizar essa variável para multiplicar um fator de velocidade em movimentos. Como acontece no unity 3D [ velocidade * time.DeltaTime ].
Mas a do GMS não é tão simples pois ele calcula milionésimo de segundos de um frame ao outro. Em uma versão para o GM 8, um amigo (do qual não me recordo agora) disponibilizou a seguinte situação:
//create event - iniciar as variaveis
tempoAntigo = current_time
FPS = 30
//Step Event
deltaTempo = (current_time - tempoAntigo)/FPS
tempoAntigo = current_time
speed = vel *deltaTempo
Essa formula obtém-se um resultado harmônico e agradável, mas não ficou claro de o porque da variável FPS = 30, percebi que não da pra colocá-la relativa a room_speed (em teste de variações dinâmica do room_speed).
Mesmo assim ainda gostaria de saber como usar a variável nativa do GM-S.
Networking. Aqui me refiro ao multiplayer do GM-S:
Primeiramente não consegui ainda achar uma versão daquele tutorial da yoyogames para estudar os códigos. Mas isso seria apenas para solucionar um problema que estou tendo.
Criei o servidor e o Cliente, e consigo fazer a conexão inicial do cliente, mas após usar o "Buffer" eu não consigo reutilizar novamente, ou seja, se eu for conectar um segundo Cliente, ele acusa erro na variável que escolhi para ser o Buffer.
Tentei dar um buffer_create() antes de cada caso, e um buffer_delete() após usar. Mas sem resultados.
Em meio disso percebi que não assimilei direito quando usar cada função de buffer a seguir:
buffer_tell()
buffer_sizeof()
buffer_get_size()
Pelo que entendi, o buffer_tell() fala sobre posição, o que tecnicamente é diferente de "ser5 o tamanho em bytes" do buffer. isso os outros dois já fazem.
e por ultimo é se alguém tem algo que ajude a criar um objeto que responde a física do jogo porem que seja composto de um esqueleto. Como exemplo um boneco, se ele for atingido na cabeça, essa reage primeiramente porem os outros membros do corpo vai herdando o movimento (de forma relativa).
Re: [Dúvidas - GMS] Delta_Time, Networking, Física
Bom sobre as funções de buffer_sizeoff() buffer_get_size() e buffer_tell() uma (re)leitura com maior atenção já me respondeu o que exatamente cada uma faz.
Mas as outras duvidas ainda permanecem, se alguém puder me ajudar seria eternamente grato. =]
Mas as outras duvidas ainda permanecem, se alguém puder me ajudar seria eternamente grato. =]
Re: [Dúvidas - GMS] Delta_Time, Networking, Física
Veja:
http://gmc.yoyogames.com/index.php?showtopic=556480
Em breve faremos uma tradução do tutorial.
http://gmc.yoyogames.com/index.php?showtopic=556480
Em breve faremos uma tradução do tutorial.
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:
Re: [Dúvidas - GMS] Delta_Time, Networking, Física
PedroX escreveu:Veja:
http://gmc.yoyogames.com/index.php?showtopic=556480
Em breve faremos uma tradução do tutorial.
Muito obrigado PedroX, isso já me adianta. Sobre Networking ou sobre onde encontrar o tutorial/engine da gmc.yoyogames sobre o assunto ?
Re: [Dúvidas - GMS] Delta_Time, Networking, Física
A tradução do tutorial do link.
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:
Re: [Dúvidas - GMS] Delta_Time, Networking, Física
Não existe muita coisa ou documentação certa explicando como usar a variável delta_time do GMS mas a algum tempo atras numa madrugada eu perdi alguns minutos da minha vida pra entender e pode utilizar essa variável da maneira mais simples possível na minha opinião é claro.
No meu caso eu crio um objeto e coloco no create:
No Begin Step desse mesmo objeto eu coloco:
Depois disso é só utilizar dessa forma por exemplo:
No meu caso eu crio um objeto e coloco no create:
- Código:
globalvar delta;
delta = 1;
No Begin Step desse mesmo objeto eu coloco:
- Código:
delta = delta_time * .0001
Depois disso é só utilizar dessa forma por exemplo:
- Código:
x += 2*delta
gabrielsch- Games Ranking :
Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Reputação : 28
Número de Mensagens : 1230
Prêmios :
x 0 x 0 x 0
x 1 x 2 x 0
x 1 x 0 x 0
Re: [Dúvidas - GMS] Delta_Time, Networking, Física
gabrielsch escreveu:Não existe muita coisa ou documentação certa explicando como usar a variável delta_time do GMS mas a algum tempo atras numa madrugada eu perdi alguns minutos da minha vida pra entender e pode utilizar essa variável da maneira mais simples possível na minha opinião é claro.
No meu caso eu crio um objeto e coloco no create:
[...]
Nossa me sinto envergonhado por não ter pensado nisso
Como o tempo resultante era um fator de segundo em milionésimo (eu acho) é só eu multiplicar mesmo e ter um valor decente ¬¬
Mesmo assim agradeço muito.
Sobre o Networking, estava reparando e estou usando uma versão 1.99 (early-acess), que deve ser a mesma disponível no site (não foi de lá que baixei). Logo ele apenas permite apenas uma conexão remota.
Pensava eu estar usando uma versão "Paralela" da Master Collection.
Mesmo assim fica algo sem resposta, por que ele não da erro apenas no segundo cliente, e sim no servidor também. Já que tenho um script para informar um novo jogador e informar quando um jogador foi desconectado, logo, o "BUFFER" é utilizado duas vezes, acusando erro na segunda.
Se alguém souber me ajudar não se acanhe
Re: [Dúvidas - GMS] Delta_Time, Networking, Física
Qual o código que tu usa pra utilizar o buffer que ta acusando erro? Suponho que tu queira vários clientes conectados a um servidor e não uma conexão P2P.
gabrielsch- Games Ranking :
Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Reputação : 28
Número de Mensagens : 1230
Prêmios :
x 0 x 0 x 0
x 1 x 2 x 0
x 1 x 0 x 0
Re: [Dúvidas - GMS] Delta_Time, Networking, Física
gabrielsch escreveu:Qual o código que tu usa pra utilizar o buffer que ta acusando erro? Suponho que tu queira vários clientes conectados a um servidor e não uma conexão P2P.
Sim, para ser exato o servidor também é client.
O Código que da erro aparentemente é quando vou setar/escrever novamente no buffer.
Pois uso buffer_seek() e buff_write() e apesar de o erro não acusar qual linha é o problema, ele diz que a variavel (usada como BUFFER) não existe. Isto é, o código funciona uma primeira vez apenas.
Tópicos semelhantes
» [Fisica] Questões sobre fisica
» [Duvidas]Algumas duvidas que estou querendo respostas
» [Dúvida] GMS Networking - Servidores
» Networking
» game maker studio networking
» [Duvidas]Algumas duvidas que estou querendo respostas
» [Dúvida] GMS Networking - Servidores
» Networking
» game maker studio networking
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|