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

Math 应用于游戏开发的数学算法示例,math,random,Math,Random,我正在设计一款类似《最终幻想》的RPG游戏 我已经完成了编程部分,但我缺少的是数学。我的数学还不错,但我很难将球员的状态合并到mu总和中 如何根据玩家的速度制作动作计时器? 我如何使用攻击和防御,使其不总是完全相同的伤害? 如何将随机性添加到方程式中 有人能给我指一些我可以阅读的资源来学习这类东西吗 编辑:澄清我在寻找什么 我的伤害(玩家攻击x移动强度)/敌人防御 这很有效,而且可以很好地扩展,但是我看了一下final fantasy 4的算法,一段时间后得到了,单是这个总数就超过了15步。我的

我正在设计一款类似《最终幻想》的RPG游戏

我已经完成了编程部分,但我缺少的是数学。我的数学还不错,但我很难将球员的状态合并到mu总和中

如何根据玩家的速度制作动作计时器? 我如何使用攻击和防御,使其不总是完全相同的伤害? 如何将随机性添加到方程式中

有人能给我指一些我可以阅读的资源来学习这类东西吗

编辑:澄清我在寻找什么

我的伤害(玩家攻击x移动强度)/敌人防御

这很有效,而且可以很好地扩展,但是我看了一下final fantasy 4的算法,一段时间后得到了,单是这个总数就超过了15步。我的只有两个

如果可能的话,我正在寻找真实的游戏例子,但我会满足于那些有章节的论文或书籍,解释他们如何得到这些复杂的和,以及为什么他们不使用简单的和


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

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

  • 攻击/防御可以是“命中/阻挡机会”或“造成/减轻伤害”(或者,可能是两者的混合)。如果您决定选择“已造成/减轻损害”,您可能需要执行以下操作之一:
    • 在适当范围内生成一个随机数,从基本攻击/防御值中加/减
    • 生成一个范围为0-1的数字,乘以攻击/防御
    • 生成一个0-2范围内的数字(具有高斯分布或泊松分布和适当的标准偏差)(大约,用于解释偶尔的致命一击),乘以攻击/防御
对于攻击计时器,决定在给定时间内攻击次数的“双倍速度”和“三倍速度”。这应该会给你一个很好的实施方法的指导。我可以马上想到三种方法

  • 使用N/speed作为计时器的基数(这意味着双速/三速在给定时间间隔内提供2/3倍的攻击次数)
  • 使用Basetime-Speed作为计时器(需要速度上限,可能不是问题,速度统计和计时器之间很可能存在不直观的关系,低级别没有太大差异,高级别有很大差异)
  • 使用Basetime-Sqrt(速度)作为计时器
      我怀疑你会在这方面找到学术研究。比如说,确定损伤公式是一种启发式方法。人们只是根据自己对各种功能的体验来编造东西,然后根据游戏性来调整结果


      在图形上绘制函数时,对函数的外观有良好的感觉是很重要的。对此,我能给出的最好建议是学习一门关于绘制函数图的课程。谷歌搜索“素描功能”会让你开始学习。

      看看印刷版的角色扮演游戏,如《地下城与龙》,以及它们如何处理这些问题。它们是电脑RPG的灵感来源。我对学术工作一无所知

      一些想法:你不必有一个实际的“公式”。它可以是类似“掷一个20面骰子,如果掷骰=12,武器造成2点伤害”的规则

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


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

      只需在Excel(或谷歌等效软件)中绘制一些简单的绘图,然后玩数字游戏就可以了?另外,你可以通过在游戏开发堆栈交换处询问来获得更多资源。@Mikeb我想你没有抓住重点,我不是在寻找具体的数字,而是在寻找如何组成方程本身,是否最好使用乘法或除法,包括cos或sine或类似的方法来处理数字。这,根据我的经验,我发现如果我打开Excel并创建一个公式(生成方程式),我可以快速查看方程式在不同输入上的行为、调整系数等,并获得我想要的行为。