【发布时间】:2010-11-30 16:37:31
【问题描述】:
我目前正在开发一款游戏,其中每个单位都有生命值、护盾和敏捷值,以及一定数量的六种武器。
例如B单元有2个激光、2个重激光和1个导弹发射器,没有离子冲击波,没有重离子冲击波,没有核导弹,5生命值,2盾,40敏捷。
我已经使用了 20 种不同的算法,试图让 MS Excel 平衡所有这些因素,从而给船打分。我当前的算法适用于一些较小的单位,但与较大的单位非常不平衡
每艘船都有一个伤害值,其中每种类型的武器乘以该武器的伤害并相加。
damage = weapon1*damage1 + weapon2*damage2 + ...
伤害值乘以生命值 + 2*护盾 + 2*敏捷。敏捷和盾牌相乘,使他们的重量超过健康(如果不能被击中,单位就不会失去健康)。我还减去了单位的成本。所以我目前的一个单位的方程式看起来像:
value = damage*(health + 2*shield + 2*agility) - 3*cost
这里有一些例子:
- 单元 1 - 1 激光、1 生命值、93 敏捷和成本 1。总分为 233。
- 单元 2 - 2 激光、导弹发射器和 3 生命值,但只有 76 敏捷。分数是 200。
- 单位 3 - 6 激光,30 生命值和 15 护盾,37 敏捷 - 得分 585。
我希望unit 3的分数更高,但是unit 1和unit 2的分数都不错。谁能提出一个更好的方程来平滑这些值?
【问题讨论】:
-
您对这里的目标不是很清楚。您是否试图通过改变每种武器的伤害来平衡单位?还是每艘船的不同武器的数量?或者它的成本?或者是别的什么? ...
-
每个单位都有不同数量的武器,它们都造成相同的伤害(每把武器)——这就是为什么 F...L 乘以 N58...N64。问题是 =ROUND(W*(M+2N+2O),0)-3R 得出的值对于较低的单位来说很好,但对于较好的单位来说却高或低得离谱。我正在寻找一种更好的配方来消除这些颠簸。
-
好的,说你有一个更好的公式,那你打算用它做什么? IE。你的最终目标是什么?
-
我想用公式来定义每个单位的能力,所以较高的数字意味着该单位可以摧毁数量较少的单位。基本上是简单的游戏机制。
-
所以你只是假设你拥有的单位统计数据已经平衡,它没有显示是公式的错吗?如果您上面的公式是可以的,但单位的统计数据设计不佳且不平衡怎么办?如果我处于你的情况,我会完全按照你目前所做的:提出一个对我有意义的公式并调整统计数据,使它们都具有相同的分数。然后使用游戏测试来真正测试它们是否平衡并根据需要进一步调整。
标签: excel artificial-intelligence machine-learning