您好,我正在尝试查找某个系统(游戏(的公式,并希望获得一些帮助。
我会尽量不过多地进入游戏的背景,但有时有必要更好地了解情况。
这是一个有点长的文本,但请耐心等待! 这个游戏已经存在了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.6 左右,我们可以假设武器修改器是 1.6,误差幅度低。
并且百分比可能实际上没有求和:
再次,从2170年开始:
- 用 1 台设备给 22% 我达到 2543 最终价值
- 与 2 台设备各占 22%,我实现了 2993 的最终价值
应用一般假设公式直观地实现的最高值:
设备:
4x22%
1x19%
1x159%
1x105%
总计 379%
1x494(武器(
(实际基础巴鲁 + 其他平底加成 + 494*武器修正器(*(4.79( = 12,908
我不要求任何人为我做艰苦的工作,但我不是数学家。我已经尝试了 2 个小时,没有任何结果,如果有人有任何想法,我将不胜感激!感谢您的阅读。
如果有人对其他信息或屏幕截图感兴趣,请询问。
可以提出几个假设。假设您有两种奖金,平价和百分比,因此分别是加法奖金和乘法奖金。让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')
棘手的部分是有许多参数,上述任何组合都可能是有效的。即使或者你的技能如你所说"达到极限"(因此在整个实验中保持不变(,它们仍然可能通过修改或思考值来发挥作用,比如p
思考因子,b * (1+pm)
或b * p(1+m)
。
我的建议如下:
- 对于每种设备,请尝试找出它是乘法或累加的。
- 尝试找到没有特殊物品的装备(没有"附魔"的额外奖励或其他东西(。让我们
v
注意每个实验的价值。 - 您至少需要 2 件设备,这些设备与您获得的装备相似,
x
具有不同的值。实验越多,你必须弄清楚以下哪个定律是常数(或线性x
,如果你不除以它*(。- 如果这件设备的加成是累加的,那么
(v - b) / x
是恒定的。 - 如果这件装备的加成是乘法的,那么
v / (b * (1+x))
是恒定的。 - 如果这件装备的加成是在将 1 加到 m 之前进行思考,那么
(v / b - 1) / x
是恒定的。
- 如果这件设备的加成是累加的,那么
- 尝试找到没有特殊物品的装备(没有"附魔"的额外奖励或其他东西(。让我们
- 现在你对每种不同的设备都有一个法律,试着把它们混合起来。让我们
b
v1
和v2
不同设备的基值(分别(并v
注意新实验的值。- 如果奖金加起来,
v = b + (v1 - b) + (v2 - b)
(这适用于两个加法定律,或在乘法定律之后应用的加法定律( - 如果奖金乘以,则
v1 / b = v2 / v1
,例如 2543/2170 ~= 2993/2543 ~= 1.17(这适用于两个乘法定律,或在加法定律之后应用的乘法定律(
- 如果奖金加起来,
等等。基本上,尝试探索组合获得值的可能性空间,看看它意味着什么(即尝试预测值(,然后进行实验,直到得到正确的模型。请记住,一旦您有几个项目,奖金的应用顺序就很重要。只要您一次添加一个项目,您应该没问题。
*不要忘记您的输出值是整数,因此公式输出的四舍五入值。我建议每次都尽可能多地绘制,并尝试绘制每条曲线(v-b) = f(x)
、v/b = f( (1+x) )
、(v/b - 1) = f(x)
,并查看 - 或拟合模型 - 看看哪个是线性的。如果有某种思考,那就是这条线的斜率。