Dúvidas MMF2

Andei pensando e é realmente chato tirar dúvidas por e-mail. Afinal, apenas o autor da dúvida em questão saberia a resposta depois. Então, decidi criar um post para vocês deixarem suas dúvidas :). Assim, qualquer um que tenha a mesma dúvida pode obter a resposta!

Fica avisado que não sou profissional algum; muitas dúvidas não saberei responder, talvez. Mas se souber, responderei. E, claro, caso saibam responder a dúvida de um colega, podem muito bem fazer isso, e ficarei bastante agradecido!

Eu só peço duas coisas...
Escrevam com ortografia correta, pois dói os olhos ler um texto do tipo "eo kriah kivs mim insinansse a fasê iço pq naum cnsegi entao pf rspnda!". Não estou pedindo que escrevam usando a norma culta e tal, mas pontuação, letra maiúscula/minúscula diferenciadas e pouco internetês... sempre bom, né?
Expliquem direito a dúvida. Por exemplo, no lugar de "Como faço um jogo de Mario?", pergunte: "Gostaria de saber como fazer um sistema de evoluir ao pegar cogumelos, mapa-mundo e habilidades extras conforme o item pêgo.". Bem melhor assim, não?

Dúvidas que não seguirem as diretrizes acima serão excluídas sem aviso. Comentários ofensivos também serão excluídos. Vamos todos tentar fazer algo bacana e organizado, por favor :). Procurarei responder as dúvidas semanalmente, mas, sinceramente, não prometo nada.

Bem, é isso aí!
Deixem suas dúvidas abaixo, nos comentários.

37 comentários:

Bruno disse...

Em que site você encontra as musicas do Mario para colocar em seu game????

Tiago disse...

@Bruno:
http://www.mfgg.net/

É um excelente site de fangames de Mario. Tem uma infinidade deles, além de recursos para fazer seu próprio fangame.

Att,
Tiago.

Bruno disse...

Obrigado!!!

Bruno disse...

Como fazer um game em que o personagem soca??
não atira!!!
e no momento que o inimigo colide com o soco,o inimigo perde vida????

Bruno disse...

Como fazer o Mario subir escadas???
sou iniciante em mmf2
você pode postar seu jogos aqui no meu site!!!
se vc quiser claro!!
envie pelos comentários o site é:
http://www.lowbigames.blogspot.com/

Tiago disse...

@Bruno:
Bem, vou ter de passar o convite =). Normalmente desisto dos meus jogos, então o único concluído é o MarioMC. Se quiser colocá-lo em seu blog, fique a vontade ^^. Mas vamos às dúvidas...

Considero que você esteja usando pré-definido, correto? Bom, vamos lá:
Fazer o personagem socar:
Requerimentos: saber usar o MMF2 (aula b1), seu editor de imagens (aula b3), como combinar condições (aula b11), e como negá-las (aula b12).

Antes de mais nada, faça a animação do soco/chute, isto é óbvio. Agora vamos adicionar essa animação nos comandos do jogador pelo Event Editor.

Adicione estes eventos:
("Player 1") Pressed fire X
Change animation sequence to ANIMAÇÃO DO ATAQUE

("Personagem") animation ANIMAÇÃO DO ATAQUE is over
Restore animation sequence


Esses eventos vão fazer o personagem poder socar.

O primeiro faz com que ao pressionar a tecla de fogo X (X é uma tecla de fogo arbitrária, você quem escolhe), a animação do personagem mude para a de soco.

O segundo, faz com que quando a animação de soco acabar, restaurar para a animação original. Isto serve para evitar bugs.

Mas calma, o personagem ainda só está socando. Se você testar seu jogo agora, verá que o soco não faz efeito nenhum nos inimigos. Para concertar isso, faça os eventos do inimigo da seguinte forma:
Collision between ("Personagem") and ("Inimigo")
("Personagem") animation ANIMAÇÃO DO ATAQUE is playing
("Inimigo") Destroy

Collision between ("Personagem") and ("Inimigo")
X ("Personagem") animation ANIMAÇÃO DO ATAQUE is playing
Restart Frame (ou qualquer outra coisa que aconteça quando o personagem levar dano)


O primeiro evento faz com que se o personagem encoste no inimigo enquanto sua animação de soco estiver tocando (ou seja, soque o inimigo), o inimigo morra.

Já o segundo, faz o contrário: se o personagem não estiver socando quando encostar no inimigo, quem morre é o personagem.

O primeiro serve para matar, e o segundo para morrer. Se você já tiver feito um evento para o personagem morrer quando encostar no inimigo que esteja diferente deste, apague e use este ^^.

Tiago disse...

Subir escada:
Requerimentos: tudo da dúvida anterior, saber utilizar multiple movements (aula b6), e carregar dados de outros objetos (aula b8).

Aqui é um pouco maior... Antes de tudo, você deve criar uma animação do personagem subindo a escada. Crie também dois movimentos: o primeiro de plataforma, e o segundo de oito direções. Agora, vamos aos eventos.

("Player 1") Moved top
("Personagem") is overlapping ("Escada")
Only one action when event loops
Select movement Movement #2 (number 2)
Change animation sequence to SUBINDO AS ESCADAS

X ("Personagem") is overlapping ("Escada")
Only one action when event loops
Select movement Movement #1 (number 1)
Restore animation sequence


Esses dois eventos fazem o personagem subir as escadas.

O primeiro diz que se o personagem estiver sobrepondo a escada, e o jogador apertar pra cima, apenas uma vez a seguinte ação ocorrerá: mudar-se-á o movimento para o de oito direções e a animação para a de subir as escadas.

Já o segundo é o contrário: se o personagem não estiver mais sobrepondo a escada, apenas uma vez, mudar-se-á o movimento para o de plataforma e restaurar-se-á a animação!

Agora vamos à animação...

("Personagem") animation SUBINDO AS ESCADAS is playing
X Repeat while ("Player 1") Moved top
X Repeat while ("Player 1") Moved down
Force animation frame to Image( "warrior" )

("Personagem") animation SUBINDO AS ESCADAS is playing
Repeat while ("Player 1") Moved top
OR (filtred)
Repeat while ("Player 1") Moved down
Restore animation frame


Esses eventos são para configurar a animação.

O primeiro faz com que se a animação estiver tocando e o jogador não estiver pressionando nenhuma das teclas para subir ou descer, o frame da animação irá "travar" (para fazermos isso, usamos um artifício: enquanto a condição se repete, mudar o frame para o próprio frame). Assim, o personagem ficará "parado".

E o segundo evento faz com que se a animação estiver tocando e o jogador pressionar para cima OU para baixo [usei a função OR, não ensinei como usar, mas não é nada complicado, apenas clique com o botão direito do mouse em cima de alguma condição daquele evento e escolhe OR operator (filtred), daí, arraste-o para ficar entre os dois Repeat while], restaurar o frame da animação, ou seja, destravá-lo.

--//--

Espero que tenha respondido suas dúvidas!
Att,
Tiago.

Unknown disse...

Como se Faz jogos de luta

Tiago disse...

Flux, procure explicar melhor sua dúvida, está muito vaga. Vou explicar a dinâmica, espero que seja isso o que você quer saber.

Num jogo de luta, existem dois objetos: o jogador, controlado por movimento (pode ser, inclusive, pré-definido, já que jogos de luta não possuem colisões); e o inimigo, controlado por Inteligência Artificial.

Programa-se os ataques padrões do personagem e os ataques especiais. Uma barra de HP, HUD, e voalá. Seleção de personagens também cai bem, afinal, em todo jogo de luta existem várias opções.

É isso aí.

Fábio Geremias disse...

Olá galera! Gostaria de saber zomo se faz para o computador não entrar em modo de espera quando o computador está inativo (No meu caso desliga o monitor). Como por exemplo um programa de vídeo ou até mesmo um game, enquanto o video/game estiver rodando o computador não dorme. Tem como fazer isso no MMF2?

Obrigado.

Vitor disse...

Você ira postar as aulas que faltam do curso?



SE PODER VAI COLOKANDO O SIGNIFICADO DE ALGUMAS PALAVRAS PRA AJUDAR MINHA TRADUÇÃO DO MFF TIPO?

BOUCING BALL
STORYBORD EDITOR

my face disse...

Ola eu gostaria de saber como fazer a IA de um inimigo em um jogo mugen.

Fábio Geremias disse...

Alguem sabe como exportar os jogos de mmf2 para swf? Eu sei que tem que ter o SWF Exporter, mas onde conseguir o serial?

Guilmour disse...

Então @Fábio Geremias: o Swf exporter ainda não possui serial ou crack, já que ele precisa ser ativado pela internet e não se sabe ainda como se burlar isso. Enquanto isso vamos desevolvendo jogos normais mesmos e nao em .swf já que o swf exporter custa uns 150 reais se voce ja tiver o MMF2 original ;(

my face disse...

Ta dificil de me responde?

Saberling 2011 disse...

Como faço o jogador subir escadas???

Teste disse...

# Gostaria de saber se a ARMA e o HERO são 1 active só, ou são 2 actives ? E o sistema de trocar de armas...
Abraços

NTI disse...

olá, queria saber como corrigir um bug do sistema de movimento "plataform". Quando o objeto executa a ação crouch down, ele faz animação tudo direitinho, no entanto, quando me movimento para a esquerda ou direita, ele segue a direção, tem como "travar" o personagem durante o frame?

NTI disse...

Outra dúvida, (foi mal não ter escrito no post anterior) eu tô querendo fazer um jogo numa plataforma 3D, não diretamente um motor gráfico tridimensional, somente objetos que tem proporção X, Y e Z na escala, e queria saber se existe uma extensão capaz de adicionar esses parâmetros, eu não sei se é, mas o Isometric Object Grid serve?

Victor Andrade disse...

Cara to com um sério problema, seguinte:
Eu to criando um novo Sued no MMF2, e eu não to conseguindo criar a principal função dele que é assim:

Há na tela inicial do programa uma campo (edit) e nele eu consigo digitar normalmente o que eu quero, porém eu precisava que quando eu presionasse uma tecla (no meu caso to criando essa condição com a tecla "crtl") cada caractere digitado fosse substituido por caracteres de uma frase pronta e o aplicativo pudesse armazenar o que eu realmente digitei, pois depois seriaa necessário ele exibir o que eu digitei de verdade.

Ex: Existe uma frase salva que diz: "Oh grande e poderoso oráculo"

Então eu presiono crtl para ativar o evento que vai trocar cada caractere que eu digitar pelos caracteres que estão compondo essa frase, no caso se eu digitar a palavra "Amanhã" no campo apareceria "Oh gra" por que os 6 caracteres da palvra digitada foram trocados pelos caracteres da frase salva, será que você pode me ajudar? você é minha ultima esperança.

vitorano@hotmail.com

†Pale† disse...

Como faço para uma música que começa a tocar no primeiro frame continuar tocando, sem ter que recomeçar toda vez que passa de frame?

Tiago disse...

@Fábio Geremias:
Tem sim cara. Apenas vá na sua área de trabalho, e clique com o botão direito em "Propriedades". Vá na aba "Proteção de Tela", e clique em "Energia".

Agora, onde tiver "Desligar Monitor" e "Desligar Computador", marque Nunca. Isso pode variar dependendo do Sistema Operacional que você usa. No caso, isso daí é pra WinXP...

Tiago disse...

Vitor:
Sim, pretendo, mas o futuro a Deus pertence. Pretender é diferente de poder. Posso acabar desistindo, desanimando ou até morrendo até terminar o curso, mas espero um dia poder completá-lo :D

Sobre esses termos que você explicou, tudo é explicado ao longo do curso. Sobre Storyboard editor, você pode ver logo na primeira aula. E para Bouncing ball, vide aula de movimentos.

Tiago disse...

@my face:
Infelizmente amigo, Mugen não é minha área. Conheço muito pouco da engine, embora goste muito dela. Foi, inclusive, meu primeiro contato com criação de jogos. Te aconselho procurar um fórum especializado, eles saberão te guiar melhor do que eu ;)

Tiago disse...

@Fábio Geremias:
Sinto muito cara, prefiro não postar pirataria no blog pra não ter problemas com a Click. Desculpa, mas arranjar o programa e add-ons, fica por sua conta, beleza?

Tiago disse...

@Saberling 2011:
Isso depende muito do movimento que você está utilizando. Se for pré-definido, crie um outro movimento (movimentos múltiplos, acho que não dei essa aula ainda) de oito direções e faça o seguinte:

(JOGADOR) is overlapping (ESCADAS) +
Repeat while (PLAYER 1) pressed up +
Only one action when event loops
>>
Set movement to "EIGHT DIRECTIONS"


Esse evento fará com que se o jogador estiver sobrepondo as escadas, e se manter apertando pra cima, ele vai APENAS UMA VEZ, mudar o movimento para o de oito direções. Agora, adicione este:

X (JOGADOR) is overlapping (ESCADAS) +
Only one action when event loops
>>
Set movement to "PLATFORM"


Ou seja, se o jogador NÃO estiver sobrepondo as escadas (ou deixar de sobrepor), APENAS UMA VEZ, ele irá mudar para o movimento de plataforma.

Eu testei, e não ficou muito legal, mas é porque se você tá usando pré-definido, não conhece muito do programa ainda certo? Então é melhor a gente não apressar as coisas, senão você pode acabar se confundindo ^^

Tiago disse...

@Teste:
Hem? Não entendi sua pergunta... ^^'

Tiago disse...

@NTI:
Vamos lá.

Sobre a primeira dúvida, não há muito o que fazer. O movimento pré-definido do Multimedia Fusion 2 é bugadinho mesmo, e suas ações personalizadas também. Para fazer um jogo sem bugs e tal, você precisa usar Movimento Personalizado; esse sim, sem bugs (a não ser que o programador faça algo errado). Ele consiste em deixar o objeto com movimento Static, e fazer você mesmo os movimentos através de eventos. A gente tem umas aulas aqui sobre isso aqui já, dá lá uma conferida ^^

Sobre a segunda pergunta, acredito que você queira fazer um jogo isométrico, certo? Bem... existe sim uma extensão que faz o serviço, mas pra ser honesto, não sei utilizá-la, e o resultado não é muito bom. E é exatamente essa que você citou. Um bom jogo isométrico pode SIM ser feito no MMF2, mas é algo realmente complexo. Particularmente, nem sonho com isso ainda. O STALTZ certa vez fez uma engine sobre isso... só posso dizer que eram muitos e muitos cálculos. O Resultado saiu perfeito, mas eram umas paradas loucamente matemáticas. Não posso te ajudar sobre isso, sinto muito :/

Tiago disse...

@Vitor Andrade:
Seu caso é um pouco mais complicado. Já está tarde, e não sei exatamente como fazer isso. Depois tento mexer um pouco e dou outra resposta, tudo bem?

Tiago disse...

[†]Lithium Spooky[†]:
Amigo, o único jeito que eu conheço e colocar a música pra tocar em um frame, e colocar todos os outros frames dentro dele, através da extensão Sub Application... enfim, desculpe, não sei se existem outros meios... mas esse sempre deu certo comigo ^^

Tiago disse...

@Victor Andrade:

Cara, desculpe a demora para responder.

Como sua dúvida é algo que ficaria bastante difícil explicar por aqui, preparei uma engine toda comentada. Espero que seja útil!

Download:
https://dl.dropbox.com/u/3919627/Sued.mfa

geki disse...

Eu queria saber como fazer Stages tipo DKC

Tiago disse...

Geki:
Poderia explicar melhor? Acredito que esteja se referindo a Donkey Kong Country, mas não faço ideia do que vc quer fazer. Nunca fui fã da franquia. Acho que se eu joguei o 3 do Super Nintendo foi muito...

deeh disse...

queria um exemplo de como criar um game de plataforma tipo megaman mas o personagem ao inves de atirar ele puxa uma espada saca nao achei nenhum tutorialpor ai e o conteudo que tem e muito pouco e nao tira minhas duvidas principalmente a parte de menu de intens colisoes ,IA, como trocar de cenario 1para o 2 .

JCSN disse...

Como fazer os pontos do Player continuarem nos próximos frames sem zerar quando passa pro Frame 2?

Junior disse...

Olá Tiago,
Eu estou usando videos para criar meus jogos, mas tenho que converter para GIF, e uso comandos '' PAUSE '' para que a animação fique estática e '' RESUME '' para ela iniciar, isso quando eu clico em um botão que eu criei, mas a minha duvida é,
gostaria de criar um comando de retroceder o video quando pressiono o botão '' virtual '' ( que no caso esta na tela e não no teclado )
Como faço esses comandos?
Grato.

Tiago disse...

@José Fernandes:
Tudo bom? Bem, isso aí é um pouco complicado de explicar assim. Um jogo não se faz "tirando uma dúvida". O jeito é estudar muito até saber fazer tudo que você precisa. Foi mal, cara.

@João Campos Souza Neto:
Opa, e aí? Antes de mais nada, como você está fazendo os pontos? O ideal é usar o sistema de Score nativo do MMF2. Se preferir, Global Values. Por coincidência, fiz uma aula mês passado sobre isso. Dá uma olhada ;)

@Junior:
Oi Junior. Já respondi sua pergunta pelo face, e tal, mas colocarei aqui a mesma resposta pra caso alguém tenha a mesma dúvida, ok?

No momento, estou sem MMF em mãos. Aproveitarei que estou de férias e vou baixar, quem sabe até dá tempo de fazer uma ou duas aulas. Não posso responder com certeza agora, mas tenta usar essa ideia:

Button clicked?
Set frame to A-VALOR

Onde A seria o Frame atual (que tem lá no valor de expressões, mas eu tô sem MMF) e VALOR seria a quantidade de quadros a serem regredidos. Isso fará ele regredir um valor fixo. Se quiser que vá retrocedendo aos poucos, manda ele ligar uma flag, e enquanto esta flag estiver ligada, ir retrocedendo um pouquinho apenas.

Abraço.

Postar um comentário