Primeiro tutorial do Guims na SC: Como criar um fã-game - Multimedia fusion 2 - part 1 - o básico em eventos e animações

Bom, primeiro de tudo olá a todos!

Como eu tinha dito quando entrei aqui, iria ajudar com o meu conhecimento e gostaria de estar sempre ajudando o publico em suas dúvidas em gerais. Sempre gostei de criar Tutoriais do que normalmente é duvidoso na Internet. Pois bem, hoje de inicio, irei com tempo em tempo publicar Tutoriais em partes do aplicativo tão usado pelos Gamers: o Multimedia Fusion 2 (MMF2), programa o qual é utilizado em grande parte dos Fã-Games. Os tutoriais serão do mais básico até o profissional. De começo, o nome da primeira parte do tutorial é:

Como criar um fã-game - Multimedia fusion 2 - part 1 - o básico em eventos e animações.


Antes de tudo, é claro, você tem que ter o programa instalado no seu HD, não irei postar links para baixar o programa ou coisas do tipo, caso queira baixar me contate privadamente. Eu irei utilizar como exemplo de criar um jogo básico, a série Bomberman.

Para iniciar o seu primeiro projeto, abra o programa e clica em New, ou em Open para abrir um projeto já salvo. Logo, irá aparecer as suas frames, dê duplo click em sua primeira frame (Frame 1).
Aí está a sua janela de criação do jogo, acima há botões para ir á outras janelas, como a dê edição de eventos, mas deixamos isso para depois.

Antes de qualquer criação, na parte esquerda da janela há um pequeno quadro escrito Workspace Toolbar, dê apenas um clique em Application:
 
Irá aparecer no quadro abaixo configurações do jogo, aí é onde você vai configurar o como vai ser o jogo, resoluções, comprimir arquivos, etc. Nesse quadro há as seguintes opções:
Em outra parte do tutorial irei mostrar detalhamente o que cada opção desses quadros fazem.
Logo acima na janela do programa, há 5 botões para cada janela:

1° botão: vai para janela de frames.
2° botão: há editar o frame atual selecionado, onde se cria objetos por exemplo.
3° botão: vai para o editor de eventos, sem dúvidas o mais utílizado, pois os eventos movem o jogo/aplicação.
4° botão: lista de edição de eventos.
5° botão: pode testar arquivos aplicados no jogo.

---
Você já aprendeu o básico do programa, agora vamos para uma básica criação, irei usar sprites e outros da série Boomberman como exemplo. Vá para a janela de editor do frame, clica em qualquer lugar do frame com o botão direito do mouse, e clique em:

O que tem nessa janela, são os objetos, tendo as extensões do programa, você poderá ter vários objetos, como objetos, tem os Actives, que pode ser aquilo que ganhará velocidade através de eventos e contadores. Contadores também é um objeto, na qual ele inicia com um número, e aquele número vai mudando conforme você criar ações/eventos para aquele contador (counter em inglês), imaginando um exemplo rápido: para programar que a velocidade do personagem acontece através do contador, você faz uma condição de que, segurar o botão direcional do teclado para a direita, irá adicionando +1 para o contador, sendo assim, o contador vai indo para 1,2,3... você inicia outra condição de que, quando o contador chegar a 5, o personagem irá mudar de animação para -correndo-, pois de 5 para baixo no contador, o personagem está andando, entendeu? Não? Vou fazer o processo mais detalhamente em outros tutoriais.

Bom, depois do que pedi para fazer antes (para que clicasse com o botão direito no frame -imagem anterior-), nessa janela clique duas vezes no Active e escolha um local do frame para coloca-lo, coloque na parte branca, pois a parte branca, digamos que é o que vai aparecer na câmera do jogo, e esse Active será o personagem. Clique duas vezes sobre o Active (se quiser pode renomeá-lo) e irá aparecer essa Janela:


Simples não? Bom, você pode editar os frames e criar uma animação dele parado (Stopped). Você pode pegar animações de sprites em sites como o http://www.spriters-resource.com/, para sprites do Sonic recomendo o http://themysticalforestzone.com.
Eu vou usar esses -http://www.spriters-resource.com/snes/sbomber/sheet/7887- sprites para o personagem, na imagem do Active, clica na pasta lá em cima (import) e abra a imagem com os sprites:


Dê um OK e vá fazendo isso com cada direção do personagem, se você ja tem uma imagem da direção da direita dele, você ja tem da esquerda, basta você copiar da direita para a direção da esquerda e clicar em "Flip horizontally" (virar horizontalmente).

Criou a animação do personagem parado? (Stopped) cria a das outras caso necessite, no Multimedia Fusion 2 os nomes das animações estão em inglês, veja abaixo a tradução de cada uma (nota: se quiser criar um nome para uma animação, clique com o botão direito em uma animação existente e clique em New):

Stopped: Parado - o personagem sem movimento algum.
Walking: Caminhando - o personagem caminhando.
Running: Correndo - o personagem correndo (no caso do Bomberman do exemplo, ele só caminha).
Appearing: Aparecendo - animação daquilo de quando a fase/frame inicia ou o objeto é criado em outra parte da fase/frame.
Disappearing: Desaparecendo - animação de quando morre/é destruindo/desaparece.
Bouncing: saltando (ou batendo) - animação de quando um objeto bate em algo e volta, estilo a bolinha do jogo Pinball.
Shooting: atirando (ou arremesando) - animação usada quando ativada o evento de atirar ou outro.
Jumping: pulando - animação do personagem pulando.
Falling: caindo - animação iniciada depois de um pulo por exemplo, ele está caindo.
Climbing: escalando - animação pode ser usada para empurrar, escalar, entre outros.
Crouch down/Stand up: ficar agachado/levantar-se (ou -olhar para cima-) - animações usadas para se abaixar e para se levantar.

Antes de terminar o assunto básico de uma animação, nunca se esqueça de configurar essa aba dos frames da animação chamada "Direction options":


Repeat= para que a animação se repita tantas vezes.
Back to= quando a animação parar, voltar para aquele frame.
Se for ligar o Loop a animação nunca vai parar repetindo sempre.

Speed= rapidez que os frames da animação carregam.
---
Agora você aprendeu o básico da criação de uma animação de um objeto. Agora irá aprender o básico do movimento. Dê um clique no objeto personagem, vai abrir um quadro a esquerda, procure por esse ícone: 


Clique-o, vai haver 3 opções Movement (irei explicar sobre isso em outro tutorial), Type (você irá ver uma lista dos movimentos abaixo) e Initial direction que é a direção inicial do movimento. Pois então, em Type, clique em Static (Estático - sem movimento algum), irá aparecer esses movimentos, vou explicar a função de cada um:


-Static: apenas estático, usado para paredes, melhor dizendo objetos colisões.

-Bouncing ball: bastante usado para criar movimentos customizados, como se quizesse criar outros movimentos como os abaixo, -porém não tem gravidade.

-Path: pode ser usado para plataformas que se movem, estilo as dos jogos do Mario e do Sonic.

-Mouse controlled:  usado para compatibilidade com o mouse, o objeto com esse movimento passará a substituir a seta do mouse.

-Eight directions: oito direções, ótimo sendo usado para jogos estilo Harvest moon, ou mesmo o próprio Bomberman, onde a câmera fica por cima (melhor explicado nos próximos tutoriais).

-Race car: movimento já configurado para quem pensa em criar um jogo de carro, acelerando e usando os direcionais direita e esquerda.

-Platform: bastante usado para jogos estilo o Mário, porém não tão recomendado para Jogos do Sonic, onde se tem que configurar física por física (exemplo: criação de engine 360).
Circular, Invaders, Presentations, Regular Polygon, Simples Ellipse, Sinewave, Vector, Pimball movement e Space Ship  são movimentos para serem usados em um objeto na qual será utilizado junto com o personagem, claro, pode ser usado para muitas outras coisas, mas por exemplo, o Vector, pode ser usado em um objeto colado junto ao personagem que serve como detecção de anglos, eles serão melhor explicados nos outros tutoriais.

Para o meu Bomberman, eu utilizei o movimento "Eight directions". Agora que já escolheu algum movimento para o seu personagem, vamos criar ações para ele na janela de eventos.
Para o meu Bomberman, eu irei criar uma ação que faça ele colocar uma bomba no campo e depois de um tempo explodir. Primeiro de tudo, crio a animação de uma bomba parada fora do quadro branco, após cria-lo, dê apenas um clique nele para abrir o quadro na esquerda (properties - propriedades), vá na aba "Rumtime options" e desative a opção "Creat at start", desativada, o objeto não terá existência no início, sendo assim existir apenas quando eu apertar um botão que irá fazer com que o personagem coloque/crie a bomba no campo.

Como eu tinha pedido, abra a janela de eventos, e clique em "New condition - Nova condição", irá aparecer nessa janela o que é possível criar condição. Então, seguindo, clique com o botão direito na bomba e vá em "Pick or count" - quantidade - e clique em "Have all "Bomba" been destroyed"; agora apareceu como sua primeira condição "Last -bomba- has been destroyed"; clique em cima do escrito com o botão direito e vá em insert para adicionar outra condição na condição e formar um grupo de condição:

 

Agora, se você criou um movimento para o seu personagem na qual tenha que prescionar algo para acontecer e assim ser criado o Player 1, vai aparecer uma mão apertando uma lavanca (Player 1) nesse quadro de eventos, clique com o botão direito em cima, clique em Joystick e em Read Joystick state, vão aparecer quatro direções e botões abaixo escrito Fire button 1,2,3 e 4, se deixar alguma direção ligada e algum button ligado, a condição só a de acontecer quando o -Player 1- estiver pressionando aquela direção e ter apertado aquele Fire button.

Então, no meu caso eu coloquei Fire button 1 e a condição foi para a janela de eventos também, junto a outra condição. Ou seja, na primeira condição diz "Have all "Bomba" been destroyed", e a segunda condição como "- Player 1 - Pressed fire 1", ou seja, para as ações acontecerem terá que todas as Bombas estarem destruídas (porquê se não o perso. sai colocando bomba ao infinito), e ter prescionado o Fire 1 (conforme você escolher o botão do teclado para o Fire 1). Agora vamos criar a ação, eu vou criar uma ação na qual irá criar uma bomba abaixo do personagem, então, procure por Create object, faça como aqui:


Vai aparecer a janela para escolher qual objeto você queira a ser criado, ou seja, eu selecionei a bomba, agora irás escolher o local a ser criado, escolha um valor x (horizontal)e y (vertical) do frame ou escolha um valor x e y relativo a um objeto, eu, coloquei relativo ao Player 1, a bomba será criada no local que escolhi, que é no x e y do Player 1. Deu para entender tudo melhor?
Pois então, adicionei outras condições, como as dê quando a animação de parado (stopped) da bomba chegar ao fim ela explodir. Por fim, veja na imagem abaixo como ficaram as condições da janela evento e da janela do frame:

Janela de eventos:


Janela do frame/fase:

É isso, hoje eu apresentei o mais básico de cada canto do programa. Durante o tutorial, criei um arquivo no MMF2 para exemplificar, caso queira baixar esse arquivo para abrir no seu MMF2 é só clicar no link abaixo: 

Próximo tutorial:
Como criar um fã-game - Multimedia fusion 2 - part 2 - mais outros básicos em eventos e como aplicar sons. 

Todo o tutorial eu irei publicar o arquivo da engine para vocês baixarem e abrirem com o MMF2, para assim entenderem melhor o processo. =)
Até a próxima!

Nenhum comentário:

Postar um comentário