TUTORIAL: espinhos inteligentes para puzzles, labirintos, cavernas e mini-games sem script


Basta se aproximar e os espinhos ativam. Se afaste e eles irão parar de se mexer. Se mesmo assim você quiser arriscar, tente passar antes que eles subam totalmente para não levar dano no HP. Estes são os espinhos inteligentes que acionam somente quando o jogador está próximo deles.

A vantagem? O bug é menor no mapa e também pode enganar o jogador (até apavorá-lo).

Programá-los não é difícil, mas exige atenção, portanto siga as instruções corretamente:

Crie um novo evento. Na aba 1, clique em "Controle de Variável".

Clique para ampliar.


Precisamos criar 3 variáveis para começar:

JOGADOR X
JOGADOR Y
REGIÃO JOGADOR


Pode ser onde você quiser. Aqui criei nos números 1, 2 e 3.

Feito isso, vamos começar a configurar o processo paralelo, ou seja, é um evento que ficará sempre ativo durante o jogo, mas que não irá interferir em outros eventos que esteja ocorrendo ao redor. Neste evento precisamos indicar ao jogo que quando o jogador estiver próximo, ele deverá ativar os espetos. Escolha a primeira variável, ou seja, JOGADOR X.


Selecione a opção "Informação" e configure para "Personagem" como "Jogador" e "Valor" como "Mapa X". 


Clique em Ok em tudo e teremos a primeira variável pronta.

A segunda é parecida, mas desta vez você deve mudar para JOGADOR Y e Mapa Y.

A última variável a ser configurada é a REGIÃO JOGADOR. Vá até a aba 3 e clique sobre "Informação de posição".


Selecione a variável de REGIÃO JOGADOR. Em "Tipo de Informação" mude para "Região ID". Por fim selecione "especificar por variável" e bote ali as variáveis JOGADOR X e JOGADOR Y. Clique em Ok.


Voltamos à tela de configuração do evento. Sugiro que você renomeie para algo como "Controle-espinho", pois assim saberá do que se trata esse evento. Por último não esqueça de mudar a Condição de Início para "Processo Paralelo". Clique em aplicar e em ok depois.

Seu evento deverá ficar exatamente como este. Clique para ampliar.

Este evento de controle poderá ficar em qualquer canto do mapa. Eu costumo colocar em algum lugar onde o jogador não tenha acesso como o alto de uma parede por exemplo.

Agora podemos configurar um espeto. Escolha o lugar onde quer um espeto e crie um novo evento clicando 2x. Aqui você deverá primeiro escolher o gráfico do espeto. Ele está em "Other!1". Selecione o gráfico em que os espetos estão abaixados e deixam apenas os buraquinhos aparecendo. Mude para "Direção fixa" e "Abaixo do Herói". A condição de início deve ser "Processo Paralelo" também, afinal os espetos são automáticos.

Agora vamos dar os comandos para que os espetos ativem quando o jogador estiver próximo. Na primeira aba, selecione "Condição".


Selecione "Variável" e escolha a variável REGIÃO JOGADOR. Mude a "Constante" para 1. Desmarque a opção para exceção. 


Dentro dessa variável, clique duas vezes para adicionar um novo comando. Selecione "Esperar" na aba 2 e configure para 30 frames.


O espeto tem que subir para poder atingir o jogador, portanto teremos que adicionar um novo comando. Vá na aba 2 e selecione "Mover evento". Selecione "Este evento" e dê as seguintes coordenadas:
Direção Fixa OFF
Olhar à esquerda
Esperar: 3 frames
Olhar à direita
Esperar: 3 frames
Olhar acima

Mantenha selecionado "Aguardar até o fim".

Clique para ampliar.

Ainda dentro da condição, adicione um terceiro comando que será uma nova condição que irá averiguar se o jogador está sobre o espeto na hora errada. Se estiver, ele levará dano. Na verdade este é o grande segredo por trás desse evento. Selecione "Condição" na aba 1 e vá até a aba 4. Selecione "Script". A fórmula a seguir deve ser digitada ou copiada sem erros ou nada dará certo. Cole a fórmula abaixo:

$game_player.x == $game_map.events[@event_id].x && $game_player.y == $game_map.events[@event_id].y

Tire a exceção.


Dentro desta segunda condição onde tem a fórmula, você deve adicionar apenas 2 comandos. O primeiro é um efeito em flash (fica na aba 2 como "Efeito flash") com coordenadas que você quiser. Eu sugiro os seguintes valores:
Vermelho: 255
Verde: 0
Azul: 0
Força: 128

Mude o tempo para 20 frames e desmarque a opção "Esperar até o fim".


Esse flash na verdade aparecerá bem rapidamente quando o jogador sofrer dano, ou seja, quando ele pisar sobre o espeto e se machucar.

Ai!

O segundo comando é o que irá tirar HP do jogador. Aqui programei para tirar 5 de HP, mas você pode botar o valor que quiser. Vá na aba 1 e clique sobre "Mudar HP". Eu deixei pra afetar o grupo inteiro, mas você também pode modificar para alterar o HP só de um personagem. Em "Operação" marque o "Diminuir" e "Constante" de 5, que é o valor que o grupo inteiro vai perder de HP, como eu disse anteriormente.


Agora falta apenas um comando. Preste atenção para não adicioná-lo na segunda condição. Ele na verdade deve ficar depois da segunda condição. Já que o espeto subiu, agora terá que descer. Crie um novo movimento de evento com as seguintes coordenadas:
Direção fixa OFF
Olhar à direita
Esperar: 3 frames
Olhar à esquerda
Esperar: 3 frames
Olhar abaixo

Não esqueça de configurar para "Este evento" e de manter selecionada a opção "Aguardar até o fim".

Seu evento deverá ficar exatamente como este. Clique para ampliar.

Eu costumo identificar como "Espeto 1", "Espeto 2", "Espeto 3" e assim sucessivamente. Essa parte é opcional e serve mais pra deixar tudo organizado. Assim você sabe o que é cada evento no mapa. 

Dê Ok.

Para criar um novo espeto, copie e cole o primeiro espeto onde deseja. A programação é a mesma, então sugiro que não perca tempo programando tudo várias vezes. Apenas copie e cole mesmo.

Note o evento na parede. Sim, é o controle. Os outros são os espetos.
A última parte envolve uma configuração no mapa. Pressione F7 do seu teclado ou simplesmente escolha a opção "Regiões". A região de número 1 deverá ser selecionada. Agora você deve aplicá-la ao redor dos espetos. É assim que o seu jogo saberá quando o personagem está próximo o suficiente para ativar os espetos. É exatamente quando ele passa por cima dessas regiões demarcadas com o número 1 que ativam-se os espetos automaticamente. Se você sair dessa região, eles irão parar.


Teste e se fez tudo certo, verá que os espetos acionam apenas quando o personagem está próximo. Se você não passar rápido o suficiente, o espeto te tirará 5 de HP.

Tutorial original por RM2KDEV. Vídeo original | TwitterSite
Traduzido e adaptado por Liuka.

TUTORIAL: como reajustar tilesets e adicionar mais coisas?

Daí você baixa um tileset e vai todo contente adicionar no acervo do seu projeto, configura tudo e...ficou uma droga! Um objeto fica cortado em 3, quando deveria ser apenas cortado em 2 partes ou dois objetos ficam na mesma área, nada encaixa, outros objetos ficam grudados, a sombra fica longe... É um desastre! Mas calma, é bem fácil de resolver.

Clique para ampliar.
Aqui usarei o programa GIMP que é gratuito e você pode baixar por aqui, mas você também pode usar outros editores de imagens como o Photoshop por exemplo. As ferramentas necessárias serão a grade, recortar, colar, lupa (ou zoom) e um pouco de paciência.
.
Abra o GIMP e em seguida abra o arquivo da imagem nele (Arquivo > Abrir).

Clique para ampliar.
Cada objeto, cada parte, cada plantinha ou o que quer que seja que esteja compondo o seu cenário deve ficar milimetricamente no lugar certo ou na hora de montar tudo ficará um desastre! Mas como conseguir essa façanha? O segredo é utilizar uma ferramenta chamada “grade”. Ela funcionará como uma espécie de gabarito para que você consiga ajustar e acertar cada parte do cenário de forma adequada.
.
Você deve configurar a grade (Imagem > Configurar Grade) da seguinte forma:

Clique para ampliar.
Vá na parte do espaçamento e mude os valores para:
Altura = 32
Largura = 32

.
Não precisa mexer em mais nada. Aliás, eu sempre mudo a cor das linhas para vermelho para que possa visualizar melhor a grade na tela, mas fica a seu critério. Se desejar fazer o mesmo, mude a cor na opção “Cor de frente”. Dê um OK.
.
Ative a grade na imagem (Visualizar > Exibir grade). Pronto!
.
Clique para ampliar.
Agora vamos focar na imagem em si. Se preferir, utilize a Lupa para dar um zoom na imagem. Ela fica na Caixa de ferramentas.

.
O exemplo abaixo ilustra perfeitamente o que significa o desalinhamento do objeto.

.
Repare que o “gira-gira” do parquinho está totalmente fora de posição. Selecione a ferramenta “Seleção retangular” (um quadradinho no canto da Caixa de ferramentas), corte o objeto com cuidado para não atingir outras partes de outros objetos (se necessário, utilize a ferramenta “Seleção livre” para fazer um contorno à mão livre).

Seleção retangular à esquerda e seleção livre à direta.
A parte selecionada ficou com um pontilhado que se move ao redor. Em seguida recorte a imagem (ctrl+x ou “Editar > Cortar).
.
Atenção: você deve CORTAR e não COPIAR, pois precisamos “apagar” temporariamente a imagem para poder reposicioná-la.
.
Cole a imagem (ctrl+v ou “Editar > colar”). Agora tem um pequeno truque que na verdade é uma função exigida pelo GIMP para que ele compreenda a nova imagem colada como uma camada de fato. Isso significa que você poderá modificar a imagem colada como quiser, mas antes tem que fazer o seguinte: vá no menu de camadas e texturas, clique com o botão DIREITO sobre a opção “Camada flutuante” e selecione “Para nova camada”.

Clique para ampliar.
Pronto, agora ele vê como uma camada nova e consequentemente como uma imagem. Clique sobre essa nova imagem que você colou para selecioná-la (para excluir essa imagem, basta clicar sobre ela e depois sobre a lixeirinha que tem no cantinho do mesmo menu).

Clique para ampliar.
Feito isto, selecione a “Ferramenta de movimento” (uma cruz com setinhas) no menu de ferramentas. Clique sobre a imagem que quer movimentar, segure e arraste. Tente encaixar a imagem nos quadradinhos de forma que ela fique certinha como naquele exemplo do gira-gira. Você pode usar as teclas direcionais do seu teclado para ajudar a fazer ajustes finos na movimentação.

.
.
Faça o mesmo com todos os outros objetos que precisem ser ajustados.
.
O GIMP salva automaticamente todo arquivo com extensão “.xcf”, que o RPG Maker não consegue ler. Então teremos que converter esse arquivo para uma extensão compatível. A extensão perfeita para isto, pois salva a imagem com a transparência, é a extensão “.png”. Você deve exportar o arquivo para PNG (Arquivo > Exportar como...).
.
Primeiro dê um nome ao seu arquivo (quadro vermelho). Cuidado pra não apagar a extensão dele (as siglas depois do ponto). Em seguida escolha um lugar onde quer salvar o arquivo (quadro verde). Por fim escolha a extensão do arquivo na lista (quadro azul). No nosso caso é a PNG. Clique em Exportar.

Clique para ampliar.
Aparecerá mais uma janela perguntando algumas qualidades da imagem. Simplesmente selecione todas as opções, deixe a compressão sempre em 9 e clique em Exportar.

Clique para ampliar.
Agora você pode utilizar o arquivo no jogo. Basta apenas incluí-lo no acervo do seu projeto, configurar o tileset e por fim montar o seu cenário. Se você fez tudo direitinho, então o cenário ficará perfeito, se não retorne ao GIMP e faça mais alguns ajustes.

Ajustes pequenos, mas que fazem uma grande diferença. Clique para ampliar.
Alguns objetos não precisam ficar exatamente alinhados, pois às vezes você quer uma parte deles encostada na parede ou que fique por cima dos personagens, mas isso só será decidido quando você montar o cenário pro seu jogo.
.
O interessante dessa técnica é que você pode fazer o mesmo com charsets e também pode incluir objetos de outros tilesets em um já existente ou montar o seu próprio tileset com os objetos que você precisa/quer. Apenas não esqueça de creditar o(s) autor(s) original(s) do(s) tileset(s) que você usou para montar o seu próprio.

TILESET - CHARSET - hospital - clínica - médico - porta - necrotério - cirurgia - terror







Crédito: Flaming Teddy Productions

CHARSET - ouro - tesouro - gênio - lâmpada - moedas - fortuna - templo









Créditos: Maru e Celianna
Baú da Liuka