🤔 Para Refletir : "De jogo pequeno em jogo pequeno, consegue-se experiência para o jogo grande." - Eliyud

Scripts e Eventos #04! (Qualquer Maker)

Colaboração Colaboração
"colore a minha vida com o caos do problema."
Postagens
195
Bravecoins
1.222
Fumiko EMOTE5.png

E ai, como vocês tão garotada? Tudo tranquilo. Dessa vez eu tentei não demorar um século para trazer a nossa série suprema, os SCRIPTS E EVENTOS! (nome TOTALMENTE original e nunca antes pensado na história da humanidade), hoje em vim tratar de um assunto muito caro aos nossos RPGzistas que adoram balancear combates como o nosso amigo @Tigrão que demonstra uma grande habilidade nesse aspecto de balanceamento e criação de Skills interessantes.
Bem, não irei perder muito tempo então, o tema de hoje é: COMO VOCÊ PODE DEIXAR SUAS SKILLS DE FATO MAIS AVANÇADAS?
Eu imagino que você já teve uma experiência ruim com jogos onde basicamente você iria a cada nível do personagem desbloqueando uma nova versão da sua skill básica que custava um pouco mais de mana e causava um dano maior, inutilizando todas as outras skills anteriores e não trazendo nenhum aspecto de variedade para o seu jogo e isso é realmente frustrante.

Para que possamos abrir bem esse tópico que eu acho bastante relevante em minhas jogatinas irei trazer a sugestão de alguns jogos que tem sistemas interessantes de balanceamento em suas skills e burlam essas limitações, seja através de efeitos interessantes nos novos poderes desbloqueados por seus protagonistas ou através de um sistema interessante de limitação nas mesmas, tornando as skills de níveis baixos relevantes até o final da jogatina.

Contos de Aldore - Ryan Vitor Moreira
image_2023-01-03_15-46-49-png.5077


Elidriel - Gabriel Schade Cardoso
4958.jpg


Lionheart - Anderson K.
v4LkZ2W.png


O Alvorecer Dourado - Felippe "Dragolipe2" Batista
sTYXofK.png


Outros objetos interessantes de referências e estudo que você pode acessar em português:
Fórmulas de Cálculo de Dano: Do Básico ao Avançado (RPG Maker VX Ace)
Dúvida sobre calculo de dano (Rpg Maker XP)


Finalmente vamos começar.... COMO TORNAR ENTÃO ESSAS SKILLS MAIS INTERESSANTES?
ana.png

I - Como impedir que skills iniciais fiquem defasadas tão rapidamente?
Não foi por acaso que eu trouxe logo de cara recomendação de outros jogos como ponto inicial para a nossa análise! Por exemplo, Elidriel e O Alvorecer Dourado tomam cuidados bastante parecidos no seu sistema de golpes especiais.
nlFLl6j.png

Basicamente, em ambos os projetos, você tem uma versão da sua barra de golpes especiais mais limitada que sobe progressivamente durante a luta e uma outra versão mais flexível com números maiores. Isso causa um efeito muito interessante de gerenciamento de recursos, você pode utilizar uma skill mais barata para causar dano rapidamente ao seu alvo, ou pode acumular por mais tempo no combate pontos o bastante para disparar seus golpes realmente devastadores. Simples e genial, certo? Você dá ao seu jogador formas diferentes de lidar com as suas opções dependendo de que tipo de inimigo ele enfrenta.
Um dos maiores problemas com jogos (que eu inclusive amo) como o Final Fantasy X (o meu favorito!), é que, em níveis iniciais você aprende com Lulu a magia Fogo que custa pouca mana e causa um dano baixo do elemento, então logo você aprende a sua versão mais forte e após isso uma melhor. Tornando as anteriores totalmente descartáveis, seja pelo custo não compensar ou simplesmente por ser perca de tempo causar um dano tão baixo a um inimigo quando você já tem a sua versão "boa".

É claro. Não estou dizendo para que você copie o sistema de magia de Elidriel/O Alvorecer Dourado, inclusive não recomendo uma cópia! Mas, há uma outra forma inteligente de resolver isso...

II - A vantagem dos miúdos não pode ser negligênciada
NbXD3UY.jpg

Nosso amigo Moge foi feliz ao achar um substituto interessante para o reaproveitamento de Skills. Vejamos, na versão do RPG Maker que Lionheart está sendo desenvolvida não temos acesso a scripts e outras facilidades que tornariam o processo de criar um sistema de cooldown (tática adotada pelo Ryan!) algo trivial.
Então o que se fazer nesse caso? Simples. Dê ao seu jogador uma vantagem ao utilizar uma skill mais fraca. Por exemplo, o Armour Break de Final Fantasy X que embora não seja uma skill poderosa, garante a vantagem de cortar a defesa física do seu alvo, fazendo com que a ability assinatura de Auron continue relevante por boa parte do game.
Nos restando um outro aspecto que talvez seja o favorito de nosso amigo tigroso, tem outro ponto que pode deixar as nossas skills ainda mais interessantes....

III - Não despreze o poder da matemática
Um dos recursos mais poderosos do RPG Maker Vx Ace em diante sem sombra de dúvidas é o seu sistema de fórmulas de dano. Ele torna capaz a criação dos tipos mais complexos possíveis de habilidades, fator não ignorado pelos Contos de Aldore ao desenvolver skills que por exemplo causam dano preferencialmente com um atributo ao invés do outro baseado em qual desses valores é o mais alto do usuário da skill. Deste modo, a matemática não pode ser menosprezada ao tentarmos elaborar uma skill que pode ser verdadeiramente interessante e diferente das suas companheiras de pool, ainda mais quando utilizamos sistemas de árvores de talentos entre outras formas de limitar a quantidade de habilidades aprendidas que nossos personagens podem ter acesso durante os combates.
Pensando nisto, eu gostaria de trazer aqui várias sugestões de como vocês podem formular algumas skills através do uso das fórmulas. (E, é claro, você pode se sentir livre para colar nos comentários as suas sugestões de fórmulas ou pedidos para que possamos pensar em uma solução para ela juntos)

Banco de Skills Fumikônicos
Sugestão de nome para SkillEfeito da SkillFórmula (RPG Maker MV)
Golpe PerfuranteVai ignorar as defesas do seu alvoa.atk * 4
Golpe FurtivoDano baseado na agilidade do personagema.agi * 4 - b.agi * 2
1000 agulhasSempre causa 1000 pontos de dano1000
Torrente de ManaRestaura metade da sua mana total no grupoa.mmp/2
Corte de DespertarCausa 10x o dano se o alvo estiver dormindob.isStateAffected(10) ? 1000 : 100
Gambito do HeróiSe sacrifica por um dano extremoa.addState(1) ; 1000 + a.atk * 24
Cura da FadaCura mais se você resgatou a fada mágica$gameSwitches[5] ? 600 : 300
Belle & SebastianSe Fumiko é líder do grupo causa mais dano$gameParty.leader().actorId() == 2 ? 9999 : 100
Espada de VenenoCausa mais dano se você tem Veneno no corpoa.isStateAffected (4)? 5000: 200;
Disparo VitalCausa dano de acordo com percentual de HP atuala.hp * 100 / a.mhp *2 + a.atk * 4 - b.def *2
Disparo MentalDano baseado no seu Levela.level * 10
Soco do bêbadoDano aleatórioMath.floor(Math.random()*100)+1
Curar líderO protagonista é curado bem maisb.id == 1 ? 450 : 150
BisecçãoCausa sempre 1/4 de dano no alvo (Demi FF)b.hp * 25 / 100

IV - Eventos comuns são DEMAIS!
Além das próprias fórmulas, o fato de você poder mesclar as ações do personagem com ajuda dos eventos comuns pode te ajudar a criar alguns efeitos bem interessantes... Irei demonstrar alguns exemplos.

Exemplo 1: Uma skill que tem vários passos distintos dentro de si.
1677155598475.png

Eu configuro primeiro a skill para que ela dê alvo no próprio jogador, para não termos aquele problema de "fulano recebeu 0 de dano" ou qualquer coisa assim, nessa parte da skill eu mostro a animação do golpe sendo carregado e chamo o evento comum controlador que vai fazer o nosso combo acontecer.
1677155709598.png

E termino com um resultado parecido com isso aqui. Sendo as skills de Hits configuradas da forma que você preferir com a animação do acerto!
1677155898717.png



Variação do mesmo conceito! Você pode utilizar um esquema parecido para fazer um sistema de invocações!
1677156206134.png



Exemplo 2: Causar dano a partir do seu dinheirinho!
Bem, uma das outras coisas que eu fiquei curioso quando aprendi um pouco mais sobre códigos foi como eu poderia imitar certas coisas de jogos que eu gostava tanto. Em Final Fantasy X a personagem Rikku tinha golpes baseados no seu gold! Bom, e se a gente quiser jogar o din din na cara das gosmas?
Existem duas formas para se fazer isso, uma mais simples e uma mais configurável.

Modelo A
1677156691498.png

No primeiro modelo, o personagem sempre vai causar dano igual o dinheiro do time! Então, você precisa deixar isso claro na sua fórmula de dano. Só que, eu quero que após isso, esse dinheiro seja perdido, então coloquei um evento comum para ser ativado logo após o uso da skill que nos faz perder todo o gold que temos.
É claro, que por ser o método simples, pode ser pouco conveniente gastar todo o seu dinheiro sempre que quiser causar 99.999 de dano em um único boss chato, tem um outro jeito de se fazer isso.

Modelo B
1677156868691.png

Primeiramente, faça algo parecido com isso aqui. Vamos agora ver como funciona o evento comum de jogar a grana!

1677156936367.png

Com ajuda das variáveis podemos fazer com que o dano contabilizado vá de acordo com quanto dinheiro o jogador deseja lançar, a skill que cuida de calcular o nosso dano fica dessa forma aqui:

1677157027368.png


Exemplo 3: Skill com animação por imagens!
Talvez algumas pessoas subestimem o fato de que vários comandos funcionam normalmente durante a tela de combate, como por exemplo, o comando de mostrar imagem! Você pode reutilizar o mesmo princípio na parte superior e nos eventos comuns utilizar o comando MOSTRAR IMAGEM para criar efeitos semelhantes a esse aqui:



Exemplo 4: Confiar barra de OVERDRIVE
Novamente irei partir do princípio de uma página "em branco" que leva até o comando EVENTO COMUM, onde iremos configurar o efeito da nossa skill. Eu quero que esse efeito funcione de uma forma específica dependendo de uma condição para que seja ainda mais complexo! a Skill de CONFIAR, vai transferir a nossa barra de overdrive para o membro do time que tem menos TP, porém, se tivermos um empate ele ira enviar metade do TP para os dois outros companheiros de equipe (supondo que eu tenho um trio de personagens), parece complexo? De modo algum. Observe o funcionamento!
XyZpFdv.png


CONCLUSÃO!!
Eu trouxe aqui pequenas sugestões de jogos já reconhecidos na comunidade e que fazem bons usos dos conceitos que eu apresentei e alguns artigos, é claro que tudo isso pode ser aplicado de muitas outras formas (e eu realmente espero ver algumas recomendações de vocês para ampliarmos a lista ou fazermos uma segunda parte disso). Tentei trazer sugestões de vários Makers e mostrar como era possível fazer uso desse conceito mesmo em outras versões da ferramenta que não o RPG Maker MV. Espero que vocês possam aproveitar bastante disto, e acho que não posso acrescentar muito mais do que isso dessa vez, certo?
Vejo vocês em uma próxima oportunidade.
 
A Skill de CONFIAR, vai transferir a nossa barra de overdrive para o membro do time que tem menos TP...
Esse tópico foi de super bom agrado para aqueles que amam mecânicas de batalhas e suas peculiaridades, né @Dr.XGB 🤣

Eu até tenho uma habilidade Confiar aqui projetada para usar, mas como ela foi criada com algumas funções de plugins, seria um pouco inviável de eu citar e explicar por aqui, mas caso tenha interesse, eu lancei uma novidade no tópico de Cavaleiros do Novo Norte sobre esta habilidade.

photo_2022-12-22_22-38-50.jpg

Sugestões: criação de habilidades que os seus alvos são aqueles que possuem níveis divisíveis por um número (estilo FFs antigos, como Lv. 5 Death, Lv. 3 Flare, Lv. 4 Gravity, entre outros)...

Obrigado por me citar neste tópico! 😉
 
Última edição:
Excelente post com várias dicas úteis!
Você demonstrou a utilização de várias coisas na fórmula de dano, mas consigo contribuir com mais uma adição, como dentro do RPG Maker a fórmula de dano é executada através de um
Código:
eval
do JavaScript, você pode fazer literalmente qualquer coisa ali.

No meu próprio projeto, as fórmulas de dano são todas chamadas de funções javascript, tendo fórmulas como essas:

Código:
SkillDataExtensions.physicalDamageFormula(100, a, b, item);
SkillDataExtensions.magicalDamageFormula(200, a, b, item);
SkillDataExtensions.healDamageFormula(250, a, b,item);
SkillDataExtensions.comboPhysicalDamageFormula(150 ,ada, kell, b, item);

Isso facilita a centralização de coisas que precisam acontecer quando o cálculo de dano é feito, no meu caso específico, as reações elementais acontecem nesse ponto e usando funções JavaScript.

Além disso, conseguimos garantir que, caso alguma coisa precise ser alterada em fórmulas de ataques físicos, eu possa simplesmente editar a função javascript correspondente e o efeito será propagado para todas as skills físicas.
 
consigo contribuir com mais uma adição, como dentro do RPG Maker a fórmula de dano é executada através de um
Código:
eval
do JavaScript, você pode fazer literalmente qualquer coisa ali.
VALEU PELA FORÇA, SCHADE!! Eu sou iniciante kakakak, só trouxe as dicas aqui para o pessoal poder ficar mais ativo e se empolgar em tentar trazer conteúdo que podem ser aproveitados pela garotada.
Eu não teria como trazer essa dica das funções! Pq eu mesmo não sabia tbm KAKAKAK, muito bacana mesmo. Espero que mais pessoas se sintam a vontade para comentar e tragam novas dicas aqui, quem sabe faço uma parte 2 eu não sei mesmo...

Sugestões: criação de habilidades que os seus alvos são aqueles que possuem níveis divisíveis por um número (estilo FFs antigos, como Lv. 5 Death, Lv. 3 Flare, Lv. 4 Gravity, entre outros)...
Eu ainda não entendi bem como essas skills funcionam. Seria tipo, um Slima Lv 15 ao ser acertado pela magia Morte é abatido imediatamente? É isso?
Me explica melhor que tento trazer alguma sugestão sim!
 
Eu ainda não entendi bem como essas skills funcionam. Seria tipo, um Slima Lv 15 ao ser acertado pela magia Morte é abatido imediatamente? É isso?
Me explica melhor que tento trazer alguma sugestão sim!
Isso mesmo, Cris.
Essas magias azuis (Blue Magic, sendo a classe Blue Mage) dos FFs, a partir do FFV, funcionam assim:

Lv. 3 Flare - Acerta todos os alvos que possuem níveis divisíveis por 3 com a poderosa magia Flare.
Lv. 4 Gravity - Reduz o HP atual por 25% de todos os alvos que possuem níveis divisíveis por 4.
Lv.5 Death - Nocautea todos os alvos que possuem níveis divisíveis por 5.

Pegando o Lv. 5 Death como exemplo: vamos supor que o alvo esteja com o nível 19, ele não será afetado por esta magia azul porque o número 19 não é divisível por 5. Entretanto, se o nível desse alvo for 20, ele será afetado e receberá o estado Morte (ou Nocaute) instantaneamente porque o número 20 é sim divisível por 5.
 
Voltar
Topo