Página 1 de 1

Calculoes RPGísticos  Tópico resolvido

Enviado: Qua Out 10, 2018 1:09 pm
por jonnyall
Olá pessoal! Eu estou desenvolvendo um jogo RPG (não de turn) e estou com dificuldade na parte de cálculos, por não estar desenvolvendo no RPG maker, o qual já vem muitas dessas contas prontas parar vc.

A situação é a seguinte:

todo objeto "vivo" tem alguns status(posso atualizar isso de acordo com oq aprender aqui)

Código: Selecionar todos


STR = //"Algum numero";
VAR = //"Algum numero";
DEF = //"Algum numero";
LCK = //"Algum numero";

STR é responsavel pelo dano base do personagem.
VAR é responsavel por quanto o dano vai variar antes de ser reduzido pela DEF.
DEF é responsavel por diminuir o ataque recebido
LCK até o momento, só é responsavel pelo danos criticos.

Vou representar como other aquele q está atacando.

Código: Selecionar todos

dano = other.STR*(quantas vezes mais forte);

//O quanto o dano base irar variar.
dano = dano + dano*random_range(-other.VAR/100,other.VAR/100);

//Reduzindo o dano.
dano = (dano*dano)/(dano +DEF)

//Verificar se o dano será[hlc][/hlc] critico.
critical = scr_probability((other.LCK/(LCK +other.LCK)*100) //scr q eu mesmo implementei, ele retorna true se deu dentro de certa porcentagem.

if critical
   dano *= 2;

//Tirando HP
HP -= dano;

Eu realmente pesquiso sobre o assunto, mas a único calculo que eu encontrei foi esse da Defesa, os outros eu mesmo implementei(var, critico)

Agora trago-lhes o problema, no meu jogo, existiram itens que tem certa chance de serem dropados e há tb ataques que tem uma chance de aplicar algum debuf.

Como faço para aumentar a chance de um item ser dropado apartis da minha LCK ? (neste contexto lCK não é uma porcentagem e sim um valor numérico)

Agora segunda situação, temos três fatores determinantes para o debuf acontecer: LCK de quem foi atacado (aumenta a chance do debuf NÃO acontecer), LCK de quem está atacando (aumenta a chance do debuf acontecer) e a propria chance do debuf por si só.

Alguém pode me dar uma ideia, como montar essa formula ou algum site/blog do qual falem disso ?
Obrigado pela ajuda

Re: Calculoes RPGísticos

Enviado: Qua Out 10, 2018 2:06 pm
por None
Creio que você quer converter a Luck em porcentagem sem precisar de fato fazer isso em seus números.

Neste caso basta criar uma variável chamada maxLuck = 100 (ou 255)
E depois antes de fazer seus cálculos converter a Luck do usuário em uma porcentagem com base no maxLuck.
Que seria var luckAtual = (Luck / maxLuck);
Ele iria retornar um valor entre 0 e 1, se você quiser ver mais claramente a porcentagem bastaria multiplicar o produto por 100.

Em relação ao debuf tu pode subtrair uma Luck pela outra antes de fazer a conversão para porcentagem ou fazer as duas conversões e então subtrair, posteriormente você soma este valor (se você estiver dando a chance do debuf em porcentagem) à chance do debuf, assim se o cara que vai sofrer o debuf tiver mais sorte que o que está castando o valor vai ficar negativo (digamos -.1) e ao somar à chance do debuf (digamos .5) as chances do debuf pegar serão 40% (.4).

Re: Calculoes RPGísticos

Enviado: Qui Out 11, 2018 9:34 pm
por jonnyall
Opa obrigado pela ajuda... mas cara não quero converter a luck pra porcentagem não, pelo menos no caso do debuf.
Eu vi de um outro jogo (robei kkkk), Castlevania Circle of Mooon, o item tem sua chance de dropar (RATE) e vc tem seu atributos lCK.
A conta é a seguinte.

Código: Selecionar todos

Probability = Rate + (Rate * (LCK - 100) / 200);
Neste caso, vc só aumenta as chances se sua lCK for maior 100, se for igual a sorte será igual a rate.

Baseado no que vc falou e nessa conta que eu peguei, agr pro caso do debuf(suponha q a chance do debuf seja a variável DEBUporb)
A conta seria essa.

Código: Selecionar todos

chance = DEBUporb +DEBUporb*((other.LCK -LCK) / other.LCK);
Bom ... não sei se é o melhor código ou conta, mas não queria limitar a LCK, quero q a sorte sempre seja algo referencial.

Re: Calculoes RPGísticos

Enviado: Qui Out 11, 2018 10:17 pm
por None
Eu não sei se entendi o que você quer, porque naquela fórmula (a divisão seria pelo valor máximo possível da Luck) a Luck de ambos sempre vai ser relevante no debuf.

Como você está definindo a chance de debuf? Em valores reais mesmo, acho que o maior problema aqui é que você está usando maçãs como base e eu estou usando laranjas.

Re: Calculoes RPGísticos

Enviado: Sex Out 12, 2018 6:26 pm
por jonnyall
Hah desculpa. acho que não fui claro mesmo, a chance do defu é sim uma porcentagem, assim como a chance de drop de item tb.
Porque não quero um LCK maxima? pq é o mesmo que vc limitar a força de atack ou defeça. quando eu digo que quero que as sortes sejam referenciais, quero dizer, que sempre vai ser uma comparação (vc só é sortudo quando encontra alguém menos sortudo do que vc) de quem tem mais e quem tem menos lCK (menos no caso dos item)

Por exemplo:
A chance de ser critico. sempre retornara valores de 0 a 1;
other.LCK/(LCK +other.LCK);

se sorte do inimigo for maior retornará valores 0.5 entre e 1;
se não, retornar valores 0.5 entre e 0;
se forem iguais, irá retornar 0.5;

note tb, que quanto mais próximos os valores mas perto de 50% do critico acontecer, quanto mais distante, dependendo de quem tem mais sorte, mais fácil ou difícil e dar um critico.

Agr explicando as chances do debuf...

chance = DEBUporb +DEBUporb*((other.LCK -LCK) / other.LCK);

DEBUporb sempre será um valor de 0 a 1, oq estou fazendo é sempre aumentado a chance do debuf caso minha lck seja menor do q o inimigo, caso seja igual o dividendo será igual a zero, então a chance do debuf acontecer vai ser igual DEBUprob, se minha lCK for maior, eu irei diminuir a chances do de acontecer graças a essa parte da conta "(other.LCK -LCK)". E a divisão pelo other.LCK é para montar uma franção e mustiplica pela chances unicamentes do debuf e dpois somar (dependendo de quem for maior). Usei oq vc falou nessa parte de diferença.

E os drop do item, e só perceber q se luck for igual a 100 a chance de eu dropar sera igual a chance do item, logo eu preciso ter una lck maior do q 100 para aumentar minhas chances de drop, fora isso, só estou diminuindo a as chances.

gostei da comparação de laranja e mançãs .... não sei se vc me entendeu oq eu quis explicar, mas sinta-se livre pra me mandar um pm, obrigado pela sua atenção, vc é uma pessoa muito legal, sempre o vejo tirar duvidas, susseco brow !!! :D

Re: Calculoes RPGísticos

Enviado: Qui Out 18, 2018 12:18 am
por None
Eu fiquei perdido, na minha cabeça não há motivo para não limitar valores em um jogo.

Se você conseguir fazer funciona como você quer depois posta aqui como tu fez :D