适用于游戏开发的数学算法示例

时间:2011-06-07 14:01:01

标签: math random

我正在设计一款像最终幻想一样的RPG游戏。

我完成了编程部分,但我缺少的是数学。我在数学方面表现不错,但我很难将玩家stas纳入mu sums。

如何制作基于玩家速度的动作计时器? 我如何使用攻击和防御,以便它不会总是完全相同的伤害? 如何在方程中添加随机性?

任何人都可以向我指出一些我可以阅读的资源来学习这类东西。

编辑:澄清我在寻找什么

对于我有的伤害(玩家攻击x移动力量)/敌人防御。

这可以很好地运行并且可以很好地扩展,但是我看了最终幻想4中的算法,而得到的结果只有15个步骤。我只有2.

如果可能的话,我正在寻找真实的游戏示例,但会选​​择能够解释他们如何获得这些复杂数额以及他们为什么不使用简单数据的部分的论文或书籍。

我最终打算实施,但我正在寻找更多的学术知识。

3 个答案:

答案 0 :(得分:0)

根本不知道最终的幻想,这里有一些想法。

  • 攻击/防御可能是“击中/阻挡的机会”或“完成/减轻的伤害”(或者可能是两者的混合)。如果您决定选择“损坏已完成/已减轻”,您可能希望执行以下操作之一:
    • 生成一个合适范围内的随机数,从基本攻击/防御值中加/减。
    • 生成0-1范围内的数字,乘以攻击/防御
    • 生成一个数字(具有高斯或泊松分布和合适的标准偏差),范围为0-2(左右,以计算偶然的暴击),乘以攻击/防御

对于攻击计时器,确定“双倍速度”和“三倍速度”应该对给定时间内的攻击次数做什么。这应该会给你一个如何实现它的体面的领导。我可以,不用考虑三种方法。

  • 使用N /速度作为计时器的基础(这意味着双倍/三倍速度是给定间隔内攻击次数的2/3倍)。
  • 使用Basetime - 速度作为计时器(需要上限速度,可能不是问题,速度统计和计时器之间很可能有不直观的关系,低级别没有太大差异,高级别有很多差异)
  • 使用Basetime - Sqrt(速度)作为计时器。

答案 1 :(得分:0)

我怀疑你会在这方面找到学术上的工作。例如,确定损坏的公式是启发式的。人们只是根据他们使用各种功能的经验制作东西,然后根据游戏玩法调整结果。

在图表上绘制时,对于函数的外观有一个很好的感觉很重要。我能给出的最好建议是学习草图功能图的课程。 Google搜索“草图功能”将帮助您入门。

答案 2 :(得分:0)

看看像Dungeons& amp;龙以及他们如何处理这些问题。它们是计算机角色扮演游戏的灵感来源。我不知道学术工作

一些想法:你不必拥有一个真正的“公式”。它可以是“滚动20面模具,如果滚动<12则武器会造成2点伤害,如果滚动> = 12则造成3点伤害”的规则。

您可能希望将连续变量简化为小范围的整数以进行测试。这样,您可以计算出具有所有可能排列的表格,并查看结果是否合理。一旦你有了好的东西,就可以插入连续输入的公式。

另一个关键问题是游戏平衡。没有必要公式告诉你游戏机制是否平衡,你必须测试。