作者Append (鸦片)
看板Rockman
标题[心得] RockmanX5 评价条件研究:(2) 暴力测试
时间Fri Nov 27 07:49:09 2015
------------为了方便查阅,先把重点放最上面--------------
┌────┬───┬─────┬─────┬────┐
│分项积分│8 │4 │2 │1 │
├────┼───┼─────┼─────┼────┤
│过关时间│1min内│1m~2min内 │2m~5min内 │5min以上│
├────┼───┼─────┼─────┼────┤
│受伤总量│0~15 │16~31 │32~63 │64以上 │
├────┼───┼─────┼─────┼────┤
│杀敌数目│0~39 │40~79 │80~149 │150以上 │
├────┼───┼─────┼─────┼────┤
│最大输出│8以上 │7~6 │5~4 │3~1 │
├────┼───┼─────┼─────┼────┤
│毒发次数│0 │1 │2 │3以上 │
└────┴───┴─────┴─────┴────┘
另外直接引用巴哈姆特BBS的积分→等级换算 (每份攻略都一样)
Rank 降级 维持 升级
MEH 0-31 32-40
PA 0-31 32-39 40
GA 0-23 24-35 36-40
SA 0-19 20-31 32-40
A 0-17 18-31 32-40
B 0-14 15-27 28-40
C 0-11 12-19 20-40
E 0-15 16-40
--------------------------------------------------------
好,既然有了记忆体位址之後,
我们终於可以确实的分别指定进入关卡的等级,指定五项数据之後,
让他回报跑完关卡的等级。
只要我们跑一关...不对,这还是太累了。
-----
仔细检查评价变化的瞬间,都发生在打完boss之後,
Now Loading消失,要跑出结算音乐的那一刻。
(对,我又是一个一个Frame去对照了...)
也就是说,只要在那一刻之前即存,改好记忆体,读取存档,
然後马上就可以读取记忆体格子看到结果。
当然这整件事情也可以通通写成Script自动输出
http://pastebin.com/U3zqmUNm
不过总之先检查一下这些数值是怎麽被分段的
--------
时间: 测试 "(0~9)分59秒98",只取评价变化的部分上下列出来
===========
=========================
进入 过关
消耗时间 受 杀 输 毒
评价 评价 伤 敌 出 发
===========
=========================
PA MEH
0m59s98 15 39 8 0
PA PA
1m59s98 15 39 8 0
===========
=========================
GA PA
1m59s98 15 39 8 0
GA GA
2m59s98 15 39 8 0
===========
=========================
B A
4m59s98 32 39 8 0
B B
5m59s98 32 39 8 0
===========
=========================
从这里可以猜出?[1;36mA1min内,1min~2min内,2min~5min内,5min以上 是不同的区间
公式大家给的方式都是8/4/2/1,
但是之前
有很多评价攻略写 2min有满分8分,
假设升等条件没有写错,这会造成矛盾:
GA GA 1m59s98 15 39 8 1 後四项分数应该是8/8/8/4
如果2min有满分8分,这样就会36分升PA
可是他没有。
SA SA 1m59s98 15 39 8 2 後四项分数应该是8/8/8/2
如果2min有满分8分,这样就会34分升GA
可是他没有。
区间的部分有尽可能以min为单位作对照,
(锁杀敌、输出、病毒三项满分,其它可变)
有发现2'59"58 3'59"58 4'59"58的行为是一样的,这应该是2分的区间。
-------------------------------------------------------------
受伤 测试 "16n-1,16n,16n+1 ",只取评价变化的部分上下列出来
====================
================
进入 过关 消耗时间
受 杀 输 毒
评价 评价
伤 敌 出 发
====================
================
PA MEH 0m59s98
15 39 8 0
PA PA 0m59s98
16 39 8 0
====================
================
GA PA 0m59s98
31 39 8 0
GA GA 0m59s98
32 39 8 0
====================
================
B A 2m59s98
63 39 8 0
B B 2m59s98
64 39 8 0
====================
================
很明显的,
区间分别是0~15(8分) 16~31(4分) 32~63(2分) 64以上(1分)
之前有很多攻略写0~16 17~32 .... 这些都会在计分出问题。
--------------------------------------------------------------
杀敌数 测试 39 40 41 79 80 81 149 150 151
========================
============
进入 过关 消耗时间 受
杀 输 毒
评价 评价 伤
敌 出 发
========================
============
GA PA 0m59s98 15
39 7 0
GA GA 0m59s98 15
40 7 0
========================
============
GA GA 0m59s98 15
79 3 1
GA SA 0m59s98 15
80 3 1
========================
============
GA GA 0m59s98 15
149 5 1
GA SA 0m59s98 15
150 5 1
========================
============
也很明显,
区间分别是0~39(8分) 40~78(4分) 80~149(2分) 150以上(1分)
之前有很多攻略写0~40 41~80 81~150.... 这些都会在计分出问题。
------------------------------------------------------------------
最大输出
============================
========
进入 过关 消耗时间 受 杀
输 毒
评价 评价 伤 敌
出 发
============================
========
GA PA 0m59s98 15 39
8 1
GA GA 0m59s98 15 39
7 1
============================
========
GA PA 0m59s98 15 39
6 0
GA GA 0m59s98 15 39
5 0
============================
========
GA GA 0m59s98 15 40
4 2
GA SA 0m59s98 15 40
3 2
============================
========
这个在数据上,攻略都没有问题,
有问题的是
「这对所有敌人都有效」─这格记忆体也会记录对小兵的输出。
有很多攻略都写对Boss的输出,但是其实对小兵的输出更高更有优势。
所以X在这一项是很占优势的,集气炮炸下去就是。
(不过我没有测盖亚,不期不待...)
---------------------------------------------------
病毒
================================
====
进入 过关 消耗时间 受 杀 输
毒
评价 评价 伤 敌 出
发
================================
====
GA PA 0m59s98 15 40 8
0
GA GA 0m59s98 15 40 8
1
================================
====
GA GA 0m59s98 15 40 3
1
GA SA 0m59s98 15 40 3
2
================================
====
GA GA 0m59s98 15 40 4
2
GA SA 0m59s98 15 40 4
3
================================
====
这个在数据上,攻略也都没有问题,
有问题的是
「这是毒发才会记录」─
有不少攻略写"碰到的病毒数量",这不影响。
所以跑关过程遇到病毒也就别刻意躲了,
是要去哪里找四个病毒来毒发阿。
大概只有No Data 2注意一下就好,要真的搞到四个还真不容易。
--------------------------------------------------------------
好,列出了一套规则,不过这套规则到底对不对呢?
为了检查这个规则的正确性,套用上面的Lua Script,
对八个等级 {"MEH","PA","GA","SA","A","B","C","E"}
四种过关时间 {"0m59s98","1m59s98","4m59s98","5m59s98"}
四种受伤总量 {15, 31, 63, 64}
四种杀敌数目 {39, 79, 149, 150}
四种最大输出 {8,6,4,3}
四种毒发次数 {0,1,2,3}
用前面提到的Script,
http://pastebin.com/U3zqmUNm
跑所有组合的结果:共8x4x4x4x4x4=8192项组合
读取结算前的即时存档,写入记忆体指定数值组合,
等5个frame让他结算,然後读取结算後的
实际等级,
最後把这些都记录下来,
同时套用以上规则,自行判断出一个结算後的
理论积分,
套用攻略的积分表换算成
理论等级,
最後检查
实际等级是否与
理论等级相同
。(TRUE/FALSE)
输出结果,8192个TRUE,全数符合!
https://goo.gl/a9P8GH
----------------------------------------------------------------
结论,应该没有什麽根据等级调整评分标准的问题。
每个项目的得分标准应该修正成向上面那样。
除此之外,许多攻略对最大输出和毒发次数有所误解。
以上。
--
███◣ ◢██◣ ◢██◣ █ ◢█ ◣ ◢ ◢██◣ ◣ █
█ ██ █ ██ █ ██ █◢█◤ █◣◢█ █ ██ █◣ █
█ ██ █ ██ █ ██◤ ████ █ ██ ██◣█ @ ptt.cc
███◤ █ ██ █ ██◣ █◥◤█ ████ ████
█◥█◣ █ ██ █ ██ █◥█◣ █ █ █ ██ █◥██ 鸦片(Append)
█ ◥█ ◥██◤ ◥██◤ █ ◥█ █ █ █ ██ █ ◥█twitch.tv/append
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 81.158.81.134
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Rockman/M.1448581753.A.07E.html
1F:推 mdkn35: @@ 真是专业 11/27 09:52
2F:→ Siu: 感到这世上的谜少了一个 (虽然我赚晶片也不会就是了) 11/27 11:08
3F:推 superrockman: 原PO好认真......竟然算的到这麽细的地方 11/27 11:15
4F:推 ainamk: 我有点好奇第一篇no data 2升不上去问题点在哪边_A_ 11/27 11:17
5F:→ ainamk: 该不会是混乱壁画W怎样都没办法打出够高的损伤吧 11/27 11:18
很好,可能是我标示的不够清楚,直接拿出来算一下
: 於是辛苦的打到3分钟内KO,确实避开所有病毒,壁画的每颗眼睛都用克武集气,
: 伤害15以内,杀敌数39以内,这样...看起来应该有满足条件。
三分钟内KO: 2min~5min内 2分 伤害15以内 8分 杀敌数39以内 8分
每个眼睛都用克武集气 伤害8 8分 确实避开所有病毒,毒发状态0次 8分
2+8+8+8+8=34 GA升级PA条件是36~40分,无法升级,维持GA
会有这问题就表示"用克武打BOSS才能在隐藏的输出评价拿到高分"这个观念深植人心。
这是错的。用集气炮打个路上的小兵,输出评价就直接满分了。
需要担心这个的只有Dynamo,没有小兵,一定要旋风集气或Nova。
Nodata3猎鹰和盖亚炮打小兵有多少输出我没测,但是giga打Zero都有8。
6F:推 superrockman: 绿眼模式比较麻烦 他乱丢的子弹(?)是可以杀的 也会 11/27 11:32
7F:→ superrockman: 计算KO数...... 11/27 11:32
8F:推 ainamk: 绿眼的子弹会被算杀敌数这点很早就知道了 ND2的盲点之一 11/27 11:49
9F:推 emulators: 我现在觉得不想研究这麽麻烦了... 11/27 12:14
欸...我以为Lua Script在模拟器上的应用是你会有兴趣的东西耶,
前天发现有好多模拟器都支援Lua Script,
这表示可以用来做很多奇妙的金手指输入或数据检测之类的
10F:推 gericc: X5的等级评价难度很高 11/27 14:05
11F:→ Append: 超过两分钟,评价只有两分,总分34,GA升PA要36 11/27 15:42
12F:→ Append: 然後"打出高的损伤" 因为关卡里有很多小怪 这非常简单 11/27 15:48
13F:→ Append: 更何况刺球打盾兵伤害10 一开始就已经解决问题了 11/27 15:48
因为对时间的区分还是有一点心虚
所以从(0~9)min59sec98十种组合搭配其它各种组合,共20480项,
全部计算一遍──20480个TRUE,全部符合,所以时间的区分方式应该就是这个规则。
※ 编辑: Append (81.158.81.134), 11/27/2015 18:07:19
14F:推 ainamk: 我突然想到一个问题→直接找积分的位址行不通吗? 11/27 18:22
15F:→ Append: 他似乎没有真的算出这个积分存进记忆体。找不到这个值。 11/27 18:27
16F:→ Append: 他如果实作写(a+b+c+d+e)>35之类的,并不需要真的存起来 11/27 18:29
17F:→ Append: 当然他说不定其实有存,只是我没找到,不过这很难找 11/27 18:30
18F:推 h1236660: 太好了,解开一个世纪之谜 11/27 19:14
19F:→ h1236660: 不知为何之前好像没人研究过的样子 11/27 19:14
20F:→ h1236660: 前人也不算弄错吧,因为没人特别研究所以就以为是那样 11/27 19:15
21F:→ h1236660: C社有没有放出公式?大全书也没写 11/27 19:16
22F:推 emulators: 我玩模拟器只是想要玩到我想玩的游戏而已啊xd 11/27 19:34
23F:推 ainamk: C社连MEH都没讲是什麽了_A_ 11/27 20:28
24F:→ Append: 我猜C社大概有放出来8421这四个数字 和五项没解释的评分 11/27 20:43
25F:→ h1236660: 有人知道MEH啥意思吗 11/27 20:43
26F:→ Append: 其他条件八成是被猜出来的? 然後因为当初没办法像我这次 11/27 20:44
27F:→ Append: 作的暴力尝试 所以即使想要验证也会搞得很辛苦 11/27 20:44
28F:→ Append: 我目前听过最合理的说法是Master Irregular Hunter 11/27 20:45
29F:→ Append: 相对的 美版会写MMH 可能是Master Maverick Hunter 11/27 20:45
30F:→ Append: 那个E可能是取Irregular的发音 11/27 20:45
31F:推 ainamk: 59'98"这个我在想会不会是把「以下」跟「未满」搞混的结果 11/27 22:28
32F:→ ainamk: 原本真的是打算切两分钟以上和未满 结果判定式切错了 11/27 22:29
33F:推 h1236660: 这样一说感觉很合理 11/27 22:53
34F:→ h1236660: 也许由於X5评价系统本来就设得不好,尤其是时间 11/27 22:54
35F:→ h1236660: 所以乾脆就不解释评分条件,叫玩家和出版社自己去猜... 11/27 22:54
36F:→ Append: 我其实没看懂ainamk後面说的这句 11/28 00:03
37F:→ Append: 59'98只是因为他用frame计算时间 59frame就是0.98333秒 11/28 00:05
38F:→ Append: 这个时间是我故意卡出来表示几分钟内 11/28 00:06
39F:推 RuinAngel: 美版也是MEH吧?真的不知道啥意思XD 11/28 07:11
41F:→ Append: 同影片2:49,存档时跳MEH。然後你就知道这Capcom.... 11/28 08:06
42F:推 ainamk: R20+5大访谈的时候好像有玩家问MEH是什麽 可是没人回答XD 11/28 10:45
43F:→ RuinAngel: 难怪我就记得也是MEH啊我都玩美版XD 11/28 21:49
44F:→ Append: 就...翻译改一半... 11/28 22:43
45F:推 os653: 写论文吗XD 12/01 10:08
46F:推 ColdP: 太感动了, 像X5这样的老游戏还是有人愿意研究当年的谜题并 12/01 17:49
47F:→ ColdP: 写成文章! 想当初为了拼评价, 基本上陆上的小兵都是能闪则 12/01 17:50
48F:→ ColdP: 闪, 根本不会想到要去杀他取最大伤害。 12/01 17:51
49F:→ ColdP: 不过实务上除了Dynamo外有机会拿MEH的就只有No Data 3和 12/01 17:52
50F:→ ColdP: 蔷薇关了。 12/01 17:55
51F:→ Append: 我觉得关键是没有人想到对小兵的最大伤害有计分 12/01 18:35
52F:推 gfneo: 大推 12/05 10:47