Phigros谱面定数测算项目正式启动
2020/03/111704 浏览综合
Phigros中衡量玩家水平的rks机制大家应该都不陌生(玩家头像旁边的那个数字),但是rks的机制一直处于神秘的状态没有人完全解开。作为这款游戏的爱好者,我希望能够尽自己的绵薄之力,把这个算法完全摸透。
目前个人已经做到的部分:
1.rks的基本算法:best20平均值,四舍五入
2.best20中每个谱面的rating只与其定数与最高ACC有关,且收割时rating与定数相等
3.设计出一套理论上能够测算所有HD以上谱面和大多数EZ的定数的方法(会在下文介绍)
4.测算出了少量谱面的定数:
Glaciaxion HD5 5.4
Aphasia HD8 8.8
Doppelganger HD9 9.4
Mopemope HD8 8.5
目前还没有做到的部分
1.测算所有谱面的定数(需要人手)
2.研究出rating与定数和ACC间的函数关系(似乎成二次函数关系)
3. 。。。。。。
如果有兴趣加入这个项目,可以私聊我(有问题也可以问),要求:
1.不爱惜自己的存档或者有能力新开一个空档
2.有充足的时间和耐心按照下面的方法打歌并计算,并且不粗心
3.由于测算方法容错率较低,要求有能力收割和控制自己性歌,rks最好在9.00以上(会根据rks分配不同任务)
4.由于本人学生党,没有钱,所以应该不会有实物报酬,但可以用虚拟报酬代替(比如点歌)
*测算方法介绍
测出rks基本算法后,由于收割时rating与定数相等,所以一开始我时设想可以直接收割后用(rks增加值+best20地板rating)*20来计算谱面定数。
但是事实上,由于rks只精确到0.01,*20后只精确到0.2。根据鸽游内部人员的透露,定数是一位小数,精确到0.1,所以势必会造成误差,且这个误差可能会在连续测算时增大。
考虑到四舍五入,我想到了以下算法:
将定数尾数为奇数和偶数的谱面分为两组,下文称其为“奇数谱”和“偶数谱”
先从一开始rks=0.00时的最简单情况出发,如果这时我游玩一个谱面,考虑性歌(1gr)和收割时的rks增加情况——
“奇数谱“:收割时rks实际值为a.bc+0.005所以显示为a.bc+0.01
性歌时rks实际值为a.bc+r(abs(r)<0.005) 所以显示为a.bc,表现rks有0.01的差异
而“偶数谱“:收割时rks实际值为a.bc所以显示为a.bc
性歌时rks实际值为a.bc-r(0<r<0.005) 所以显示为a.bc,表现rks无差异
通过这个方法即可测算出绝大多数谱面的“奇偶性“,再结合一开始的方法测出定数。
*注意abs(r)<0.005的条件只对note达到一定数量的谱面才成立,所以对于物量过低的谱面会造成致命的误差(这就是一开始提到对少数EZ可能无效的原因)
再考虑已经游玩一定谱面时的情况(这里假设已经全phi,且该谱面比地板定数有较大提升)
游玩一个谱面,在前提条件下,它将替代地板。
显然(这里不加论证),当除去地板(游玩谱面不足20时记为0)后剩余谱面的定数之和尾数为偶数时,“奇数谱“和“偶数谱“的性质不变,否则反转。
那么一个有具体操作性的方法就诞生了:开一个新档,从简单到困难将要测的谱面全部游玩两把,第一把性歌第二把收割,再通过以上算法算出精确的定数即可。
特别感谢pth大佬提供的大量数据给我的灵感