Forums » RPG MAKER VX

Saga: Tutoriais - Mini Games: PACMAN!

    • 225 posts
    28 de maio de 2015 14:39:48 ART

    Imagem Postada

     

    Imagem Postada



    O que é?

     

    Estou disposta a postar tutoriais semanais para o fórum do Mundo RPG Maker, de como criar diversos mini-games no Rpg Maker VX. 
    Os tutoriais são feitos por mim, bem como os mini-games (sistemas) por isso não leve esses tutoriais para outros locais, sem a minha permissão!
    Para seguir os tutoriais, basta ler com atenção, tudo será feito com eventos (apenas usarei alguns scripts, para algumas modificações). Por isso os tutoriais serão de extremo entendimento.

    Tutorial de hoje:
    Essa semana irei ensinar como criar um mini-game BÁSICO do clássico: PacMan.
    Na verdade para a estréia da saga, eu iria começar com outro mini-game, porém alguns problemas impediram isto. 

    Pequena observação: Esse tutorial é antigo e suas promessas também, talvez eu não faça tutoriais semanais, mas por enquanto temos esse!



    Materiais:

     


    Claro que para fazer um mini-game de pacman, você poderá usar os gráficos que achar melhor, porém, quem quiser, aqui estão os gráficos do jogo, ripados por mim:

    Imagem Postada Imagem Postada Imagem Postada Imagem Postada Imagem Postada Imagem Postada

    Importe os gráficos para a pasta 'characters' do seu projeto.

    Começando:

     

    Primeiramente vamos mapear o mini-game.
    Eu estou com o mapa nas medidas: 17x13 com o tile A do RTP.
    Preencha o mapa com o espaço preto, e depois pegue algum tile que não pareça grama nem água, e mapeie como achar melhor:
    Pode ser algo simples, apenas faça um mapa que lembre algo dos jogos pacman, algo como isto:

    Imagem Postada

    Agora que mapeou, vamos aos eventos dos fantasmas:

    1° Crie um novo evento no mapa, com o gráfico do fantasma.
    Deixe a freq dele em 5, e iniciar quando em ''ao tocar heroi'', Opções de animação MOV.
    Em comandos de eventos, coloque para reproduzir alguma SE de sua preferência, esperar 25 frames, e chamar tela de game over:

    Spoiler 
    Imagem Postada


    Depois, vá em tipo de movimento, no fantasma e coloque para a invisibilidade ficar OF, e depois o comando ''seguir herói'', marque a opção ''repetir movimento'' e ''ignorar se impossível'':

    Spoiler 
    Imagem Postada


    Agora, crie uma nova aba nesse mesmo evento, crie uma switch com o nome de ''Blue 1'', coloque o gráfico do fantasma azul, em ''opções'' deixe em animação fixa, ''iniciar quando'' em ao tocar evento, ''freq'' 5, e tipo pré-definido. Dentro dessa opção, coloque para a invisibilidade deste evento ficar OF, e o comando ''fugir do herói''.
    Em comandos de eventos, crie uma nova variável com o nome de ''pontos'' e adicione (+) 3.000 na constante (ou o valor que você preferir). Coloque para reproduzir qualquer SE que desejar, e depois chame o comando ''posição de evento''. Coloque o evento, aonde o mesmo se inicia (dentro de um cubículo, como no jogo oficial)

    Imagem Postada

    Após fazer isso, coloque a opção de switch local A ON:

    Spoiler 
    Imagem Postada


    Pois bem, agora crie uma nova aba nesse mesmo evento, coloque ainda o gráfico do fantasma azul, em condições do evento, coloque a switch local A, e iniciar quando em ''processo paralelo''.
    Em comandos de eventos, ponha para que se espere 450 frames, chame o comando ''posição de evento'' e ponha o evento em algum local que não seja o cubículo, operação de switch local A OFF, e switch ''blue 1'' OFF:

    Spoiler 
    Imagem Postada


    Dê OK. O evento do inimigo está pronto, agora basta criar mais três como este, e acabou!
    Lembre-se de trocar as posições do evento, e as switchs, crie mais três switchs: ''Blue 2'','' Blue 3'' e ''Blue 4.''

    Imagem Postada

    Agora vamos criar os eventos das bolinhas que o pac vai comer.
    1º Crie um evento no mapa, coloque o gráfico que preferir (eu usei uma de pedra do RTP)
    Coloque em direção fixa, prioridade em ''junto ao heroi'', iniciar quando em ''ao tocar evento''.
    Comandos de eventos, você coloca uma SE qualquer, crie uma nova variável com o nome de ''bolas'' e adicione (+) 1 na constante.
    Depois, coloque na opção de switch local A, e deixa-a ON. Crie uma nova página nesse evento, deixa-a em branco, e coloque em condições do evento a switch local A:

    Spoiler 
    Imagem Postada


    Espalhe esse mesmo evento pelo mapa (copiando-o e colando-o) e não se esqueça de contar quantas tem:

    Imagem Postada

    Pronto. Dê OK.

    Agora vamos criar as bolinhas que farão os fantasmas fugirem de nós:
    1º Crie um novo evento no mapa com o gráfico que preferir (eu usei um gráfico de uma bola de neve do RTP)
    Coloque em direção fixa, em ''prioridade'' coloque junto ao heroi, ''iniciar quando'' ao tocar evento.
    Em comandos de eventos, coloque para reproduzir uma SE de sua preferência, coloque na variável 'pontos' +500 na constante (ou o número que quiser), crie uma nova variável com o nome de ''bolas especiais'' e adicione (+) 1 na constante. Depois coloque para todas a switchs ''blues'' ficarem ON: Blues 1, 2, 3 e 4.
    E por fim, uma switch local A. Crie uma nova página nesse mesmo evento, e em condições do evento, a switch local A ON:

    Spoiler 
    Imagem Postada


    Espalhe esse evento mais uma duas vezes pelo mapa, e pronto!



    Os comandos:

     

    Agora que criou os objetos do mini-game, vamos criar os comandos para sua final funcionalidade.

    Vamos criar primeiro um comando que faz com que, quando você tiver 1 ou mais na constante da variável ''bolas especiais'', após algumas frames as switches ''Blue'' ficarão OFFs.
    Para fazer isso primeiro, crie um novo evento em processo paralelo, em condições de eventos, selecione a variável ''bolas especiais'' e deixe a constante em 1.
    Depois, em comandos de eventos, coloque para que após 500 frames as switchs blues 1,2,3 e 4, fiquem OFF:

    Imagem Postada

    Certo, dê ok e pronto.

    O próximo evento será quase igual a este, porém com a variável ''bolas''.
    Deixe a constante igualada ao total de eventos de bolas no mapa.
    Em comandos de eventos, coloque para as switches blues 1,2,3 e 4 ficarem ON, e escreva uma mensagem do tipo ''Parabéns, você coletou todas as bolas'', e depois coloque para voltar à tela título, após tudo isso:

    Imagem Postada

    Agora, nas extremidades do mapa, coloque eventos com a opção ''ao tocar evento'' e um teleporte, para o seu lado oposto:

    Spoiler 
    Imagem Postada


    Pronto.
    Nosso próximo passo é fazer uma condição de teclas.
    Todos nós sabemos que no jogo do pacman, ao pressionar por exemplo a tecla ''direita'' o personagem se move para a direita, e depois continua se movendo para a direita, sem precisar apertar nada.

    Para fazer isso, crie um evento em processo paralelo, e nele em comandos de eventos, crie quatro condições, cada uma delas com teclas diferentes (Cima, Baixo, Esquerda e Direita)

    Imagem Postada

    Agora, dentro de cada condição, coloque um ''mover evento'' com a direção da tecla de condição.
    Marque a opção ''repetir movimento'':

    Imagem Postada

    Perfeito!

    Agora para finalizar, crie um último comando em processo paralelo no mapa, que faz com que após alguns frames, os fantasmas saiam daquele cubículo:

    Para fazer isso, crie um evento em processo paralelo no mapa, e coloque para aguardar 200 frames.
    Agora ponha o comando posições de eventos, e coloque para que cada evento dos fantasmas, fiquem num local fora do cubículo:

    Imagem Postada

    Coloque um comando ''apagar evento temp'' e tchan... ficou pronto!

    Imagem Postada

    Pronto! Finalizado! Nosso sistema está completo, e se quiser você pode adicionar um script de mostrar a variável na tela, para os pontos, aqui está:

    Spoiler 
    #------------------------------------------------------------------------------_## Variável na tela por Raziel##------------------------------------------------------------------------------- VAR1 =1#ID da variável que será mostrada na tela. VAR2 =2#ID da outra variável que será mostrada na tela. SWITCH =66#ID do switch que liga/desliga a janela. POSITION =2#Posição da janela na tela 0 = Esquerda acima 1 = Direita Acima#2 = Esquerda Abaixo 3 = Direita AbaixoclassWindow_Variable<Window_Basedef initialize super(0,0,128,82)self.contents =Bitmap.new(width -32, height -32)self.opacity =255 refresh enddef refresh self.contents.clear @var1= $game_variables[VAR1]@var2= $game_variables[VAR2]self.contents.draw_text(0,0,96,64,@var1.to_s,2)self.contents.draw_text(0,0,96,32,@var2.to_s,1)enddef update super refresh endendclassSpriteset_Mapalias old_init initialize alias old_disp dispose alias old_updt update def initialize create_window_var old_init enddef create_window_var @window=Window_Variable.newcase POSITION when0@window.x =0@window.y =0when1@window.x =544-@window.width @window.y =0when2@window.x =0@window.y =416-@window.height when3@window.x =544-@window.width @window.y =416-@window.height end@window.visible =falseenddef dispose dispose_window_var old_disp enddef dispose_window_var @window.dispose enddef update update_window_var old_updt enddef update_window_var if $game_switches[SWITCH]==true@window.visible =true@window.update else@window.visible =falseendendend

     

    Finalização:

     

    É isso aí pessoal, espero que tenham gostado deste tutorial.
    O próximo será sobre como criar um mini-game de Snake.



    Créditos: MayLeone por criar e idealizar o tutorial;
    Raizel: Pelo script de pontos.