我正在尝试为我拥有的项目设计游戏,主要思想是:
3种英雄类型
每个英雄3个统计
不涉及任何级别,因此差异必须位于统计数据上。
战斗逻辑-战斗的逻辑是,类型1英雄有很大的机会赢得类型2英雄,类型2英雄有很好的机会赢得类型2英雄,类型3英雄有很好的机会赢得类型2英雄。
一个多星期以来,我试图找到一个基于统计信息的公式,可以解决这个问题,但是我不能,昨天我正在干预数字,它很不错,但是我无法从中提取公式。
您能否指导我或给我一些提示,我应该如何开始在满足战斗逻辑的非lvl游戏上创建公式?
我正在尝试为我拥有的项目设计游戏,主要思想是:
3种英雄类型
每个英雄3个统计
不涉及任何级别,因此差异必须位于统计数据上。
战斗逻辑-战斗的逻辑是,类型1英雄有很大的机会赢得类型2英雄,类型2英雄有很好的机会赢得类型2英雄,类型3英雄有很好的机会赢得类型2英雄。
一个多星期以来,我试图找到一个基于统计信息的公式,可以解决这个问题,但是我不能,昨天我正在干预数字,它很不错,但是我无法从中提取公式。
您能否指导我或给我一些提示,我应该如何开始在满足战斗逻辑的非lvl游戏上创建公式?
Answers:
您的游戏是非过渡游戏。您可以使用石头剪刀布逻辑使用3个状态R,P和S来实现它。随便您如何称呼这些统计信息,但我会坚持使用RPS逻辑。
现在假设您有两个英雄,分别具有R1 / P1 / S1和R2 / P2 / S2的数据。我们需要计算它们将对彼此造成多少损害。
您希望岩石对剪刀造成损害。这意味着英雄1交易«岩»到英雄2损害,如果R1 > 0
,如果S2 > 0
。一个有效的公式很简单min(R1, S2)
。
这立即为我们提供了损坏公式:
Damage(hero1 on hero2) = min(R1, S2) + min(S1, P2) + min(P1, R2)
Damage(hero2 on hero1) = min(R2, S1) + min(S2, P1) + min(P2, R1)
让我们来看一个真实的例子:
Hero1 Hero2
R 120 50
S 30 130
P 15 30
根据统计数据,英雄1显然是“摇滚”类型,英雄2显然是“剪刀”类型。结果如下:
Damage(hero1 on hero2) = min(120, 130) + min(30, 30) + min(15, 50)
= 120 + 30 + 15
= 165
Damage(hero2 on hero1) = min(50, 30) + min(130, 15) + min(30, 120)
= 30 + 15 + 30
= 75
最终结果:165
与75
。英雄1赢得了预期。
这些公式有很多缺点,但我希望它们能使您对如何实施不及格战斗规则有所了解。
每个英雄在近战战斗(M),道奇(D)和巫术(W)中训练。
躲闪可以很好地躲避近战,而魔法攻击则不能那么好。
每回合,英雄造成的伤害等于(MD)+(W-0.5D)(M和W来自攻击者的属性,D来自防御者的属性。)
因此,战士可能具有以下统计信息:
M:100,D:20,W:0
流氓可能具有以下统计信息:
M:30,D:80,W:30
向导可能具有如下统计信息:
M:10,D:10,W:80
战士vs.盗贼,战士每秒20 DPS,而盗贼每秒30 DPS。优势流氓!Rogue vs.Wizard,流氓交易为20 DPS,而巫师交易为40 DPS。优势向导!巫师vs.战士,巫师每秒70 DPS,而战士则每秒90 DPS。优势战士!
x > y ∧ z > x ∧ y > z
至少在我所知道和使用的基础数学中没有x,y,z 。