Eu tenho um jogo de caneta e papel que estou criando, mas estou lidando com problemas para manter as proporções entre jogadores de nível alto e baixo semelhantes nas equações de batalha e recompensa. Obviamente, um jogador de nível mais alto deve receber menos experiência, mas tem a vantagem em batalha ao lutar contra jogadores e monstros de nível inferior. Aqui está como eu estou calculando as coisas atualmente:
Battle starts
If player.dex > enemy.dex
Accuracy = ((player.dex - enemy.dex)/2)*20
If player.dex < enemy.dex
Accuracy = ((enemy.dex*player.dex)-enemy.dex)/player.dex
A precisão é uma porcentagem testada contra um teste de um dado de 100 lados.
If accuracy > roll
Hit success
If accuracy < roll
Hit fails
If hit success
Todos os itens nocivos do atacante (elmos e escudos, armas, etc.) são somados e aplicados como tal:
Damage = (player.str + item.damage)-(enemy.dex + enemy.armor)
Se o jogador estiver lutando contra um monstro, eu tenho uma quantidade básica de ouro e experiência que é modificada de acordo com o jogador:
Gold gained = (enemy.gold*rand(1,10))/player.level
Exp gained = (enemy.exp*rand(1,3))/player.level
Se o jogador estiver lutando com outro jogador, então terá que haver uma equação diferente para as recompensas, mas não sei como criar esse.
Como esta é minha primeira tentativa de criação (embora eu seja um ávido RPGer), não tenho certeza se existe uma espécie de forma "padrão da indústria" de calcular essas coisas ou não. Também tenho medo de que essas equações não se sustentem quando o jogador atingir níveis mais altos (digamos, nível 50+). Alguém pode me dar algum conselho sobre isso? Eu quero que seja bastante determinista, porque eu posso colocá-lo em um programa de computador, eventualmente.