找回密码
 注册
X系列官方授权正版
搜索
查看: 10117|回复: 14

[原创] 关于X3(基于AP)的武器/护盾能量系统与武器面板伤害研究

[复制链接]
发表于 2014-10-12 22:00:55 | 显示全部楼层 |阅读模式
本帖最后由 byzod 于 2014-10-12 22:45 编辑

起源是自己提的问题: 如何查看当前星区附近的星体信息 & 伤害和能量相关机制 ...
因为内容比较复杂,就不在原帖编辑,而是单独开贴说明了。但是说明过程中依然会用到原帖的测试数据(为了阅读方便已经引用过来,无需交替查看)
本贴即是回答自己的疑问,亦是发表出来以供大家讨论,如果有什么错误或不明确的地方,欢迎理智讨论
注:虽然研究是基于AP进行的,但是考虑到X3R、X3TC/AP系统差不多,应该也适用于以前的版本,但因为我没玩过,不排除有特殊情况





i. 之前帖子中的疑问及测试数据
1. 武器的最大能量是什么意思?和飞船的最大射线能量是什么关系?
2. 武器的耗能速率单位是?
3. 我的理解是护盾能量发生器能量和护盾的所需能量决定了能带护盾的大小,但是数值上似乎说不过去
   (3个200MJ护盾所需能量=4500kW,远小于SPR的2500MW),那么这个所需能量护盾能量发生器数值的关系是?
4. 护盾的充能速率单位是?
(Nova)按10500MJ能量和1050MW回复算,10秒就能回满,经测试确实如此,与理论假设相符
  经目测,Nova的护盾恢复率约为235kW~240kW;这个数值和飞船本身的shield power regenerator值825MW相去甚远
  25MJ盾的恢复量是675, 4个就是2700,也不是能很恰当地对应起来
  而Centaur的回复率约为1400kW,同样和本身SPR的2500MW对应不上。

用M6向Nova射击,结果大致为:
用HEPT,一炮约能打掉2k kJ的盾
用CIG,一炮约能打掉8k kJ的盾
用Nova的HEPT向Centaur射击,一炮大概能打掉1.6k KJ的盾,伤害比M6打Nova要低一点
两者的盾伤应该都是9点几MJ,但是实际伤害却差了近4倍,这是为什么?




ii. 本次研究中主角们的参数
飞船
登场主角为玩家Argon线初始船Nova Prototype(以下简称Nova)及奖励的Centaur(以下简称M6)
  

护盾
登场的只有25MJ小弟和200MJ大弟


武器
登场的分别是常见的CIG和HEPT





1. X3的面板伤害
在之前的测试中提到,虽然面板shield伤害差不多(一个9.4k,一个9.8k,单位为KJ),但是实际上HEPT打了2MJ不到,而CIG一炮却轰掉了近8MJ,这是为什么呢?
为了获取准确的伤害,我用到了X3 Editor 2[1]来提取游戏的数据。提取之后可以看到CIG与HEPT对应子弹的伤害:
   
可以看到,HEPT子弹对盾伤害为1995(1.9k),而CIG的则高达7845(7.8k),正好和我们之前的测试相符!
那么为什么面板的伤害却分别为9.4k和9.8k呢?经过简单的计算就可以知道:
  • 武器面板伤害实际上是DPS,是已经考虑进子弹伤害与射速后的综合伤害指数




2. X3的武器能量机制
与武器相关的参数中,飞船有两条和能量相关的参数:Max Laser Energy和Laser Energy Reload Rate
通过测试也可以知道:
  • Max Laser Energy和Laser Energy Reload Rate对应的就是玩家武器界面的能量总值和回复速率
但是除了飞船以外,武器各自也拥有和能量相关的参数:Maximum Energy与Energy Consumption。后者还好,前者就令人费解了。
让我们对Nova上和CIG进行一下研究。
  
准确的数据让我们更加迷惑了。飞船的武器能量充能速率竟然是...168kW/s?功率加速度?这里我们有理由相信是egosoft把物理单位都还给老师了,此处应为kW;而能量的单位此处应为MJ,而不是kW...(看来在后台处理的时候单位根本只是一个无用的标志位
如果说这只是单位问题,那么武器的数据就更令人疑惑了:Energy一项为5000,想来应该对应游戏中的Maximum Energy 5000MJ,而下面的Charge rate 0.01又是什么玩意?
经过搜索和调查,我认为,飞船属性中的数据如上面红字所述,而在数据库中武器属性中的Charge rate并无实际含义[2],可能为占位符;面板属性的Maximum Energy同样没有实际含义,可能为未实现或被取消的机制的占位符[3]
排除了两项无关选项后,剩下属性的关系就呼之欲出了
  • Max Laser Energy和Laser Energy Reload Rate对应的就是玩家主界面左下角武器的能量总值和回复速率
  • 武器的能量消耗速率为所有武器的功率Energy Consumption之和,面板单位为MJ

为了验证以上结论,我做了两个小实验,均重复3次取平均值。
1. 用Nova进行武器能量回复功率验证,射空能量后秒表计时回满的时间,结果为40.21s
   理论计算回复时间应为6720MJ / 168MW = 40s,误差210ms可以认为是我的反应时间予以忽略。
2. 用Nova满能量开始计时,用4门HEPT射空能量后记录时间,结果为11.42s
   由于射击的同时也在充能,由此可以计算实际结果对应的武器功率为:6720MJ / 11.42s + 168MW = 756.44MW
   即每门HEPT的实际功率为756.44MW / 4 = 189.11MW,与面板功率188MW相符




3. X3的护盾机制

这是本文最复杂的部分。为了方便阅读,我将护盾数据再次放在这里以便查阅
***好吧,帖子竟然不允许一图两插,劳烦大家自行翻到顶上查看吧……


上面我们的测试可以知道,Nova的护盾充能功率约为235KW,而M6约为1400KW。之后我参考egosoft论坛的相关讨论[4]进行了更细致的实验,结果发现,当M6打掉1/3不到的护盾时,其回复功率如上所述,越1400KW(之前的测试是打一炮测得的,护盾保持在90%以上),但是护盾打到2/3及以下时,其回复功率竟然提高到了2300KW左右!而这种现象则是由X3的洋葱护盾(暂定名)引起的,详细内容可以查阅参考链接[4]
我们先来看看导出的护盾数据:
  
可以发现,Power Drain对应的就是面板中的Power Requirement,引起误解的应该算是面板中的名字,如果换成Maintain Power Requirement也许就明确多了
护盾容量倒没什么问题,奇怪的地方来了,让大家疑惑的Recharge Rate去哪儿了?怎么多出一个Efficiency?

根据Egosoft论坛的玩家反复验证,这些参数的实际作用如下:
  • 护盾的充能功率(KW) = 护盾维持所需功率(KW) * 能量利用率(单位1)
是的你没看错,就这么简单。也许你会提出疑问了,这不是和开头的测试数据矛盾么?因为Nova是4x25MJ,而M6是3x200MJ,如此计算,Nova的充能功率应该为250KW*4*0.9 = 900KW,M6的则为1500KW*3*0.9=4050KW,而实际测试值却是240KW和1400KW左右,差别也太大了;另外你也许会对理论计算值4050KW两眼放光,这不就是所谓的Charge rate么?别急,听我慢慢道来

X3中的护盾并不像Starpoint gemini 2那样分成各个方向,也不像普通游戏那样简单把强度加一块
  • 而是每块护盾单独计算,独立充能的,并且像洋葱一样,形成多层结构。

这种洋葱结构看起来和直接加一块的算法没什么区别,但是每一层都独立充能,那么情况就复杂了,护盾充能时遵守以下规则进行:
  • 如果飞船护盾只被攻击了一点点,没有打穿第一层,那么充能时只有第一层需要充能
  • 如果飞船护盾受到了严重伤害,好几层护盾都被打穿,那么每一层受伤的护盾都会同时开始充能
  • 护盾充能功率的总和不会超过飞船的护盾发生器功率,如果超过,那么优先供给内层护盾

说起来很复杂,不如让我举个栗子演示一下。现在假设我们有一艘小飞船,其Shield Power Generator功率为600KW,装备了5x25MJ的护盾,不行被海盗打残,垂死过了星门。来到安全的地方后,他的护盾开始充能:(注意这是一张动图,论坛的gif附件似乎有问题,不会循环播放,如果你看到这里的时候已经不动了,请在新标签/窗口打开或刷新页面从头观看)

  • 第一阶段,所有的护盾都开始充能准备,所需功率为250KW*5=1250KW,但是飞船可怜的护盾发生器功率只有600KW,心有余而力不足,于是只有内部的两层护盾一层分到250KW,第三层拿到了剩下的100KW,外面的就只能干瞪着眼了。这期间总的充能功率为(250KW*2+100KW) * 0.9 = 540KW,别忘了护盾的能量利用率只有0.9,因此还有60KW的功率不可逆地耗散掉了。
  • 第二阶段,等里面两层吃饱喝足了,第三层由于只拿到100KW,面黄肌瘦只充能到40%,不过前面的大爷吃完了,发生器的能量就依次后传了。这次第三层和第四层分别分到250KW攻略,最后一层重复了第三层的不幸,只拿到100KW。功率同上。
  • 第三阶段,终于第三层也充能完毕,此时剩下的两层所需总功率仅为500KW,护盾发生器终于心有余力也有余,最后两层均以满功率充能。此时充能总功率为(250KW*2)*0.9 = 450KW
  • 第四阶段,只剩最后可怜的外层护盾没充能完毕了,护盾发生器空有600KW功率,外层护盾却只有最高250KW的充能功率,虽然恨铁不成钢,也不能强行灌注能量,否则就像家用电器一样,会烧掉吧。此时总功率等同于单个护盾的最大充能功率:250KW*0.9 = 225KW。最后一层护盾将维持此功率,直到充能完毕。

有了以上理论,我们来对之前提到的情况进行一下理论计算。
对于Nova的4x25MJ护盾,825KW发生器,可以知道:
  •     当护盾受损0%~25%时,充能输入功率为250KW,输出功率225KW
  •     当护盾受损25%~50%时,充能输入功率500KW,输出功率450KW
  •     当护盾受损50%~75%时,充能输入功率750KW,输出功率675KW
  •     当护盾严重受损时,充能输入功率达到825KW上限,输出功率742.5KW

对于Centaur的3x200MJ护盾,2500KW发生器,可以知道:
  •     当护盾受损0%~25%时,充能输入功率为1500KW,输出功率1350KW
  •     当护盾受损25%~50%时,充能输入功率2500KW(上限),输出功率2250KW
  •     当护盾受损50%~100%时,充能输入一直维持上限,输出功率2250KW不变

实际测试的240KW,1400KW均比理论值偏高,其原因如原帖猜测,因为护盾的充能间隔和游戏引擎步进相同,而面板数据一秒才更新一次,测试时人工操作引起的0.1左右秒的攻击-查看间隔,已经足以产生22kW(Nova)或者140KW(Centaur)的误差

注意,上面讨论时飞船的护盾发生器功率单位为KW,而游戏中则为MW,从前面让人喷饭的KW/s可以推测,这又是egosoft临时工的杰作……
  • 所以,飞船的Shield Recharge Generator实际单位是KW
最后一点疑问即是神秘的Recharge Rate,这个在游戏后台数据中不存在的值。可以猜想,这个数值既然不在后台数据中,那么一定是在前台动态生成的。细心的玩家可能已经发现,这个Recharge rate的值恰好等于3块护盾的输出功率,单位KW。例如3块25MJ的输出功率为225*3=675KW,3块200MJ的输出功率为1350*3=4050KW。
至于这个奇怪的参数为什么不是单块护盾的输出功率,而是3块,这就只有egosoft才知道了!




4. 实用建议

选武器
  • 面板伤害就是DPS,不用太考虑射速啦,直接看面板就行;除非你要求单发伤害,那么面板相同的情况下,射速越低越好(就像wow盗贼选主手似的……
  • 选武器把功率按单位MJ加起来,减去回复功率就是净功率,用总能量来除可以估计飞船能够连射多少秒;用总能量除以回复功率就知道没能量了需要多少秒可以回满

选护盾

  • 护盾的需求能量差不多就是充能功率,容量除以这个值就能估计充满需要多长时间。同时需求能量也就是输入功率的要求。这个值乘以护盾数量和飞船的护盾发生器功率对比(别忘了游戏错误的单位MW其实应该是KW),就能知道自己的飞船在盾全破时能不能支撑所有护盾同时充能了
  • 如果你需要精确计算的话,那么充能功率还需要再输入功率上乘以利用率(一个隐藏参数,下表列出),利用率对于每个规模的盾都是固定的,基本上是越大的盾,能量利用率越低

能量利用率:

  • 1MJ:0.99
  • 5MJ:0.95
  • 25MJ、200MJ和1GJ:0.9
  • 2GJ:0.85

关于洋葱护盾

  • 需要注意的是,护盾充能优先充内层,而受攻击先受伤的是外层。如果外层并不是完好的,攻击是否会部分穿透到内层还没有测试可以给出结论。由于游戏的shield bay是固定的,最大可装配护盾也是固定的,所以选最大的填满就好,没有纠结的必要。
  • 如果由于钱不够,而又必须配置护盾的情况下,要在一个大盾和几个小盾里选的话,就值得纠结了……因为小盾的能量利用率比较高,但需要外层盾破了之后才能达成多层护盾并行充能的状态,充分利用发生器功率;而大盾的话充能功率本身就比较高,外层盾不需要破盾就可以达到比较高的充能功率
  • 此外,飞船的shield bay 1、2、3、4,哪个对应外层哪个对应内层,我还没进行测试……盾的安装似乎是自动的,能否手动调节盾的安装顺序,我也不是很清楚~




5. 参考链接

[1]X3 Editor 2 (http://x3e2.doubleshadow.wz.cz/)
[2]TLaser.txt (X3) (http://www.argonopedia.org/wiki/TLaser.txt_(X3))
[3]Maximum Energy (http://forum.egosoft.com/viewtopic.php?t=272260)
[4]Shield discuss (http://forum.egosoft.com/viewtopic.php?t=291653&postdays=0&postorder=asc&start=0)

本帖子中包含更多资源

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

×

评分

参与人数 2声望 +1 UCC +5 好评 +2 收起 理由
张小木001 + 1 + 1 精品文章!
Skyfire + 1 + 4 + 1 绝世好贴

查看全部评分

发表于 2014-10-12 23:50:22 | 显示全部楼层

真长,下次再瞧。话说,护盾这玩意有这么复杂么
护盾这玩意么, 记得有个emitter决定护盾大小及恢复的吧。
然后就很好理解了
回复

使用道具 举报

发表于 2014-10-13 02:16:45 | 显示全部楼层
好长。。。来看看吧。。
回复

使用道具 举报

发表于 2014-10-13 10:58:43 | 显示全部楼层
这个太屌了……受教了……
回复

使用道具 举报

发表于 2014-10-17 14:43:35 | 显示全部楼层
好长。。。不过感觉好屌
回复

使用道具 举报

发表于 2014-10-17 15:23:37 | 显示全部楼层
好同志。。希望再接再励,继续测试一下TBULLET上子弹的正面撞击、擦挂、爆炸的伤害及效率:)
回复

使用道具 举报

发表于 2014-10-17 18:39:45 | 显示全部楼层
学习了
回复

使用道具 举报

发表于 2015-1-15 00:14:30 | 显示全部楼层
多谢 看到了很感兴趣的东西 学习了   楼主厉害
回复

使用道具 举报

 楼主| 发表于 2015-1-15 16:07:21 | 显示全部楼层
借海出船 发表于 2015-1-15 00:14
多谢 看到了很感兴趣的东西 学习了   楼主厉害

与其说我厉害,不如说egosoft在这些细节上太粗枝大叶了orz
反复试验了好几次才知道原来是他们自己搞错单位
回复

使用道具 举报

发表于 2015-1-15 21:09:22 | 显示全部楼层
今天才看到帖子|~~~~好像很厉害的样子~~~~~先膜拜
回复

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|DeepTimes.NET 太空游戏站