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


[AJUDA?] Room 2000x2000 lagando

+5
cascavelo
Dr.XGB
RafaelCazarotto
Mário Valney
bimorx
9 participantes

Página 2 de 2 Anterior  1, 2

Ir para baixo

[AJUDA?] Room 2000x2000 lagando - Página 2 Empty Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por bimorx Sáb 09 Mar 2013, 19:22

E GENTE NÃO FALA LEG, LEG É PERNA EM INGLÊS, FALEM LAG COM A
TODO MUNDO FALA LEG N SEI PQ. :/

kkkkkkkkkkkkkkkkkkk, concordo, mas eu sempre falo LAG xD

...

bem, sim Lol-King, seria um modo muito mais trabalhoso porem com maior desempenho e jogabilidade, eu to fritando a cabeça em alguns topicos e videos no youtube, mas não faço a minima ideia de como aplicar mesmo grid em meu projeto, pois o player deveria reconhecer alguns objetos em volta dele mesmo para poder colidir e etc.. mas como checar "if distance_to_image(surface) < ## " ou algo do tipo... n tem como O.o a menos q eu usasse algo chamado get_pixel ou algo assim, mas isso ainda n conheço, to apenas tentando entender grid pra aplicar, mas se for preciso vou tentar entender o get_pixel D:

---
e Wallcraft, eu ja vi este topico :/ oq ele diz realmente ajuda bastante na programação em geral, porém não reduziu o lag do meu jogo, eu tenho 30 fps enquanto estou na superficie, quanto mais eu cavo pra baixo (mais instancias aparecem na tela) o fps cai pra 20, 16, 10, e vai só caindo quanto mais fundo, menos fps =(
bimorx
bimorx

Data de inscrição : 24/01/2010
Reputação : 0
Número de Mensagens : 153
Prêmios : [AJUDA?] Room 2000x2000 lagando - Página 2 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

[AJUDA?] Room 2000x2000 lagando - Página 2 Empty Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por L0l-King Sáb 09 Mar 2013, 22:04

Mas no caso você não usaria surface pra colidir.

Como no meu exemplo anterior, pra por exemplo verificar o primeiro zero vc usaria
Código:
grid[0,0]
, isso retornaria o primeiro zero.
Aplicando o conceito in-game para descubrir qual o valor daquela posição dentro da grid você faria o seguinte:
*Pega uma coordenada x e y
*Divide, cada um, x e y pelo tamanho de cada tileset (se é 32x32, divida por 32), e o resultado da divisão você aplica um floor.

Código:

grid[floor(x/32),floor(y/32)]

Se você quiser eu te passo um vídeo em inglês da matemática por traz deste conceito(aplicada no flash, mas o kra desenha explica muito bem Very Happy).
L0l-King
L0l-King

Data de inscrição : 04/04/2010
Reputação : 1
Número de Mensagens : 148
Prêmios : [AJUDA?] Room 2000x2000 lagando - Página 2 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

[AJUDA?] Room 2000x2000 lagando - Página 2 Empty Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por Crovux Dom 10 Mar 2013, 09:06

ja pensou em enverter? tipo
Código:
instance_deactivate_all();
    instance_activate_region(view_xview[0],view_yview[0],view_wview[0],view_hview[0]+128,false,true);
pois ai ia desativar todos e so ativar esta região.. ao contrario de antes que ativava todos menos esta região... Posso estar enganado, mas acho que é isso!
Crovux
Crovux

Data de inscrição : 07/01/2012
Reputação : 6
Número de Mensagens : 169
Prêmios : [AJUDA?] Room 2000x2000 lagando - Página 2 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

[AJUDA?] Room 2000x2000 lagando - Página 2 Empty Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por L0l-King Dom 10 Mar 2013, 12:05

Crovux escreveu:ja pensou em enverter? tipo
Código:
instance_deactivate_all();
    instance_activate_region(view_xview[0],view_yview[0],view_wview[0],view_hview[0]+128,false,true);
pois ai ia desativar todos e so ativar esta região.. ao contrario de antes que ativava todos menos esta região... Posso estar enganado, mas acho que é isso!

Se você lesse o tópico por inteiro, veria que isso já foi sugerido.
O problema dele são objetos demais.
L0l-King
L0l-King

Data de inscrição : 04/04/2010
Reputação : 1
Número de Mensagens : 148
Prêmios : [AJUDA?] Room 2000x2000 lagando - Página 2 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

[AJUDA?] Room 2000x2000 lagando - Página 2 Empty Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por bimorx Dom 10 Mar 2013, 13:13

Lol-King, hmm... acho q entendi um pouco... mas, como, por exemplo, eu faria pra verificar uma grid proxima ao player? ou como eu criaria um sprite ou objeto dentro desa grid? isso q me explode a cabeça O.õ
bimorx
bimorx

Data de inscrição : 24/01/2010
Reputação : 0
Número de Mensagens : 153
Prêmios : [AJUDA?] Room 2000x2000 lagando - Página 2 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

[AJUDA?] Room 2000x2000 lagando - Página 2 Empty Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por L0l-King Dom 10 Mar 2013, 23:10

Não é pra ter um objeto, esqueça isso, você só deve desenhar como tileset, e apenas um objeto vai ter uma grid do mapa inteiro.
Pra verificar o valor do grid próximo ao player ou onde ele está você faria algo como:
Código:
grid[floor(obj_player.x / 32), floor(obj_player.y / 32)]
L0l-King
L0l-King

Data de inscrição : 04/04/2010
Reputação : 1
Número de Mensagens : 148
Prêmios : [AJUDA?] Room 2000x2000 lagando - Página 2 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

[AJUDA?] Room 2000x2000 lagando - Página 2 Empty Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por bimorx Seg 11 Mar 2013, 12:07

sim sim, é oq eu to precisando, olha, eu aprendi GRAÇAS A DEUS, criar um terreno aleatorio usando APENAS surfaces, não deu lag nenhum ainda pois é 1 surface do tamanho da room, demora o "loading" enquanto desenha essa surface mas depois o jogo fica perfeito, PORÉM, eu preciso fazer o player colidir com os blocos né, por que se não ele vai cair no infinito, e tambem preciso quebrar estes blocos. Lol-King, cara, mto obrigado pela ajuda, vo tentar fazer algo baseado neste comando q vc mandou, tipo, verificar a grid q esteja mais perto e criar apenas blocos invisiveis solidos nessas grids, apenas para colisão do personagem e tal, vou tentar aprender grid... rsrsrs

VLWWW!!!
bimorx
bimorx

Data de inscrição : 24/01/2010
Reputação : 0
Número de Mensagens : 153
Prêmios : [AJUDA?] Room 2000x2000 lagando - Página 2 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

[AJUDA?] Room 2000x2000 lagando - Página 2 Empty Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por L0l-King Seg 11 Mar 2013, 12:40

Assim, já que o terreno é gerado seria algo do tipo a geração:

Código:

//faz de conta que desenhou algum bloco aqui na posição x,y
obj_terrain.grid[floor(x/32),floor(y/32)] = 0

Assim que você monta a grid, o problema disso tudo é que não tem métodos que facilitem o uso, como usar as funções de colisão, tudo deve ser feito a mão.
L0l-King
L0l-King

Data de inscrição : 04/04/2010
Reputação : 1
Número de Mensagens : 148
Prêmios : [AJUDA?] Room 2000x2000 lagando - Página 2 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

[AJUDA?] Room 2000x2000 lagando - Página 2 Empty Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por bimorx Seg 11 Mar 2013, 13:29

hmm, dxa ver se eu entendi, se eu colocar obj_terreno .grid[tal,tal] o obj_terreno automaticamente será alinhado à ela na room?


[EDIT] Ótimo!!, consegui criar grids com valores diferentes (-1 é o ceu, 0 é terra com grama, 1 é terra, 2 é pedra) e consegui tambem colocar pedra aleatoriamente mudando o valor da grid, isso vai facilitar no futuro eu acho... mas enfim, agora o meu maior problema é: como vou fazer para o player colidir com a grid em q tem valores diferentes de -1?

eu precisava fazer um sistema tipo o q está nesse video: https://www.youtube.com/watch?v=8OKrwOK6Gjg

por favor, abre o video e coloque em 2:15 exatamente, nessa hora mostra como o cara fez para gerar blocos solidos em volta de tudo q está no player q não seja CÉU (valor -1).

tem alguma idéia?
bimorx
bimorx

Data de inscrição : 24/01/2010
Reputação : 0
Número de Mensagens : 153
Prêmios : [AJUDA?] Room 2000x2000 lagando - Página 2 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

[AJUDA?] Room 2000x2000 lagando - Página 2 Empty Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por L0l-King Ter 12 Mar 2013, 12:22

Perdão pela demora, mas é que trabalhar e faculdade às vezes não me dá tempo nem pra suspirar ressaca

Interessante o conceito desse kra.

Ele gera just-in-time(executar só quando é preciso) a geração das máscaras de colisão.
Ele faz algo do tipo:

*deixa armazenado a posição do player x e y da grid(tipo, 12 e 10)
* faça um for de -3 a +3, e dentro dele faça outro for ninhado de mesmo range(-3 a +3)

o que tu vai fazer é bem simples, verificando o valor da grid desta maneira:
Código:
//digamos que I e J são as tuas variáveis de contador/iteração do for
terreno.grid[i+(posição x na grid do player),j+(posição y na grid do player)]
//depois pra saber onde desenhar o objeto com a máscara do bloco faça o seguinte
//crie um novo bloco de acordo com o valor do grid naquela posição(no caso do -1 vc não cria nada)
bloco.x = i+(posição x na grid do player) * 32
bloco.y = j+(posição y na grid do player) * 32
//importante também é que a criação destes blocos deve ser feita no Begin Step,
// e depois no End Step destruir TODOS OS BLOCOS,
// porque senão a medida que explorar o mapa você ficaria com objetos demais
// Ou senão usar um alarm que executa de 5 em 5 frames todo o código acima


Última edição por L0l-King em Ter 12 Mar 2013, 12:46, editado 1 vez(es)
L0l-King
L0l-King

Data de inscrição : 04/04/2010
Reputação : 1
Número de Mensagens : 148
Prêmios : [AJUDA?] Room 2000x2000 lagando - Página 2 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

[AJUDA?] Room 2000x2000 lagando - Página 2 Empty Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por bimorx Ter 12 Mar 2013, 12:32

Sem problema, entendo q é dificil ter tempo, e nem é prioridade isso aqui pra vc, rlx Very Happy

Cara eu preciso começar a pensar de jeito mais logico.... eu tava conversando ontem com o Gabriel Schneider, e ele me deu a MESMA solução e deu certo, exatamente isso!! bem, acho q minhas duvidas se foram por enquanto, pelo menos essa, pois agora ja consegui criar um map random, apenas usando grids e surfaces, e colidindo apenas em torno do player. Muiiiiiiiiitissimo o brigado Lol-King, e ao Gabriel Schneider tbm (q nem ta aki nos posts kkk). VLw mesmooo, precisando de alguma ajuda só me falar Very Happy tamo ae ! Very Happy

Vlw a todos q tentaram tambem, é claro Very Happy
bimorx
bimorx

Data de inscrição : 24/01/2010
Reputação : 0
Número de Mensagens : 153
Prêmios : [AJUDA?] Room 2000x2000 lagando - Página 2 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

[AJUDA?] Room 2000x2000 lagando - Página 2 Empty Re: [AJUDA?] Room 2000x2000 lagando

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Página 2 de 2 Anterior  1, 2

Ir para o topo


 
Permissões neste sub-fórum
Não podes responder a tópicos