Estou tentando criar um jogo para um projeto que tenho. A idéia principal é:
3 Tipos de heróis
3 Estatísticas por herói
Não há níveis envolvidos, portanto as diferenças devem estar localizadas nas estatísticas.
Lógica da luta - A lógica da luta é que type1hero tem boas chances de ganhar type2hero, type2hero tem boas chances type3hero e type3hero tem boas chances de ganhar type1hero.
Por mais de uma semana, estou tentando encontrar uma fórmula baseada em estatísticas que me permita corrigir isso, mas não posso. Estava interferindo nos números de ontem e foi decente, mas não consigo extrair a fórmula.
Você poderia me orientar ou me dar dicas de como devo começar a criar fórmulas em um jogo não lvl que atenda à lógica da luta?
game-mechanics
mathematics
Georgiadis Abraam
fonte
fonte
x > y ∧ z > x ∧ y > z
pelo menos não em matemática básica que conheço e uso.Respostas:
Seu jogo é um jogo não - transitivo . Você pode implementá-lo com 3 estatísticas R , P e S , usando a lógica pedra-papel-tesoura. Chame essas estatísticas do jeito que quiser, mas continuarei com a lógica do RPS.
Agora, suponha que você tenha dois heróis, com as estatísticas R1 / P1 / S1 e R2 / P2 / S2. Precisamos calcular quanto dano eles causarão um ao outro.
Você quer que as pedras causem danos à tesoura. Isso significa que o herói 1 causa dano «rock» ao herói 2 se
R1 > 0
e seS2 > 0
. Uma fórmula que funciona é simplesmentemin(R1, S2)
.O que imediatamente nos fornece as fórmulas de dano:
Vamos ver o que acontece com um exemplo real:
Dadas as estatísticas, o herói 1 é claramente do tipo «rock» e o herói 2 é claramente do tipo «tesoura». Aqui estão os resultados:
Resultados finais:
165
versus75
. O herói 1 vence, conforme o esperado.Existem muitas falhas nessas fórmulas, mas espero que elas lhe dêem uma idéia de como implementar regras de combate intransitivas .
fonte
Cada herói treina em combate corpo a corpo (M), esquiva (D) e bruxaria (W).
Esquivar-se evita muito bem o combate corpo a corpo e ataques mágicos menos bem.
A cada rodada, um herói causa dano igual a (MD) + (W - 0.5D) (M e W são das estatísticas do atacante, D é das estatísticas do defensor.)
Portanto, um guerreiro pode ter as estatísticas:
M: 100, D: 20, W: 0
Um Rogue pode ter as estatísticas:
M: 30, D: 80, W: 30
E um assistente pode ter estatísticas como:
M: 10, D: 10, W: 80
Warrior vs. Rogue, o guerreiro negocia 20 DPS, enquanto o ladino negocia 30 DPS. Advantage Rogue! Ladino x Mago, o ladino lida com 20 DPS, enquanto o assistente lida com 40 DPS. Assistente de vantagem! Mago vs. Guerreiro, o mago negocia 70 DPS, enquanto o guerreiro negocia 90 DPS. Guerreiro da vantagem!
fonte
30 - 20 == 10
comparação com40 - 20 == 90 - 70 == 20
os outros dois). Certamente isso significa que bandidos são inerentemente desfavorecidos?