您好我正在尝试找到某个系统(游戏)的公式,并希望得到一些帮助。
我会尽量不要太过深入了解游戏背景,但有时需要更好地了解情况。
这是一篇有点长篇文章,但请耐心等待!这个游戏现在存在了12年,没有人试图破译它(或者至少发表了结果)
我确定游戏主要是在 C ++ 中完成的,如果有帮助...
事实:
1)它是未知顺序的百分比和平面值的混合
2)我不知道实际的基本价值是多少,而且很可能存在其他隐形奖金
3)找到所有奖金是无关紧要的,只找到适合公共使用的工作算法
4)我可以收集无限量的示例方程式
5)我有10个装备槽+ 1个武器槽,每个装备都有一定的%奖励,而且武器可以有一定的平坦奖励
现在我假设通用公式是
(baseValue + flatBonuses)*(sumOfAllPercentageBonuses/100 + 1) =finalTotal
等式示例:
我在这里遇到的主要问题是,当我移除所有装备+武器碎片时,我看到的数字似乎并不是基本值,因此为什么:
2170是我可以直观地看到删除所有设备的最低值
(2170)*(1.22) = 2543 is false
但我认为可以安全地假设2170接近实际的基础伤害,因为它比上述的22%增加了17%
武器很可能有一个修正值,它的平坦值:
309这里是武器扁平伤害
2170 + 309*weaponModifier = 2685
另一种武器:
2170 + 34*weaponModifier = 2226
考虑到2170应该接近实际的基础伤害,并且使用2170的武器修改器给出大约1.6ish,我们可以假设武器修改器是1.6且具有低误差范围。
有可能百分比实际上没有总结:
再次,从2170年开始:
应用一般假设公式在视觉上实现最高价值:
设备:
4x22%
1×19%
1x159%
1×10 5%
总计379%
1x494(武器)
(actualBaseBalue + otherFlatBonuses + 494 * weaponModifier)*(4.79)= 12,908
我不是要求任何人为我努力工作,但我不是数学家。我已经尝试了2个小时没有结果,如果有人有任何想法我会非常感激他们!谢谢你的阅读。
如果有人对其他信息或截图感兴趣,请询问。
答案 0 :(得分:1)
可以做出几个假设。假设你有两种奖金,平和百分比,因此分别是加成和乘法奖金。让b
为基值,a
为加性奖励,m
为乘法加值 - 按照您定义的方式,因此需要乘以(m+1)
。
(a+b) * (m+1)
b*(m+1) + a
(a+b) * (m+1) + a'
b * (1+m+m')
b * (1+m) * (1+m')
棘手的部分是有许多参数,上述任何组合都可能有效。尽管或者你的技能已经超过了#34;如你所说(因此在整个实验过程中保持不变),他们可能仍会通过修改或思考这些值来发挥作用,例如p
一个重要因素,b * (1+pm)
或b * p(1+m)
。
我建议的是以下内容:
v
每个实验的价值。x
。实验越多,你必须弄清楚以下哪些法则是恒定的(或x
中的线性,如果你不除以*)。
(v - b) / x
就是不变的。v / (b * (1+x))
就是不变的。(v / b - 1) / x
是不变的。b
基值v1
和v2
不同设备的值(单独),以及v
新实验的值。
v = b + (v1 - b) + (v2 - b)
(这适用于两个附加法则,或根据乘法法则适用的附加法律)v1 / b = v2 / v1
,例如2543 / 2170~ = 2993 / 2543~ = 1.17(这适用于两个乘法定律,或者是加法定律后的乘法定律)等等。基本上,尝试探索组合的可能性空间,以获得一个值,看看它意味着什么(即试图预见值),然后进行实验,直到你得到正确的模型。并且记住,只要您有多个项目,奖金的申请顺序就很重要。只要你一次添加一个项目,你应该没事。
*不要忘记输出值是int,因此是公式输出的舍入值。我建议每次尽可能多地获取,并尝试绘制每条曲线(v-b) = f(x)
,v/b = f( (1+x) )
,(v/b - 1) = f(x)
,并查看 - 或拟合模型 - 以查看哪条是线性的。如果有某种思考,那就是这条线的斜率。