Board logo

标题: [历史] [猫语作业]经验均分系统(作业中) [打印本页]

作者: 喵喵の狗狗    时间: 2007-7-20 14:51     标题: [猫语作业]经验均分系统(作业中)

算是借了别人的衣钵了,这里我觉得要理清头绪,这里单独贴出来。
这个问题是源自这个帖子http://bbs.rohome.net/thread-817764-1-1.html
实际上就是因为现在经验均分后跟过去的多一个人多10%的设定有不符的地方。因此后来出现了我的证明,事实证明,的确不存在10%的设定。

-------------------------------------无他人抢怪--------------------------------------
我的第一步定义:
假设1:基本经验exp,组队人数A,并且可以均分,装备增益效果加算後的和为B%,上交工会经验比为C%,经验书增益效果50%。这只怪在被消灭的过程中全部是你们队伍的人打的,没有外人插手。不论你是否出手了。

于是成立公式1:exp×(90%+A×10%)/A×150%×(1+B%)×(1-C%)

论证过程:
在2个人组队并能均分的情况下,对象为僵尸,他的base经验为50,服务器为普通服,全裸无装备,无吃任何增加经验的道具,附近无诗舞的经验增倍技能,未加入任何公会,其他设定参考假设1,2人合作攻击,都分别得到经验为33。

代入假设1的公式1:50×(90%+2×10%)/2=27.5

远小于期待值,于是此公式不成立。

在该贴中楼主提出了额外因子应该为25%的假设,于是套入得到公式2:

exp×(90%+A×10%)/A×(1+25%)150%×(1+B%)×(1-C%)

将数值代入假设1的公式2:50×(90%+2×10%)/2×(1+25%)=34.375

接近,但是有少许偏离,但根据经验,一般ro在计算时存在对小数点习惯性的舍一或者进一法的显示方式,也就是不显示小数部分,因此这个值超过了着两种算法下存在的±1这个容差范围

于是我认为错误在于因子(90%+A×10%)上,去掉此因子,得到公式3:

exp×(1+25%)150%×(1+B%)×(1-C%)
将数值代入假设1的公式3:50/2×(1+25%)=31.25

也存在少许偏移,也不在容差范围内。

但单独想到存在一个基本1的设定,比如在hit,cri这些值的设定都存在一个基本1。

于是我判定公式应该为2,3其中一个。对于公式3,我增加一个附加值1,得到公式3改:
exp×(1+25%)150%×(1+B%)×(1-C%)+1

为了证明上面的正确性,我加入了第3人,并将怪物设定成经验较高为base exp512的铁甲三叶虫。

论证过程如下:
找到3个人,一个人慢慢打,其他2个发呆经验如下:171

三个人都出手变成了257……

只有2个人出手就是215或者214(这里证明了小数点是不会被忽略的)

这样看来均分公式就修正如下:

基本依然设定如下并增加一个变量:
定义:基本经验exp,组队人数A,并且可以均分,装备增益效果加算後的和为B%,上交工会经验比为C%,经验书增益效果50%。这只怪在被消灭的过程中全部是你们队伍的人打的,没有外人插手。不论你是否出手了。

如果单人攻击就是
exp/3=512/3+1=171
如果2人攻击就是
exp/3×(1+25%)+1=214
如果3人攻击就是
exp/3×(1+25%×2)+1=257

但是前面证实了存在浮动的现象,我想就是小数点位数造成的,应该是小数点后1位有效。

如此算下来应该增加一个变量S,也就是参与攻击的人数。因此,定义重新定义一下应该为:
定义:基本经验exp,组队人数中在该图的在线人员为A,并且经验可以均分,其中参与攻击的人员数量为S,当前装备增益效果加算後的和为B%,上交工会经验比为C%,经验书增益效果50%。这只怪在被消灭的过程中全部是你们队伍的人打的,没有外人插手。

那么经验公式为:
exp/A×(1+25%×(S-1))×150%×(1+B%)×(1-C%)


这里得到初步的假设2:基本经验exp,组队人数中在该图的在线人员为A,并且经验可以均分,其中参与攻击的人员数量为S,当前装备增益效果加算後的和为B%,上交工会经验比为C%,经验书增益效果50%。这只怪在被消灭的过程中全部是你们队伍的人打的,没有外人插手。。


从而成立公式4:
exp/A×(1+25%×(S-1))×150%×(1+B%)×(1-C%)


下面要证明的是,收到攻击,也就是挨打是否判定为参与攻击;参与攻击的25%增益的持续时间,这2个问题。
其他的如果有人有考虑到的我可以一起论证一下。

假设3:如果队伍中有人攻击了一次后下线,不参加S值的累计。

三个人物在线,均分打开。队员1也是队长,攻击铁甲三叶虫,下线潜逃,然后队员2上前攻击,队员3观望。消灭怪物后,1上线一次,然后经验如下:
队员1:经验0   队员2:经验255  队员3:经验255
应用公式4,成立,S对应值为2。这个我从5秒到1分钟後攻击都测试过,经验的结果相同。
也就是说,S值的判定是在怪物被消灭时,根据当前地图参加攻击的在线队员数量判定。

假设4:挨打也判定参加S值的累计。
三个人物在线,均分打开。队员1靠近怪,怪物名称:卡特拉小丑,经验2407,整个过程队员1一直不攻击,队员2攻击,队员三观望。消灭怪物后3人各得到经验803。
对应公式4,得到三人的理论经验应为2407/3×(1+25%)=1003,错误。因此此假设不成立。
然后假设4的反证成立,也就是挨打者不参加S值的累计。

P.S.:上面提到的变量A,S,B,C的取值范围如下:A[1,12],S[1,12],B[0,∞),C[0,50]


综上:在打开组队均分的情况下,如果怪物在被消灭的过程中未被其他非队员的人员攻击,那么经验的公式满足下面的公式:
exp/A×(1+25%×(S-1))×(1+B%)×(1-C%)×150%

其中exp为怪物的基本经验,A为组队中当前地图的在线人数,S为当前被消灭怪物被消灭时参加攻击的队员的在线人数(只挨打未攻击的的队员不参加累计),B%为装备的经验增加效果加算後的总百分比和,C%为人物当前工会经验的上交百分比,50%是经验书的增益效果,如果没有吃可以去除。


-------------------------------------有他人抢怪--------------------------------------
这估计是最难判定的了……我要想想怎么分类……

[ 本帖最后由 喵喵の狗狗 于 2007-7-20 18:25 编辑 ]
作者: realran    时间: 2007-7-20 14:53

………………好烦琐
作者: 喵喵の狗狗    时间: 2007-7-20 14:54

-_-||||因为是纯数学问题啊,就跟高中代数作业差不多了……
作者: 024111    时间: 2007-7-20 14:55

看看有米有精
作者: .lemon.    时间: 2007-7-20 14:55

我是那种看到分析贴就头晕,直接拉到文末找结论的..

结果这次没找我最熟悉的“以上得出结论是:”..

作者: 喵喵の狗狗    时间: 2007-7-20 14:57

-_-|||现在有点私事要出门,我只证明了一半,下半段4点回来弄。

现在至少有公式4可以当作参考……
作者: 命运の齿轮    时间: 2007-7-20 14:58

猫猫可以再测试下,其实就算不组队,多一个人摸怪,怪也会多25%经验

每多一个人摸怪,或者怪多打一个人,经验就会增加25%,上限是600%

以前N多人在浪人区脚动,以至于那边的飞行魔书都是好几万的经验,就因为飞书摸过的人太多了
作者: 24950058    时间: 2007-7-20 15:34

头晕~~还是头晕~~~讲点具体数字算了 那容易懂些
作者: qwenlww    时间: 2007-7-20 15:55

原帖由 .lemon. 于 2007-7-20 14:55 发表
我是那种看到分析贴就头晕,直接拉到文末找结论的..
结果这次没找我最熟悉的“以上得出结论是:”..


一样一样啊,我看了3秒后立刻拉到末尾,结果……
作者: tlxtlxtlx83    时间: 2007-7-20 15:59

这里得到初步的假设2:基本经验exp,组队人数中在该图的在线人员为A,并且经验可以均分,其中参与攻击的人员数量为S,当前装备增益效果加算後的和为B%,上交工会经验比为C%,经验书增益效果50%。这只怪在被消灭的过程中全部是你们队伍的人打的,没有外人插手。。


从而成立公式4:
exp/A×(1+25%×S)×150%×(1+B%)×(1-C%)



如果S=1,那1个人打怪就多+25%了...貌似是S-1吧
作者: yhxy6767    时间: 2007-7-20 16:10

我比较喜欢看到"证明略"然后"得出结论:XXXX"
作者: szm198684    时间: 2007-7-20 16:10

.........我不该进来的。.....我的头啊。.....
作者: yhxy6767    时间: 2007-7-20 16:11

不过还是要膜拜一下这位大神
十分敬佩其不畏烦琐只为求索,为群众某福利的精神,赞下
作者: 喜欢睡觉    时间: 2007-7-20 16:32

只有组队参与攻击前提下
队员判定攻击封包,怪物经验值增加判定,增幅是怪物原始经验的25%.


看了觉得烦的人,我就帮忙简化一下.
作者: hfmouse    时间: 2007-7-20 16:44

应该是S-1。。

另外,如果队友死亡回城,经验是否不受影响?
作者: fskjb    时间: 2007-7-20 17:02

玩游戏嘛,何必那么计较,有怪就抢,有垃圾就拣,有喇叭就一顶在顶,有书的刷完再刷就是楼,so easy!![m_阴笑]
作者: OTL    时间: 2007-7-20 17:03

为什么是25%...以前一直说的不是多一个人多10%么.......打中的多一个人多10%,被打中的多一个人多10%........我承认.......太长我看不完..
作者: 猴子^o^    时间: 2007-7-20 17:23

支持LZ~~ 继续努力~~~

LZ才是真正地在玩游戏...
作者: 看客    时间: 2007-7-20 17:24

我一直比较好奇,打了一个怪,飞了
如果有组队,这个怪被杀死以后有经验拿,为什么没组队就没经验拿
希望楼主测试并分析一下。
作者: kurakiorange    时间: 2007-7-20 17:25


好晕...看懂一半...
作者: 喵喵の狗狗    时间: 2007-7-20 17:34

先修正hfmouse 提到的S没有减1的问题……呃……继续试验了……
作者: koukunnrei    时间: 2007-7-20 17:34     标题: 关于经验浅谈

我没有测试过,不过我的理解是
1个人打怪,怪的经验为100,
每多个人摸下怪(包括被怪摸或者挑畔(缓速无效)),怪经验+25%,如果组队并能分,按照增幅后的经验分,上限大概是600%,
如果不组队,除了第一个经验稍微多点外(也许是额外加成),剩余经验按照打怪血量来分,不明白的就是给怪加血后,或者怪自己加血后,由于没刻意测试过,所以不乱说了,怪物总经验不变。
如果4个人打1个怪,怪死前某人回程或者下线,则被这个某人打的部分经验随着某人的消失而消失,例:米高,用巫师打到最后30hp并下线让新人打,得到经验还不如一个波波利的经验。
增加经验的装备,经验箱,卡片只和使用的人有关,比如1000经验2个人分,每人500的基础上,加上经验书的250,鞋子的50,得到的经验应该是无限接近于800。

胡乱说几句,希望有人一起探讨。
作者: 小肥影    时间: 2007-7-20 17:34

wow,建议花区的都组起来打算了
作者: realem    时间: 2007-7-20 17:35

最早是没有这个额外的bonus的(?)
后来为了鼓励组队有了10%的额外bonus
再后来为了进一步鼓励组队改成25%了

只要对怪物造成过伤害,或者被怪物伤害过(在被伤害瞬间飞走的也算),那么这个怪碰过的玩家就+1
对了挑衅也算

最高好像是400%or600%

[ 本帖最后由 realem 于 2007-7-20 17:36 编辑 ]
作者: OTL    时间: 2007-7-20 17:49

记得以前有一个说法是一个人杀一个怪获得的经验最高是这个怪的600%,但是怪物本身经验不封顶..
作者: 喵喵の狗狗    时间: 2007-7-20 18:20

刚才测试了…………挨打的没有参加累计………………

看来套入公式最大也就是(1+25%×(12-1))/12=0.3125呢

接下来就是要证明特殊的如果旁人参加抢怪,经验会怎么分配…………

[ 本帖最后由 喵喵の狗狗 于 2007-7-20 18:23 编辑 ]




欢迎光临 浆糊论坛-RO小站 (http://bbs.rohome.cn/) Powered by Discuz! 7.2