Casa > C > Como Fazer Um Jogo De Defesa De Torre Com Rpg Maker Mv

Como fazer um jogo de defesa de torre com RPG Maker MV

Como qualquer outro conceito de jogo, você vai querer destilar o jogo que você tem em mente nas peças que você precisa, e então descobrir como implementar cada peça.

Então, o que é um jogo de defesa de torre?

<
  • Progressivamente inimigos mais duros desovam em um local, então siga um caminho roteirizado em direção a outro local.
  • Um jogador constrói torres ao longo desse caminho que atiram nos inimigos próximos. Muitas vezes, isso também inclui atualizar ou vender essas torres também.
  • Se N inimigos chegam ao local final, então é o jogo sobre.

Estes parecem todos bastante realizáveis em RPGMV. Então vamos fazer isso!

P>Primeiro, precisamos de um mapa. Ele precisa de uma entrada para os inimigos, uma saída para os inimigos, e um caminho ligando os dois.

main-qimg-12b484e043408fcd7a7048017a3ae901

Neste jogo, vamos inverter os papéis e jogar como um monstro. Os aventureiros vão sair da cidade (à esquerda) e seguir o caminho para a caverna em que vivemos (à direita). Se um único aventureiro chegar à caverna, podemos assumir que ele vai matar toda a nossa família de monstros e o jogo termina.

Então, vamos em frente e escreva um aventureiro seguindo o caminho. Usamos uma rota personalizada e autônoma para isso. Também usamos velocidade e frequência normais, e definimos a prioridade para "Below characters" para que o jogador não possa pisar na frente do aventureiro para bloqueá-los de mover.

main-qimg-13f4305deb7004ad118afb187dbb9deb

Certifique-se de apertar o play para testar o caminho do movimento neste ponto para ter certeza de que o aventureiro segue o caminho que você desenhou.

Cool: nós temos o básico aqui. O que ainda está faltando é:

>ul>##li>Permitir que o jogador crie torres que ataquem o aventureiro##li>algum tipo de sistema de saúde para o aventureiro#li>Espanhar um aventureiro mais forte a cada onda##li>Ending the game if the adventurer makes it to the cave#p> Então... vamos nos dirigir a cada.

Permitir que o jogador crie torres que ataquem o aventureiro. Os jogos de defesa de torres têm tudo a ver com escolher combinações vencedoras de cada tipo de torre. Obviamente, vamos precisar de alguns tipos de torres. Também vamos precisar de algum tipo de sistema monetário para evitar que o jogador apenas construa uma torre livre em cada praça.

Uma abordagem seria criar "hotspots" de torres onde você pode construir torres (com uma prioridade "Below characters" e um "Action Button" trigger). Ao acionar esses eventos de hotspots, podemos mostrar um menu perguntando ao jogador que tipo de torre ele gostaria de construir.

main-qimg-4f2218e5a2dd27e26df2e0764fa685d6-mzj

Se você fizer essa abordagem, você deve ter cada escolha configurando um auto-switch no evento que o transforma naquela torre. Nesses eventos "ativados", você pode então oferecer a escolha de vender essa torre para um reembolso (o que desajustaria o auto-switch e a transformaria novamente em um hotspot de torre).

No entanto, acho que uma abordagem mais fria aqui seria um sistema baseado em itens. Digamos que você começa com um punhado de torres de bolso de consumíveis no seu inventário, e usando uma delas coloca aquela torre na sua localização atual. Podemos também dizer que matar um aventureiro deixa cair uma torre de tesouro com um item de bolso aleatório.

main-qimg-cb7853f4cd74c5afafb0d52f912ac91e

Com esta abordagem, você pode apenas criar um evento comum para cada tipo de torre que verifica as coordenadas do jogador atual e determina se há uma torre lá ou não (e se houver, adiciona o item da torre de volta ao seu inventário, já que ele seria consumido no momento em que o evento acontece). Se não houver uma torre, você pode usar um script como o MV Event Spawner da Galv para criar um evento de um determinado ID no seu local atual. Neste caso, você vai querer configurar eventos "template" para cada tipo de torre que você pode duplicar cada vez que o jogador criar outra torre.

Next: o aventureiro precisa de algum tipo de sistema de saúde, e ele deve ficar mais forte a cada onda.

Isso leva à parte provavelmente mais complicada do jogo, porque o RPG Maker MV não tem interações entre eventos apenas interações entre evento e jogador. Se quisermos que nossas torres "ataquem" ou interajam com o aventureiro (também um evento), precisamos criar um evento paralelo (sempre correndo) que lide com a detecção de colisão/touch.

Para fazer isso funcionar, tudo o que precisamos fazer é armazenar as coordenadas e o tipo de torre sempre que uma nova torre for criada (em nossos eventos comuns de torre acima). Isto pode ser armazenado em variáveis que são então acessíveis ao nosso evento paralelo. Cada tick de evento (ajustável pela "Frequência" do evento) irá então olhar para as coordenadas do aventureiro e compará-las com as coordenadas de cada torre. Se eles estiverem tocando uns nos outros (ou, se você quiser torres de longo alcance, dentro de uma faixa de R), então eles irão "lidar com danos" para o aventureiro.

Para isso, você provavelmente vai querer um script como MV Plugin: Orange Hud para criar algum tipo de exibição sempre visível tanto para a saúde do aventureiro, como para qualquer outra informação que você queira mostrar (como o nível/onda atual). Você pode simplesmente armazenar a saúde do aventureiro em uma variável e exibi-la no HUD.

Simplesmente, nós também queremos criar um evento paralelo adicional que verifica a conclusão da onda. Neste evento, podemos apenas verificar se a saúde do aventureiro é menor ou igual a zero (no caso de lidarmos com danos suficientes para tomá-los negativos, queremos que isso conte também!). Quando isso for verdade, nós despatizamos o evento do aventureiro, redefinimos a saúde do aventureiro para a quantidade de saúde da próxima onda e preparamos as coisas para a próxima onda de aventureiros.

main-qimg-78f0ee79c9f5ee5802eaa8b3c7462024

Neste ponto, também podemos modificar o evento de desova de cada aventureiro da onda para também desovar N aventureiros com base na onda em que estamos. Isto requereria armazenar o número da onda em uma variável (provavelmente ao invés do multiplicador de saúde da onda que estamos usando acima), assim como armazenar a saúde de cada aventureiro em alguma estrutura de dados diferente da nossa escalar atual.

Finalmente, precisamos terminar o jogo em um gameover se algum aventureiro chegar à caverna. Se você chegou até aqui, o último passo é uma brisa.

Da mesma forma que estamos calculando danos na torre, comparando as coordenadas do aventureiro com as torres próximas, também podemos criar um evento paralelo adicional para comparar as coordenadas do aventureiro com as coordenadas no final de seu caminho. Se ele chegar lá, acione um Game Over.

Of course, você também pode armazenar uma variável Lives que fica decrescente para cada aventureiro que chega ao fim se você quiser deixar vários aventureiros entrarem na caverna - mas como todos sabemos, é preciso apenas um aventureiro para abater uma família de demônios. Como esse demônio, nós definitivamente não podemos ter isso!

Simplesmente, esse evento também poderia estar encarregado de determinar a condição de vitória do jogo se você não quiser um modo interminável. Você pode simplesmente verificar a variável Wave e, digamos, se ela for igual a 10 ou 20 ou 100, então acione um evento comum que parabeniza o jogador e deixa os créditos.

De Sperry Kovatch

Você pode usar uma carteira de motorista vencida como identificação com foto? :: Quão poderoso é Darth Vader?