A9VG电玩部落论坛

 找回密码
 注册
搜索
查看: 11524|回复: 45

从海贼大叔的力量上限说起*发现了新的事实,3、4楼将有重要更新

[复制链接]

精华
0
帖子
68
威望
0 点
积分
198 点
种子
8 点
注册时间
2005-9-10
最后登录
2024-1-12
 楼主| 发表于 2014-12-21 11:50  ·  吉林 | 显示全部楼层 |阅读模式
本帖最后由 mzgx 于 2014-12-22 21:29 编辑

我第一次玩BWS的时候几乎没练海贼大叔,第二次玩为了看全剧情,所有人都练了练,发现了一个问题,而且以我目前的经验,这个问题似乎只出在海贼大叔身上,那就是——海贼大叔的力量上限究竟应该是多少?因为通过计算,其Lv30的力量上峰值应为21+3=24;而船乗り这个职业的力量上限为21。以哪个为准?

经测试,是21。为什么是21而不是24,我打算借此彻底地对BWS人物能力的构成和决定机制做一番说明。拉兹贝利亚保佑,希望我的这个野心能够实现。

先说构成,我们在人物的属性界面看到的人物属性,刨除料理和名马这些非常态因素的影响,其数值是如何构成的呢?
答案是:由两部分构成——1、由职业提供的基础值;2、个人的累积值。二者相加,即是在游戏中所看到的值。
其中基础值固定的,累积值则是随着游戏的进程不断变化的,我们在对人物进行动态修改时,修改的其实就是累积值

以利斯为例,利斯是不具备初始的(或者说先天赋有的)累积值的,所以当我们修改Lv1的利斯的属性时,会发现各项都是0,其Lv1的能力值,完全是由领主这个职业提供的,领主的属性为:26,5,6,5,0(以后如无特殊说明,属性的顺序为生命、力量、敏捷、防御、精神),是不是跟游戏中看到的一样?

随着利斯的成长,他的累积值会慢慢上升。我们先来从内存的角度认识一下这个累积值吧:
生命的累积值占用7位二进制数,可以表示0~127共128个数,如果把这个值调满,利斯的生命理论上可以达到26+127=153,但其实,生命无法超过100——程序是如此设定的。
力量、敏捷、防御、精神各占5位二进制数,可以表示0~31,共32个数。其中0~15都是正常的正数,从16开始,16表示-15,17则是-14,以此类推,30表示-1,31又是0(更专业一点儿的说法是:后四位是数值位,首位是符号位)——易言之,就是这4项的累积值在-15到+15之间。(目前我只发现一例累积值为负的,那就是西浓骑士团的老朋友——娜米丝女士,其力量的累积值是-2。甲:长时间铁索加身的结果吗?哎呀,邪恶了。乙:呸,人家被俘之前就是-2)

一提内存可能把经验较少的玩家弄懵了,其实如果弄不清内部原理,记住这个事实就好:
生命值的累积值在0到127之间,其他4项在-15到+15之间。

知道了这个,有一个概念其实可以不必单独提出来了,那就是——职业能力上限。相信BWS的玩家很多手里都有一张各职业上限的一览表,其实,BWS中并没有设定各职业的上限,上限其实就是基础值加最大累积值(15)算出来的。比如领主的力量上限是20,基础值5+15是不是20?领主的敏捷上限是21,基础值6+15是不是21?(几乎所有一览表都把生命的最大累积值取到50,不知为何,但或许有其他一些说道)
由此可知:职业上限这个值是通过内部机制算出来的,是不可逾越的,因为没有第三个值参与能力的计算。就是说,无论怎么练,甚至于直接修改,人物的能力都不可能比基础值大15以上。

说点儿题外话。前面说了,利斯没有初始的累积值,言外之意,很多人是具有初始的累积值的。比如阿迪尔,一开始生命就有3点累积值。之后通过升级取得的点数是在3的基础上再往上加的。初始的还是后天获得的在这层楼其实没有区分的意义,因为横竖都写入一个变量里,计算的时候查一下内存,这个变量是几就在基础值上加几,才不需要区分什么初始不初始呢。但初始累积值这个概念后面会用到,所以这里先提一嘴,做个铺垫。

评分

1

查看全部评分

精华
0
帖子
68
威望
0 点
积分
198 点
种子
8 点
注册时间
2005-9-10
最后登录
2024-1-12
 楼主| 发表于 2014-12-21 11:51  ·  吉林 | 显示全部楼层
本帖最后由 mzgx 于 2014-12-21 12:00 编辑

说到这儿,海贼大叔的力量上限为什么是21的问题其实就被解决了(船乗り的力量基础值是6)。下面来说一个衍生的问题:人物在某级的能力峰值是怎么计算的?

决定峰值的因素如下:1、由职业提供的基础值;2、初始累积值;3、成长率;4、成长类型修正值
用基础值、初始累积值和成长率可以算出一个基准值,再用修正值一修正,就是我们通常所说的峰值了。
基准值的算法,目前众说不一。我在网上看到一张据说是日本官方攻略本的扫描图(出于严谨,最后会奉上该图出处的网址),那个截图中,利斯Lv30的生命基准值是40,Lv30的力量基准值是15;而阿萨Lv30时生命基准值是41。基于此,我认为下面这个公式的可能性最大:

人物某等级基准值=基础值+初始累积值+[成长率*升级回数]
*当中括号里的计算结果出现小数时,小数点后面的部分舍去,哪怕0.99也舍去。
**升级回数是个需要特别注意的问题,绝不是等级-1,因为很多人物一登场就不是Lv1了,要从登场时的等级算。比如阿萨一登场等级就是Lv2,当他Lv4时,升级回数是2。
***初始累积值这个说法其实不准确,叫“初始值”比较准确。这个值跟由职业提供的基础值一样,是在静态文件中规定的,跟游戏开始以后一切动态的内存活动无关。当游戏一开始时,初始值会将相应的累积值赋个初值,也就是所谓的初始累积值了,这两个值是一样的。考虑到经验较少的玩家理解这个会比较难,所以这里仍用相对好理解的“初始累积值”这个说法。
****上一个注释提供给我们一条重要的提示:人物峰值的计算调用的都是静态文件里的数据,因而是千古不易的,与游戏开始后发生的任何事都无关。

举个例子,高级领主利斯的力量成长率是30%,无初始累积值,高级领主的基础值是29,7,7,8,0,其中力量基础值是7,那么lv30时的力量基准值=7+0+[0.3*29]=7+0+8=15。

再来说修正值,BWS里的人物有3种成长类型:一种是±1这种稳定型的;一种是±3(其中敏捷和防御则是±2)这种大起大落型的;一种是达乌德那种无限型的。
继续上面那个例子,利斯属于大起大落型的,力量的修正值是±3,所以利斯的力量在Lv30时的上下峰值分别是15+3=18;15-3=12。

精华
0
帖子
68
威望
0 点
积分
198 点
种子
8 点
注册时间
2005-9-10
最后登录
2024-1-12
 楼主| 发表于 2014-12-21 11:54  ·  吉林 | 显示全部楼层
本帖最后由 mzgx 于 2014-12-23 11:39 编辑

今天在非正常情况下进行了测试,发现之前逆推的检验机制不对,具体的测试过程见19楼。

现在看来,需要彻底抛弃以前利用下一级的峰值校验并弥补成长情况的思路,考虑新的模型。

19楼里做的那个测试为寻找新的模型所做的一项小小的贡献就是:现在可以肯定,升级时对能力的校验和弥补与基础值和累积值都无关!(也就是说,即使对能力造成的改动被写入累积值的变量,也完全没有关系——正像18楼的大大说的,***对今后的成长完全没影响)

如果让我编程实现对能力成长的控制,除了之前说的检验下一级的上下峰值的思路,另一种就是:
首先,设一个变量,姑且命名为bz,赋初值0,用来存下面提到的值,
设定或通过内部机制计算出若干必然加点的级数(暂且命名为“必级”),(就BWS而言,以基准值发生变化,即加1的级数最合适),若升到这些等级的时候能力值没加,则bz=bz-1;
这些必然加点的级数之外的那些级数(暂且命名为“外级”),如果加点了,则bz=bz+1。

然后每次升级的时候把bz的值与各种成长类型比较,以稳定型为例:若此时bz=1,则此级是外级的话必不加点;若此时bz=-1,则此级是必级的话必加点。


这种模型可以确保各级能力在上下峰值之间,而且不需要基础值和累积值的参与。聊备一方案,至少暂时提供一个测试的方向。

有了新的发现,现在可以设想更简洁的模型了!详见新帖:https://bbs.a9vg.com/forum.php?mo ... =4324864&extra=

精华
0
帖子
68
威望
0 点
积分
198 点
种子
8 点
注册时间
2005-9-10
最后登录
2024-1-12
 楼主| 发表于 2014-12-21 11:57  ·  吉林 | 显示全部楼层
本帖最后由 mzgx 于 2014-12-22 21:37 编辑

总结一下:
人物能力值=由职业提供的基础值+累积值

峰值=基准值(基础值+初始累积值+[成长率*升级回数])±修正值

检验机制的部分暂付缺如,待进一步的研究结果出来,将做补充。

精华
0
帖子
68
威望
0 点
积分
198 点
种子
8 点
注册时间
2005-9-10
最后登录
2024-1-12
 楼主| 发表于 2014-12-21 11:58  ·  吉林 | 显示全部楼层
附:上文提到的截图的出处
http://www.fireemblem.net/fe/TRS2/research/xianren03.htm
现在看来,这个帖子的参考价值不是很大了,但公允地讲,在当初人们普遍还不知道有成长类型修正这回事的时候,还是很有意义的。
目前其最大的意义就是那几张据称来自官方的曲线图(尤其是阿萨那个)。官方二字尤其重要,毕竟,在不知道公式的前提下,谁能保证自己手动凹出来的一定是峰值呢?

挂版VIP

目若朗星

精华
1
帖子
34391
威望
21 点
积分
37567 点
种子
335 点
注册时间
2005-8-11
最后登录
2024-5-3
发表于 2014-12-21 18:08  ·  福建 | 显示全部楼层
正常流程中某项能力最有可能绿的角色就是船叔了,力量成长优秀,奈何职业上限摆在那,好可惜。
无论怎么凹角色都无法突破当前等级限定的峰值,同样的无论嗑多少药角色都无法突破职业上限。
所以给船叔喂筋力的秘药是很浪费的做法,他真正需要的是防御的秘药,那么究竟是出于什么目的将他的防御设计为零成长呢?

挂版VIP

目若朗星

精华
1
帖子
34391
威望
21 点
积分
37567 点
种子
335 点
注册时间
2005-8-11
最后登录
2024-5-3
发表于 2014-12-21 18:21  ·  福建 | 显示全部楼层
凹点最该凹的其实是熟练,偶是尽可能争取每一级都不放过熟练多点开花的机会。

精华
0
帖子
68
威望
0 点
积分
198 点
种子
8 点
注册时间
2005-9-10
最后登录
2024-1-12
 楼主| 发表于 2014-12-21 22:50  ·  吉林 | 显示全部楼层
我为eg狂 发表于 2014-12-21 18:08
正常流程中某项能力最有可能绿的角色就是船叔了,力量成长优秀,奈何职业上限摆在那,好可惜。
无论怎么凹 ...

一是为了平衡吧,毕竟海贼大叔的力量已将高出几乎所有同伴一大截了,敏捷也不弱;在拉伦蒂亚加入之前,要完成某些依赖或实现某些战术,非他不可;而且能当半个盗贼使,探索有埋伏的场所时,还比盗贼更容易击退伏兵。总之优势已然多多。
另一方面可能是要照应人物的剧情吧——海贼大叔本来就隐隐怀着死在战场上,不让(那个失明的小女孩叫什么来着?)有朝一日看见肮脏的自己的愿望嘛,那还要什么防御呢?与敌人同归于尽才最好。

感觉BWS的设计者对使斧子的哥几个挺偏爱的。达乌德不用说了,唯一可以培养的无限成长型;迪安,全游戏第一个登场的佣兵,入团条件也别具一格;海贼大叔,试问还有哪位的理论最终上峰值居然超过了职业上限?(当然,要排除达乌德和主角妹妹两个怪物)漫说超过,就算只是达到(也就是练绿),似乎也只有克丽丝的敏捷——但克丽丝的敏捷需要凹到上峰值,很是需要些运气,而海贼大叔只要达到基准值即可,基本上能轻松实现;至于迪里克,虽然两次通关他的出击数都是0,但某种意义上,迪里克算是伙伴中最特殊的存在。

精华
0
帖子
68
威望
0 点
积分
198 点
种子
8 点
注册时间
2005-9-10
最后登录
2024-1-12
 楼主| 发表于 2014-12-21 23:02  ·  吉林 | 显示全部楼层
在了解了人物能力值运算的一系列机制后,如果不从战略全局的角度考虑,仅仅想让秘药的效益最大化,还真是应当让某项能力压根儿不长的人喝。

因为压根儿不长,所以等于一上场就是最终上峰值了,一喝就“真正意义上的界限突破”了,不会因为成长而让喝药的效益归于泯灭(也不能叫归于泯灭,因为即使后来某等级的上峰值又超过喝药后的数值了,至少相当于幸运地凹出了2点(生命秘药则是3点))。

此外,因为一开始就喝了,所以效果发挥作用的时间最长。

精华
0
帖子
68
威望
0 点
积分
198 点
种子
8 点
注册时间
2005-9-10
最后登录
2024-1-12
 楼主| 发表于 2014-12-21 23:27  ·  吉林 | 显示全部楼层
啊,刚才无意中发现了很多职业上限一览表都把生命上限设定为基础值+50的原因:
BWS中的设定是:职业的生命力的基础值的取值范围为0到50——这是人为设定的。前面说过,生命最大值不能超过100——这是程序设定的。所以自然给累积值留出来的取值范围就是0到50了。

但因为生命力的基础值和累积值取值范围的设定都是人为的,所以完全可以通过数据修改突破之。但程序规定的最大100还是难以逾越——这个属于游戏运行参数,往往需要更高级别的修改技巧才能攻克之。

至此,可以对游戏修改的不同级别的限制做个小结:
由数据类型(即给数据分配的内存空间)产生的限制:不可逾越。就像力量的累积值,4位的二进制数无论如何不能超过15;
程序规定的限制:难以逾越。对修改的技巧要求较高,比如生命力不能超过100那种;
人为设定的限制:随便逾越。就像生命的累积值,本来可以取到127,人为设定成50,用修改器一改内存就将其突破了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|A9VG电玩部落 川公网安备 51019002005286号

GMT+8, 2024-5-3 08:55 , Processed in 0.221079 second(s), 15 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部