设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2184|回复: 3
打印 上一主题 下一主题

[讨论] 【宏观平衡:乘法误差】异形的数值探索之旅(60)★

[复制链接]

Lv4.逐梦者

梦石
0
星屑
7949
在线时间
971 小时
注册时间
2010-10-10
帖子
2777
跳转到指定楼层
1
发表于 2012-10-1 12:22:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 疯狂异形 于 2012-10-3 14:03 编辑

是的,宏观平衡也有所谓的误差问题,而且一大堆。

1.时间误差
设计者使用难度曲线以及经济系统来控制玩家的时间,但是这并非一种准确的方式。
  你的时间设计,就像是给别人一个24小时满一次的沙漏,然后还要求别人“明天中午3点来报道,记得提前到5分钟”
  然后第二天:呃……现在大概是三点吧?我大概早来了一分钟吧?


这是荒谬的,如果你想要得出精确的数值,就应该使用相对应的丈量工具。
  这也正是经济系统的数值常犯的错误:用错了工具;我不知道你是什么情况,但两年前我经常犯这种错误

在平衡过程中比如DPS公式中的极限值△y,或资源需求增长率,这些都是乘法。
  而在乘法应用过程中,由于工具本身以及我们数值自身造成的误差,使得数值的预期和误差与原数值产生了巨大的偏差。

  
2.浮点数偏差
在计算性价比公式时,我们所采用的单位是小数点单位,但在现实中,这些结果并不能准确的投射到环境中。
打个比方,在二日速成计划中,我设计了一个能够用来兑换性价比的“第一层”道具,它的性价比为13G,然而游戏寿命定值为2小时,单位收益15,因此该首层道具需要一个性价比为1.153846154的△y补值。
  而你无法给出这个补值,RM的世界里没有1.1538...这种单位量的价值,我们只有int(value),因此△y的补值经常就在这种看似无害的行为中被扔进了海里。



偏差哪里来的?
   如果你的资源中增长率为
(lv*原始提升率+基础收益)*△y
结果得出了一个奇怪的数值,不符实际?
WHY?在计算过程中,你可能犯了什么错?

那么第一步,我们来赋值吧。
LV= int{0< x <=100}
原始提升率= 10
基础收益=4
△y=108.66%

  首先要搞清楚你的视角是站在什么位置的,因为不同的工具会为你带来不同的视角,以及准确度;
毋庸置疑,做RPG,我们的视角肯定得锁在LV上面了。
这里有一个很简单的问题,你能是10.359级吗?不能,你的等级总是整数的。
下面来设置三个简单的观点来审视这个宏观世界……就像他们说的一样,观察者决定了一切:
  LV=1,LV=10,LV=100

LV=1
(1.*10+4)*108.66%
=14*108.66%
=15.2124

LV=10
(10.*10+4)*108.66%
=104*108.66%
=113.0064

LV=100
(100.*10+4)*108.66%
=1004*108.66%
=1090.9464



  所以你真的会留着这些小数点么?
这是一个值得讨论的问题,科学家认识到了视角对数值所造成的影响:你无法用手从沙堆中抓出3.1毫克的细沙,离开了衡量的工具,你就是没有这个能力。
  如果你最差的观察工具就是你的双眼,那你永远也无法发现微生物和电子的世界;如果你最差的观察工具就是天文望远镜,那么你永远也没法发现在你脚下的那一朵花。
  今天,我带着这个概念而来。

根据科学中的乘法定律,三个数应该是这样的:
  LV=1,LV=10,LV=100

LV=1
(1.*10+4)*108.66%
=14*108.66%
=15.2124
=1.5e1

LV=10
(10.*10+4)*108.66%
=104*108.66%
=113.0064
=1.13e2

LV=100
(100.*10+4)*108.66%
=1004*108.66%
=1090.9464
=1.09e3



  这个数值是合适的吗?
我也在思考相同的问题。
但至少这能够体现出不精确性,还能用于计算离散区间,对么?
2014.7.6,晚上03.41分,他死于脑癌。

Lv3.寻梦者

梦石
0
星屑
1103
在线时间
409 小时
注册时间
2012-8-7
帖子
1536
2
发表于 2012-10-3 11:23:52 | 只看该作者
虽然私明白了异形君的意思,但是,私要说明的是:
对于这种处于<=e-1级别的误差在RM之中是体现不出来的。对于RM所作出的游戏的玩家来说,这个数量级的的数据,甚至e1~e2级别的数量级(到了SnowYagami这种游戏连万以下的数据都可以不用考虑了)而且RM对于小数的处理相当随意(相对于C来说,更像是BASIC的数据处理),如果要是最后的8.6%很重要的话,不如将其改成9%。没有必要为CPU增加这种小数级别运算而且有的时候玩家根本不会注意到的负担。
精确与粗略是相对的。正如物理上对于质点概念的提出。我们忽略体积的前提是我们根本不会去在意它的体积。正如这个数据之于玩家。如果这个游戏的数量级就在0~1之间,那这个数据的精度就务必相当高,但是要是耽搁百万、千万的游戏,与其精确计算最后几位数还不如让CPU剩下资源来处理图形和动画。
这是私的一己之见(←学生会的一己之见?!),嘛嘛……如有看法,欢迎点评+回复+PIA……


回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7949
在线时间
971 小时
注册时间
2010-10-10
帖子
2777
3
 楼主| 发表于 2012-10-3 13:20:37 | 只看该作者
harinlen 发表于 2012-10-3 03:23
虽然私明白了异形君的意思,但是,私要说明的是:
对于这种处于


问题并非出在游戏的最终结算,而是我们作为数值平衡的计算过程中出现的误差值,离散值。
一个经典的计算公式为 ehp/edpr=攻击次数(hd)
那么在这种计算过程中,数值又通常是由f((阶段闪避价值*△y*极限值)*(闪避*△x*极限值)+(阶段暴击价值*△y*极限值)*(暴击*△x*极限值))
  需要考虑的还有衰减值,关联值等等

在DPR的反复代入,赋值,运算过程中,小数点造成的误差被放大,放大,再放大。
  因此,我们必须找出一种有效率的,有意义,的离散取值法
2014.7.6,晚上03.41分,他死于脑癌。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1103
在线时间
409 小时
注册时间
2012-8-7
帖子
1536
4
发表于 2012-10-3 14:08:34 | 只看该作者
疯狂异形 发表于 2012-10-3 13:20
问题并非出在游戏的最终结算,而是我们作为数值平衡的计算过程中出现的误差值,离散值。
一个经典的计算 ...

这些数值的存在意义终究属于数据平衡。而维护这一准则的基本准则隶属于之初对于基本规则的定义。离散数据的存在价值对于系统而言是存在不确定性的。抛开这些数据对于系统的影响不谈,但说我们之于系统的作用关系。这些数据的平衡的维持必须是玩家所能感受到的平衡。对于很简单的AD系统完全不必牵扯到这么复杂的公式。RM里面默认的HP、MP、AD以及MAD公式都很好的完成了附属数据之于总体系的支持作用。但是仔细观察其公式就是很简单的加减。而且也是最符合现实的数据。
系统终究是为游戏服务的,倘若为了一个复杂的系统而失去了游戏本身的意义。那就是舍本逐末、本末倒置。倘若一个所谓偏向玩家的体系运算出来却让玩家觉得自己的努力杯水车薪,谁也不会去考虑系统的含义与设计。综上,私觉得在RM里面的系统建立可以更加面向玩家。更多的从玩家的角度去设计而不是从系统的角度去设计。恩?
以上


回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-10 14:00

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表