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
Tutorial: Lógica em jogos de luta (colisões) Parte 2
5 participantes
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Tutorial: Lógica em jogos de luta (colisões) Parte 2
Resumindo o tutorial passado (Parte 1), existem duas caixas (de colisão e impacto) que funcionam como Masks nos jogos de luta, e ainda existe um objeto que mostra os sprites do personagem.
As prioridades nas colisões são:
1) Colisão (rosa) x impacto (vermelha) = vencedor > impacto vermelha.
2) Impacto (vermelha) x impacto (vermelha) = vencedor > ambas perdem.
obs: Não preciso falar que colisão x colisão não dá em nada, afinal, não são ataques.
Vamos a prática:
cena1: Dhalsim em pé frente a athena. Ambos não estão atacado então devem ter somente caixas de colisão (rosa).
cena2: Dhalsim ataca athena. Dhalsim tem caixas de colisão por todo o corpo (rosa: ele tem ate nos braços pois mesmo atacando a athena pode contra-atacar e dar double KO) e tmb caixas de impacto (vermelha) nos braços. Já athena só tem caixas de colisão. Como ocorre a colisão entre as caixas de impacto nos braços do dhalsim, e as de colisão da athena, ela perde o evento e é mostrada a cena dela apanhando. (¬¬)
Ok, então como o objeto principal que representa Dhalsim e o objeto que representa Athena se comportarão no momento do impacto?
Simples, as caixas de colisão de Athena devem "avisar" ao objeto Athena (obj que mostra os sprites dela), que a mesma perdeu a colisão, e que deve ser mostrado o sprite dela apanhando ou pode ser outro objeto, que é como eu prefiro fazer pra simplificar.
Tipos de Fall (apanhando):
Existem várias formas de mostrar o personagem apanhando, e isso depende do tipo de hit que o personagem levou e do jogo em si. Exemplo:
a) tapa na cara
b) soco na barriga
Você deve padronizar esses tipos de impactos e criar objetos com esses sprites, e, a cada tipo de impacto surge um objeto "apanhando" diferente. Lembrando que, é o ataque quem determinará que tipo de objeto "apanhando" irá aparecer. obs: nos jogos de luta esses objetos ou animações dos personagens apanhando se chamam "fall".
Existem falls para golpes, fortes, golpes fracos, rasteiras fracas, rasteiras fortes etc.
Resumindo o tutorial parte 2:
Vc deve criar objetos com os sprites fall diferentes:
a) recebendo golpe fraco em pé
b) recebendo golpe forte em pé
c)recebendo golpe fraco abaixado
d)recebendo golpe forte abaixado
e) recebendo rasteira e caindo para traz (fall completo).
De posse desses objetos ficará fácil fazer os eventos de colisão.
Na próxima e última aula trarei um engine com um exemplo com dois personagens parados, um ataca o outro com caixas de colisão e de impacto, o outro recebendo impacto e um caso de double KO (dos dois se acertando ao mesmo tempo).
As prioridades nas colisões são:
1) Colisão (rosa) x impacto (vermelha) = vencedor > impacto vermelha.
2) Impacto (vermelha) x impacto (vermelha) = vencedor > ambas perdem.
obs: Não preciso falar que colisão x colisão não dá em nada, afinal, não são ataques.
Vamos a prática:
cena1: Dhalsim em pé frente a athena. Ambos não estão atacado então devem ter somente caixas de colisão (rosa).
cena2: Dhalsim ataca athena. Dhalsim tem caixas de colisão por todo o corpo (rosa: ele tem ate nos braços pois mesmo atacando a athena pode contra-atacar e dar double KO) e tmb caixas de impacto (vermelha) nos braços. Já athena só tem caixas de colisão. Como ocorre a colisão entre as caixas de impacto nos braços do dhalsim, e as de colisão da athena, ela perde o evento e é mostrada a cena dela apanhando. (¬¬)
Ok, então como o objeto principal que representa Dhalsim e o objeto que representa Athena se comportarão no momento do impacto?
Simples, as caixas de colisão de Athena devem "avisar" ao objeto Athena (obj que mostra os sprites dela), que a mesma perdeu a colisão, e que deve ser mostrado o sprite dela apanhando ou pode ser outro objeto, que é como eu prefiro fazer pra simplificar.
Tipos de Fall (apanhando):
Existem várias formas de mostrar o personagem apanhando, e isso depende do tipo de hit que o personagem levou e do jogo em si. Exemplo:
a) tapa na cara
b) soco na barriga
Você deve padronizar esses tipos de impactos e criar objetos com esses sprites, e, a cada tipo de impacto surge um objeto "apanhando" diferente. Lembrando que, é o ataque quem determinará que tipo de objeto "apanhando" irá aparecer. obs: nos jogos de luta esses objetos ou animações dos personagens apanhando se chamam "fall".
Existem falls para golpes, fortes, golpes fracos, rasteiras fracas, rasteiras fortes etc.
Resumindo o tutorial parte 2:
Vc deve criar objetos com os sprites fall diferentes:
a) recebendo golpe fraco em pé
b) recebendo golpe forte em pé
c)recebendo golpe fraco abaixado
d)recebendo golpe forte abaixado
e) recebendo rasteira e caindo para traz (fall completo).
De posse desses objetos ficará fácil fazer os eventos de colisão.
Na próxima e última aula trarei um engine com um exemplo com dois personagens parados, um ataca o outro com caixas de colisão e de impacto, o outro recebendo impacto e um caso de double KO (dos dois se acertando ao mesmo tempo).
Última edição por Anderson3d em Sáb 16 Abr 2011, 15:23, editado 1 vez(es)
Re: Tutorial: Lógica em jogos de luta (colisões) Parte 2
intendi nada ae :--':
00kutles00- Data de inscrição : 27/08/2010
Reputação : -1
Número de Mensagens : 31
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Tutorial: Lógica em jogos de luta (colisões) Parte 2
Ótimo tutorial, mostra que jogos de luta não é para qualquer um, é uma pena que muitos vão apenas baixar sua engine e dizer que fizeram um jogo completo.
Essas técnicas vão me ajudar num (futuro) jogo de plataforma.
Parabéns.
Off tópico:
Seus sprites estão cada vez melhores, estou ansioso para ver seu jogo do concurso Halloween.
Essas técnicas vão me ajudar num (futuro) jogo de plataforma.
Parabéns.
Off tópico:
Seus sprites estão cada vez melhores, estou ansioso para ver seu jogo do concurso Halloween.
CRP-Max- Games Ranking :
Notas recebidas : C
Data de inscrição : 28/10/2008
Reputação : 29
Número de Mensagens : 822
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Tutorial: Lógica em jogos de luta (colisões) Parte 2
vai ter outra aula ainda ou ja acabou? pq não entendi como posso juntar as duas partes do ataque
manobrother- Data de inscrição : 31/10/2013
Reputação : 10
Número de Mensagens : 206
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 x 0
Re: Tutorial: Lógica em jogos de luta (colisões) Parte 2
Creio que não rapaz, o Anderson não entra no fórum desde novembro do ano passado. Respondendo a sua dúvida, a caixa de colisão que ele fala pode ser tanto algo determinado por você, ou usando as "bounding boxes" ou masks do GM, delimitando que parte da sprite é tangível e assim reagindo. Ao gênero de luta em si, tinha uma ótima engine que é a GM Fighters, sendo que infelizmente o membro não é mais ativo (até porque é bem antigo aquele tópico) e o link quebrou.manobrother escreveu:vai ter outra aula ainda ou ja acabou? pq não entendi como posso juntar as duas partes do ataque
Mas, você ainda pode extrair algo das aulas do Alex FC. Tem uma parte sobre colisões lá, bem legal. Abraços o/
Markituh- Games Ranking :
Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios :
x 0 x 1 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» Tutorial: Lógica em jogos de luta (colisões) Parte 1
» Oi Galerinha, aqui um tutorial básico de um jogo de luta que eu fiz! [TUTORIAL]
» Movimentos e colisões em jogos de plataforma
» [Tutorial]I.A Básica – Movimentação de Inimigo com colisões
» [Carlos - Tutorial] Lógica Booleana.
» Oi Galerinha, aqui um tutorial básico de um jogo de luta que eu fiz! [TUTORIAL]
» Movimentos e colisões em jogos de plataforma
» [Tutorial]I.A Básica – Movimentação de Inimigo com colisões
» [Carlos - Tutorial] Lógica Booleana.
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|