Entrar
Últimos assuntos
» Como ajustar velocidade de cada frame da animação no game makerpor Ralphed Hoje à(s) 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
» 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
[ATUALIZADO][Engine]Novo metodo de colisão!
+9
LCS
Mr. Kaleb
PedroX
Machow8
Shadow10
Grotle
.:Allison:.
Mr.Brum
Jiraya
13 participantes
GMBR :: Ensine & Aprenda :: Exemplos :: Game Maker (engines)
Página 1 de 2
Página 1 de 2 • 1, 2
[ATUALIZADO][Engine]Novo metodo de colisão!
Olá a todos!
eu vim lhes dizer que desenvolvi um novo metodo de colisão, creio eu, que seja muito mais efetivo e com muito maior desempenho do que colisão com objetos.
[nota]estou falando de colisão com o mapa
caso n saibam, pelo que parece o precise collision checking do game maker usar 4 for de area w*h, ou seja, é um tanto lento
quando eu usava c++/allegro, para fazer colisao precisa era necessário usar 4 for
for (int w=0;w< sprite1->w;w++)
for (int h=0;h< sprite1->h;h++)
for (int w2=0;w2< sprite2->w;w2++)
for (int h2=0;h2< sprite2->h;h2++)
if (testPixel(x+w,y+h,sprite2))
if (testPixel(x2+w2,y2+h2,sprite1))
return (true);
return (false);
como podem ver, é um sistema meio lento.
mas para agilizar isso no game maker, eu resolvi tirar proveito das tiles, e usar as tiles como mascara de collisão
[UPDATE]
NOVA VERSÃO
todos os bugs foram corrigidos, novo script para facilitar a checagem foi add.
[old version]
eu vim lhes dizer que desenvolvi um novo metodo de colisão, creio eu, que seja muito mais efetivo e com muito maior desempenho do que colisão com objetos.
[nota]estou falando de colisão com o mapa
caso n saibam, pelo que parece o precise collision checking do game maker usar 4 for de area w*h, ou seja, é um tanto lento
quando eu usava c++/allegro, para fazer colisao precisa era necessário usar 4 for
for (int w=0;w< sprite1->w;w++)
for (int h=0;h< sprite1->h;h++)
for (int w2=0;w2< sprite2->w;w2++)
for (int h2=0;h2< sprite2->h;h2++)
if (testPixel(x+w,y+h,sprite2))
if (testPixel(x2+w2,y2+h2,sprite1))
return (true);
return (false);
como podem ver, é um sistema meio lento.
mas para agilizar isso no game maker, eu resolvi tirar proveito das tiles, e usar as tiles como mascara de collisão
[UPDATE]
NOVA VERSÃO
todos os bugs foram corrigidos, novo script para facilitar a checagem foi add.
[old version]
- Spoiler:
esse é o resultado, apenas um objeto foi usado o Player("circulo"). o resto é tudo tile
eu achei isso muito mais rápido do que collisao com objetos.
se todos os programadores passarem a usar este sistema de colisão, eu posso dizer que eles n vao mais precisar se preoculpar com LAG.
caso queiram testar si mesmos, aqui esta o exemplo
Última edição por Jiraya em Seg 23 maio 2011, 21:58, editado 6 vez(es)
Re: [ATUALIZADO][Engine]Novo metodo de colisão!
parabéns pela idéia... já pensei nisso antes,mas pensava que ia gerar mais lag(baseado nos tiles do rpg maker)... flws
Re: [ATUALIZADO][Engine]Novo metodo de colisão!
Gostei mesmo, porém, tem uma desvantagem, é mais complicado !
Re: [ATUALIZADO][Engine]Novo metodo de colisão!
Muito boa engine!
Eu já tiha pensado em um sistema parecido, e pensei como seria aplicá-lo em um jogo, mas acabei esquecendo de testar.
Parabéns pela engine, continue ajudando o nosso fórum a crescer cada vez mais!
Flws!
Eu já tiha pensado em um sistema parecido, e pensei como seria aplicá-lo em um jogo, mas acabei esquecendo de testar.
Parabéns pela engine, continue ajudando o nosso fórum a crescer cada vez mais!
Flws!
Re: [ATUALIZADO][Engine]Novo metodo de colisão!
Sabe de uma coisa? Com esse sistema da pra fazer aqueles obstaculos como no jogo do Bobby Carrot.
É um jogo pelo qual eu sempre quiz fazer um remaker.
Muito bem Jiraya, você é o cara mesmo.
*****Editado*****
Opa!
Funciona como plataforma fantasma também e eu reparei um pequeno bug.
Quando se esta em qualquer lado e é pressionado cima, então a bola pula, até aí tudo bem, só que se estiver na altura da esquina boleada da tile
e é pressionada uma tecla que o leva na direção do mesmo, a bola entra na tile, mas fora isso ta muito boa a ideia.
É um jogo pelo qual eu sempre quiz fazer um remaker.
Muito bem Jiraya, você é o cara mesmo.
*****Editado*****
Opa!
Funciona como plataforma fantasma também e eu reparei um pequeno bug.
Quando se esta em qualquer lado e é pressionado cima, então a bola pula, até aí tudo bem, só que se estiver na altura da esquina boleada da tile
e é pressionada uma tecla que o leva na direção do mesmo, a bola entra na tile, mas fora isso ta muito boa a ideia.
Shadow10- Games Ranking :
Notas recebidas : C
Data de inscrição : 07/11/2010
Reputação : 19
Número de Mensagens : 429
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [ATUALIZADO][Engine]Novo metodo de colisão!
Realmente, a engine é muito boa. É bom saber de mais um método de colisão, nos ajudando a escolher o melhor para os nossos jogos sem muito lag ou bug, vlw mesmo!
Última edição por Zignaw em Dom 22 maio 2011, 23:34, editado 1 vez(es)
Machow8- Data de inscrição : 21/05/2011
Reputação : 16
Número de Mensagens : 625
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [ATUALIZADO][Engine]Novo metodo de colisão!
Você pode postar outro link?
Eu não consigo baixar...
Parece bem interessante.
Até mais!
Eu não consigo baixar...
Parece bem interessante.
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:
Re: [ATUALIZADO][Engine]Novo metodo de colisão!
Olha ae, PH:
LINK DIRETO
LINK DIRETO
Mr. Kaleb- Games Ranking :
Notas recebidas : C
Data de inscrição : 07/09/2010
Reputação : 21
Número de Mensagens : 1400
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [ATUALIZADO][Engine]Novo metodo de colisão!
Pedro Henrique escreveu:Você pode postar outro link?
Eu não consigo baixar...
Parece bem interessante.
Até mais!
Ai cara upei pra ti no 4 shared
http://www.4shared.com/file/dlIOGmi_/CollisionTiles.html
Realmente incrivel orochi nunca tinha pensado que alguem fizesse algo assim,mas como sempre tu surpreende a todos xD
parabens orochi como eu sempre digo tu é o cara
flws
Re: [ATUALIZADO][Engine]Novo metodo de colisão!
Legal, galera, assim outros que tiverem com problema de baixar do link do Jiraya tbm vão poder aproveitar essa ótima engine.
Obrigado pela ajuda de vcs!
Obrigado pela ajuda de vcs!
Última edição por Zignaw em Dom 22 maio 2011, 23:34, editado 1 vez(es)
Machow8- Data de inscrição : 21/05/2011
Reputação : 16
Número de Mensagens : 625
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [ATUALIZADO][Engine]Novo metodo de colisão!
Baixei. Valeu pessoal pelos novos links.
Achei a ideia bem legal.
Assim não é preciso criar um objeto, e colocar dezenas de instâncias na room para fazer a colisão.
Muito bom. Eu gostei bastante.
Somente uma pergunta: existe diferença na velocidade de usar isso, ou usar as funções position_meeting (com objetos)?
Até mais!
Achei a ideia bem legal.
Assim não é preciso criar um objeto, e colocar dezenas de instâncias na room para fazer a colisão.
Muito bom. Eu gostei bastante.
Somente uma pergunta: existe diferença na velocidade de usar isso, ou usar as funções position_meeting (com objetos)?
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:
Re: [ATUALIZADO][Engine]Novo metodo de colisão!
muito obrigado a todos!
fico feliz que gostaram
esse sistema de colisão n é preciso, ou seja, checa colisão por, retangulos, mesmo que tenha um buraco na tile, ele ira colidir como se fosse um retangulo normal.
se puder enviar um print desse bug do qual falou, eu poderia averiguar.
fico feliz que gostaram
desculpe, mas eu n consegui encontrar esse bug, o,o.Shadow10 escreveu:Sabe de uma coisa? Com esse sistema da pra fazer aqueles obstaculos como no jogo do Bobby Carrot.
É um jogo pelo qual eu sempre quiz fazer um remaker.
Muito bem Jiraya, você é o cara mesmo.
*****Editado*****
Opa!
Funciona como plataforma fantasma também e eu reparei um pequeno bug.
Quando se esta em qualquer lado e é pressionado cima, então a bola pula, até aí tudo bem, só que se estiver na altura da esquina boleada da tile
e é pressionada uma tecla que o leva na direção do mesmo, a bola entra na tile, mas fora isso ta muito boa a ideia.
esse sistema de colisão n é preciso, ou seja, checa colisão por, retangulos, mesmo que tenha um buraco na tile, ele ira colidir como se fosse um retangulo normal.
se puder enviar um print desse bug do qual falou, eu poderia averiguar.
a unica diferença, é que o place_meeting, checa se há objetos em uma certa posição, e o tile_layer_find, checa tiles, numa certa posição, fora isso são exatamente iguaisPedro Henrique escreveu:Baixei. Valeu pessoal pelos novos links.
Achei a ideia bem legal.
Assim não é preciso criar um objeto, e colocar dezenas de instâncias na room para fazer a colisão.
Muito bom. Eu gostei bastante.
Somente uma pergunta: existe diferença na velocidade de usar isso, ou usar as funções position_meeting (com objetos)?
Até mais!
Re: [ATUALIZADO][Engine]Novo metodo de colisão!
Muito legal, eu tinha usado isso em um projeto e funcionou perfeitamente, foi num jogo de aviao de labirinto auto-gerado usando tiles, realmente fica muito rapido e da pra fazer mizuras heheheh.
Flws
Flws
Re: [ATUALIZADO][Engine]Novo metodo de colisão!
Melhor que print screen é vídeo, assiste aí.Jiraya escreveu:
desculpe, mas eu n consegui encontrar esse bug, o,o.
esse sistema de colisão n é preciso, ou seja, checa colisão por, retangulos, mesmo que tenha um buraco na tile, ele ira colidir como se fosse um retangulo normal.
se puder enviar um print desse bug do qual falou, eu poderia averiguar.
Deu pra entender?
Eu acho que é pelas bordas boleadas.
Shadow10- Games Ranking :
Notas recebidas : C
Data de inscrição : 07/11/2010
Reputação : 19
Número de Mensagens : 429
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [ATUALIZADO][Engine]Novo metodo de colisão!
Ah..., mas será que isso é realmente um bug ou algo natural que o código não impede de acontecer?
Última edição por Zignaw em Dom 22 maio 2011, 23:34, editado 1 vez(es)
Machow8- Data de inscrição : 21/05/2011
Reputação : 16
Número de Mensagens : 625
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [ATUALIZADO][Engine]Novo metodo de colisão!
Ya, grande observação Shadow , bom aparentemente eu resolvi o bug.
Re: [ATUALIZADO][Engine]Novo metodo de colisão!
Ok, Jiraya, legal, mas vc já atualizou o seu link da sua engine com o bug corrigido?
Última edição por Zignaw em Dom 22 maio 2011, 23:35, editado 1 vez(es)
Machow8- Data de inscrição : 21/05/2011
Reputação : 16
Número de Mensagens : 625
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [ATUALIZADO][Engine]Novo metodo de colisão!
É porque ele usou "sprite_width" no código e as esquinas são boleadas,
se de alguma forma ele adicionasse uma mask isso se resolveria.
Assim talvez.
se de alguma forma ele adicionasse uma mask isso se resolveria.
Assim talvez.
- Código:
mask_index = sprite_create_from_screen(x,y,32,32,0,0,0,0);
Shadow10- Games Ranking :
Notas recebidas : C
Data de inscrição : 07/11/2010
Reputação : 19
Número de Mensagens : 429
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [ATUALIZADO][Engine]Novo metodo de colisão!
yay, refiz todo o código, agora aparentemente, n existe bugs o,o!
esta melhorado e mais facil de usar agora !
esta melhorado e mais facil de usar agora !
Re: [ATUALIZADO][Engine]Novo metodo de colisão!
Ah! Muito obrigado por essa melhoria, Jiraya! Facilitou ainda mais minha vida!
Cara, quando eu puder, aumento tua reputação, pois já tem 2 na frente!
Cara, quando eu puder, aumento tua reputação, pois já tem 2 na frente!
Machow8- Data de inscrição : 21/05/2011
Reputação : 16
Número de Mensagens : 625
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Página 1 de 2 • 1, 2
Tópicos semelhantes
» Engine de fisica v2(atualizado)
» [ENGINE - SCRIPT] Método de draw_sprite_part
» [atualizado] Meu novo menu
» Engine colisao retangulo
» Dark Trap - Novo Estilo do Estágio 3 [Atualizado 06/11/12]
» [ENGINE - SCRIPT] Método de draw_sprite_part
» [atualizado] Meu novo menu
» Engine colisao retangulo
» Dark Trap - Novo Estilo do Estágio 3 [Atualizado 06/11/12]
GMBR :: Ensine & Aprenda :: Exemplos :: Game Maker (engines)
Página 1 de 2
Permissões neste sub-fórum
Não podes responder a tópicos
|
|