O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Sistema de Voo v1.1

Iniciado por joeybelmont, 15/07/2014 às 02:47

15/07/2014 às 02:47 Última edição: 15/07/2014 às 23:24 por Vash
[box class=catbg3]
[/box]
[box class=catbg3]
Engine: RMVXA                                                                F.A.Q Embutido: Não                                                                Nível de dificuldade: Fácil/médio - Mais trabalhoso que difícil[/box]

[box class=catbg2]
  • Introdução[/box]

    Fala, Makers! Blzinha?

    Eu iniciei esse sistema em 2012 e Na época não consegui corrigir o bug básico desse tipo de sistema: Pousar em tiles intransponíveis [X]. O sistema ficou na gaveta e eu já tinha até desistido dele.

    Por um acaso resolvi mexer nele e PIMBA! Esta pronto a versão 1.0 do sistema.

    Essa versão tem o sistema básico de voo 100% funcional. Porém não é a versão final do sistema. Existem outras caracteristicas que estão prontas, mas eu recriei a Demo dessa forma para ficar melhor organizada e gostei do resultado obtido até aqui, um o sistema mais simples.

    Eu irei atualizar o sistema com as caracteristicas adicionais, mas isso depois que eu terminar o tutorial dessa versão.

    [box class=catbg2]
  • Updates[/box]

    Desculpem pela pouca organização, estou postando essa copia do post por falta de tempo, mas o sistema já está pronto e recebeu sua primeira atualização para a versão 1.1

    Adicionado tempo limite para voar, sendo que cada herói tem sua própria limitação.

    Também tem um tempo de cooldown para voltar a usar a habilidade. Cada heroi tem seu tempo também, mas se você mudar o personagem principal nesse tempo a contagem não vai zerar. Isso, pretendo trabalhar em uma próxima atualização.

    Também foi adicionado level up para a habilidade, cada heroi evoluindo do seu jeito - a evolução se dá ao tempo de voo e a recuperação da habilidade.

    O bug visual mencionado na descrição ainda não foi arrumado, acabou por ser mais complicado do que eu esperava, então atualizei o que já estava pronto primeiro.

    Assim que possivel, posto um novo vídeo, com as novas funções.

    [box class=catbg2]
  • Explicação sobre o Sistema:[/box]

    Spoiler
    Já pensou em ter um personagem que voa no seu RPG? Mas de preferencia que não pouse sobre um telhado e fique preso, denegrindo-o de herói para bug?

    Pois é, agora você pode ter um... Ou vários! Você decide.

    Esse sistema não permite que o jogador pouse sobre tiles não passaveis, impulsionando-o até o chão mais próximo quando acontecer e tiles com prioridade acima do heroi perdem essa propriedade durante o voo.

    Também permite ele se 'afogar' ao cair na água e se machucar ao cair em buracos. Quando isso acontecer ele perde HP e retorna para o ponto do mapa onde iniciou o voo.

    Outra caracteristica do sistema é que você pode escolher quantos e quais personagens podem voar, ou criar objetos que servem de transporte. Ex: Vassoura/Tapete Mágica.

    O sistema possui 3 tipos de personagens:

    - Voador: Uma vez que o sistema for ligado, essa(s) personagem(s) pode(m) voar sempre que o jogador quizer.
    - Não voador: Tem coisas que não é pra todo mundo... Voar é uma delas. Essas personagens não possui habilidades de voo.
    - Voador condicional: Essas personagens até sabe lidar com o "tráfico áereo", mas precisa de auxílio - Arma, acessório, item especial, magia...
    [close]
    [box class=catbg2]
  • Dados Específicos:[/box]

    Spoiler

    • Número de Switches: 04
    • Número de Condições: Várias. O sistema é baseado em condições.
    • Número de Variáveis: 09
    • Número de Itens necessários: 1 ou mais. No caso da demo criamos uma nova Armadura para ser usada em Acessórios
    • Número de Eventos Comuns: 02 para essa versão.
    • Controles: X para voar/pousar
    • Evento local: 01 para proibir/liberar voo. (Na demo esse evento é a porta do mapa externo - proibir -  e teletransporte para sair da casa - liberar)
    • Outras especificações:
      Aba "Tileset" do Banco De Dados:
           
    • ID de Terreno: 04 - São as IDs de terrenos que ditam se o personagem pode pousar ou se deve deslizar até o proximo tile abaixo. Também identifica o que fazer se for água ou buraco.
           
    • Clonagem dos tiles onde se pode voar. Serve para que os tiles com prioridade acima do heroi fiquem intransponíveis durante o voo (evitando "defeitos visuais")
                Ex: 005: Exterior_Vila
          clone: 006: Exterior_vila VOO
    • Modo Regiões: 3 - Serve para auxiliar a ID de terreno que desliza o personagem. Por padrão ele desce um tile. As regiões são para partes especificas do mapa , onde ele precisa ir para direita, esquerda ou para cima.
                                                Ex: quando o mapa termina com tile de parede - Se não configurar para ele mudar de direção, vai bugar porque a personagem ficará tentando mover para baixo. ( Na demo só os tilesets de id 5 e 6 foram usados)
    [close]
    [box class=catbg2]
  • Tutorial[/box]


    [box class=catbg3]
    PARTE I: Um item Muito Especial
    [/box]
    Spoiler
    Algumas personagens poderão voar, mas para isso deverão possuir um item especial. Antes de iniciar o sistema vamos criar esse item.
    Primeiro você deve decidir qual a classificação do item: Comum, Item importante, Armas ou armaduras.
    Na nossa demo usamos como Armadura: Acessório. Assim o personagem só poderá voar se estiver equipado com a vassoura. Ademais poderemos restringir o uso da vassoura por classe – Nesse caso, bruxas.

    [box title=Passo 01:] Criando um novo tipo de Armadura (Acessório)[/box]

    Primeiro vamos criar um novo tipo de armadura.

    Acesse o 'Banco de Dados' e vá na Aba 'Termos'.

    1.   Vá em 'Tipos de Armadura' e clique em 'Número Máximo...'
    2.   Acrescente +1 na quantidade total e dê um Ok.

    1.   Selecione o novo tipo de Armadura que criamos
    2.   Dê um nome para o tipo de armadura. Ex: "Vassoura Mágica"

    [box title=Passo 02:]Criando o Acessório (Armadura)[/box]

    1.   Entre na Aba 'Armaduras' do Banco de Dados.
    2.   Assim como no passo anterior, clique em número máximo e adicione mais um no total de armaduras e selecione o espaço criado.
    3.   Dê o nome do novo item e escolha o icone que irá representa-lo (a demo possui o iconset com vassoura)
    4.   Descreva seu item
    5.   Em tipo de Armadura Selecione o novo tipo que criamos no passo 01: 'Vassoura Mágica'
    6.   Dê um preço para o item
    7.   No tipo de classificação (que define qual slot irá ocupar no inventário do personagem) coloque como 'Acessório'
    8.   Como a vassoura vai ocupar o slot de um acessório você pode dar atributos mágicos por equipá-la. – aqui fica a seu critério.
    9.   O mesmo vale para os Traços – Se preferir pode deixar vazio;
    10.   Clique em 'Aplicar' para salvar as alterações

    [box title=Passo 03:]Criando uma Nova Classe [/box]

    Como disse anteriormente, nosso item só poderá ser usado por Bruxas. Vamos criar essa 'classe'. Vá na Aba classes.
    1.   Assim como nos passos anteriores aumente o número máximo de classes e selecione a nova ID de classes. No caso da demo eu apenas copiei (ctrl+C/ctrl+V) a classe 'Mago' e colei no novo slot de classes.
    2.   Renomeie a classe para 'Bruxas'
    3.   Clique no espaço em branco da opção 'Traços'

    1.   Na janela de traços vá na aba 'Equipamento'
    2.   Selecione 'Tipo de Armadura'
    3.   Escolha a armadura que criamos anteriormente, 'Vassoura Mágica'

    [box title=Passo 04:]Profissionalizando o Herói[/box]

    Agora vamos criar as personagens que serão bruxas. No nosso caso os personagens de ID 6 e 7.
    Vá para a Aba Heróis no Banco de Dados.


    De as características que quiser, mas deixe a classe como 'Bruxa' (a nova classe criada) e conceda a uma delas o equipamento inicial 'Vassoura Mágica' em 'Acessórios'.
    Agora já temos um acessório especial para usar a habilidade de voo.

    Para classificar como Item ou Item Especial é necessário outro tipo de configuração. Irei adicionar na versão 1.1 da demo, até lá vamos usar dessa forma.
    [close]

    [box class=catbg3]
    PARTE II: Preparando Terrenos e Regiões
    [/box]
    Spoiler
    Para que o uso do sistema seja funcional precisamos informar o sistema onde o personagem pode ou não pousar. Como não existe uma predefinição no RMVXA que possibilita isso iremos criar através das IDs de Terreno e Região e, claro, 'Estruturas Condicionais'. Mas primeiro vamos determinar as IDs:
    Vamos decidir o que acontecerá em cada caso:
    Para 'ID de Terreno' fica entendido que :
    ID 1 = Receberá esse valor todos os tiles intransponíveis, como paredes, telhados, etc.
    Quando formos configurar o sistema esses terrenos irão fazer que o herói deslize para baixo, buscando um chão para pousar.
    ID 2 = Receberá esse valor todos os tiles de Água.
    Quando o sistema for configurado, o herói irá receber danos e retornará a posição onde iniciou o voo. Iremos determinar efeitos visuais e sonoros para água.
    ID 3 = Receberá esse valor todos os tiles de buracos.
    Mesmo efeito que ID 2, mas com efeitos visuais e sonoros para queda.
    ID 4 = Receberá esse valor todos os tiles de esquedas.
    Serve para que o herói entenda a escada como um lugar permitido para pouso. Escadas estão normalmente em paredes e morros. Se não dermos uma ID para elas o personagem não vai reconhece-la e continuar procurando outro tile para pousar.

    Para 'ID de Região' fica entendido que são todos tiles intransponíveis, e terão as seguintes ações:
    ID 1 = Ao invés de mover o herói para baixo, vai movê-lo para cima.
    ID 2 = Ao invés de mover o herói para baixo, vai movê-lo para a esquerda.
    ID 3 = Ao invés de mover o herói para baixo, vai movê-lo para a direita.
    A ID da região é necessária para ser usada em casos especiais, evitando bugs.
    Ex:

    Repare que o fim do mapa termina com um terreno intransponível (ID de Terreno 1). Se ele tentar pousar ali, vai dar bug no jogo porque o sistema vai ficar tentando mover o personagem para baixo.
    Com a ID da região iremos sobrepor esse comando, dizendo que ele deve mover para outra direção.
    Atenção: As configurações do passo 5 deve ser feita para todos os conjuntos de tileset onde a habilidade de voo pode ser usada.

    [box title=Passo 05:]Configurando o Tileset[/box]

    1.   Ainda no 'Banco de Dados' acesse a Aba 'Tileset'
    2.   Caso você queira adicionar mais opções de montagem dos tilesets aumente o número máximo e não esqueça de configurar 'bloqueio', 'direções', etc.
    3.   (Pulei esse número na imagem)
    4.   Acesse a opção 'Terreno'
    5.   Dê aos tiles os valores de acordo com as funções que determinamos.
    6.   Não esqueça que deve fazer isso em todas as camadas do tileset. Aplique as configurações e salve o jogo (por segurança, crie esse hábito)

    [box title=Passo 06:]Configurando as Regiões[/box]
    As Regiões só serão úteis depois que o mapa estiver pronto. Servirá como um refinamento no mapa para usar o sistema sem bugar.


    1.   No menu principal do RM acesse a opção de 'Região'
    2.   Selecione a ID necessária para determinar o novo comando do local.


    Lembra dessa parte do mapa? Pois é um exemplo onde iremos usar as ID de Região'.
    Repare que onde está a seta vermelha para baixo o herói vai mover para baixo, porque foi isso que especificamos lá na configuração de Terreno na aba Tileset.
    Onde determinamos como região 3 (Após ter selecionado a região é só clicar no mapa para dar o valor) ele irá mover para a Esquerda e pousará no chão mais próximo.
    Faça isso para todos os locais necessários para o seu mapa, direcionando para onde for mais próximo, ou onde quer que ele vá.

    [box title=Passo 07:]Clonando o Tileset[/box]
    Agora está quase tudo preparado para iniciarmos o sistema, precisaremos clonar TODOS os tiles onde o personagem pode voar. Esse passo pode ser feito antes do passo 6. Conforme você termina o passo 5 em um conjunto de tile set, você faz a clonagem e deixa o mapa clonado logo abaixo do original seguindo os seguintes passos:

    1.   Volte ao banco de Dados, na Aba Tileset e aumente o número máximo de dados.
    2.   Selecione o Tile set que deve ser clonado e de um ´ctrl'+'C' para copiar
    3.   Selecione o local do novo tileset e dê um ´ctrl'+'V' para colar o tile anterior. Mantenha o nome e apenas acrescente a palavra VOO ao novo conjunto.

    Agora, no tile copiado, mude as propriedades dos tiles com estrela (A), prioridade acima do herói, e mude para X (B), intransponível.
    Para que serve isso?
    Para que durante o voo não ocorra o seguinte defeito visual:

    [close]

    [box class=catbg3]
    PARTE III e IV
    [/box]

    Download em pdf:
    http://www.mediafire.com/view/147cigkca7gr6p1/SISTEMA_DE_VOO_V1.0_-_PARTE_III_E_IV.pdf

    Parte V em 'breve'

    [box class=catbg2]
  • Multimídia:[/box]
    [box class=catbg3]
    Vídeos:


    [box class=catbg2]
    • Bugs:[/box]
      Encontrei um bug quando inicia o voo - os eventos comuns (como NPCs) ficam travados em tiles que mudaram a prioridade alta para intransponivel se estiverem passando por ele na hora do voo.
      Já tenho a solução, mas preciso testar primeiro.

      [box class=catbg2]
    • Próxima Versão:[/box]

      - fix para bug visual. (versão 1.0.1 - assim que eu tiver tempo para editar a demo, posto o novo link)

      Primeiro vou desenvolver o Tutorial, mas logo colocarei para download a versão 1.1 que irá conter:
      -Consumo de MP para voo (não adicionado)
      -Tempo limite para voo
            - Pouso forçado - o que dará mais sentido para os tiles de água e abismo causar danos.

      [box class=catbg2]
    • Para Baixar:[/box]
      Versão 1.0
      [box class=catbg4]
      [/box]

      Versão 1.1
      [box class=catbg4]
      [/box]
      Steam v1.1
      http://steamcommunity.com/sharedfiles/filedetails/?id=278212248&searchtext

      Se você gostou do sistema, e tem um login no steam, pode ajudar na divulgação dando uma avaliação positiva por lá.

      [box class=catbg2]
    • F.A.Q:[/box]
      Qualquer dúvida pergunte e eu respondo aqui.

      [box class=catbg2]
    • Créditos:[/box]
      Joey Belmont por desenvolver o sistema


Alguém já testou o sistema? ainda tem bug?
....

15/07/2014 às 23:33 #2 Última edição: 15/07/2014 às 23:37 por Vash
 Removi os spoilers das imagens dentro dos spoilers, deve ter sido esse problema, fazendo com que o tópico desconfigurasse. Usando a box2, fica melhor e evita esse erro.

Mas vamos ao que interessa. Eu gostei da ideia do sistema e como evita aqueles problemas dos tiles não passiveis e o modo como deixou em caso dele cair em água quando acabar o tempo de voo, o que seria interessante para um pluzze para atravessar um local de muita água para outro.

Não sabia que além do seu lado de Pixel, tinha o de eventos. xD
Espero que continue com mais ideias e que venha outras versões, apesar de não fazer ideia do que mais acrescentar nesse sistema.

2010 ~ 2016 / 2024

Almanegra1420
O bug ainda permanece, mas como eu disse, é somente visual e para os npcs que ficam andando aleatoreamente. Caso eles estejam 'atrás' de um tile com prioridade acima do heroi, vai ficar preso lá até que o personagem pare de voar.

Vash

Grande Vash! Valeu pela ajuda no topico. Ainda sem tempo pra organizar, acabei de chegar em casa...

Ainda tem algumas coisas que quero acrescentar ao sistema, como bonus no tempo de voo, por exemplo. Mas vai demorar um pouco, pela falta de tempo e disposição...

Meu lado de eventer é meio cru e preguiçoso, mas de vez enquando dá uma luz hehe.

Abços