无人深空吧 关注:209,261贴子:2,087,568

【模组分析报告】揭秘Aurfram模组背后的潜在问题

只看楼主收藏回复

长文警告!

(某个模组作者的吐槽)

本来我是不想引起这方面的话题的,专门花那么多时间去分析一个人做的模组实在是浪费时间。无人深空就有低质量的模组也不止一个两个。况且模组作者也不算很多,国内模组圈子就更不用说了了,因为这个原因劝退某些作者着实是得不偿失。
但最主要的问题就是,Aurfram在入模组圈之后高强度制作低质量的模组,导致模组圈里面的人意见很大,况且人家本来就对国内模组圈的印象就不是很好。所以我把这些天来以我的视角来给大家展示一下他制作的模组存在的问题。解释一下为什么我认为他制作的模组应当多想一度,提升模组的质量而不是增加模组的数量。
我本人还是很欢迎他能够和我们这些模组开发者们一同去研究游戏的表层参数的。但像现在这样高强度发布质量不过关的模组还是很容易引起众怒的。

(N网现状,由于本来模组就不够多,如果短时间内大量上传就会出现霸屏现象)
根据我对他所修改的数据的初步分析,接下来逐个细数他做的模组的各种问题。
在这之前我得说,只能希望他本人能够早日意识到错误改正过来吧。认识到自己的错误并改正,就既往不咎了。而且制作模组这个东西要多问,多测试,多研究,不提问才是最大的问题。
根据我这段时间的调查。他制作的模组最主要的问题有这几点:
1) 很显然,他是手动制作模组的。从改坏数据文件和漏下不少标签的问题来看,他基本上不会用AMUMSS或者是ModBuilder等模组,也就意味着一旦有游戏更新,他需要花上超级长的时间去手动复制粘贴来更新。
2) 并没有对模组进行全方位的测试,而是通过先把有一堆Bug的模组发布后,通过自己进一步的测试,或者是他人的反馈来解决一些完全可以避免的最基础的错误。比如他制作的移动速度提升模组,第一个版本里面把走路速度改到了原版的4倍,但是没有考虑到过快速度会带来的帧率下降、操作困难问题。这些问题理应在早期测试的时候就应该被解决,而不是到了发布之后再让玩家更新,别忘了,很多玩家都是下好了只有不能用了的前提下才会去看要不要更新。
3) 低质量。他曾经在某一期模组视频里面提到过,我做的模组都是别人没有做过的方向,有这种想法当然很好。在模组圈里面已经有人很明确的提出来了,他制作的模组,基本上其他人都有更好的解决方案,也就是我接下来会提到的重复制作问题。除了这些模组之外,比如更快的移动速度模组,为什么没有别人做?很简单,他只做的这些模组其实只需要花一个小时不到的时间写一个脚本就能快速生成,跟何况现在已经有一个相当成熟的AMUMSS脚本库。
下面,我挑了两个问题比较大的模组来分析一下其中存在的不少问题。


IP属地:浙江1楼2023-12-05 23:57回复
    1、Ultralow Effects Hi-FPS

    说明中提到了:

    那么,真的做到了吗?
    我们逐个分析。以下是文件的大致清单。

    首先,我得指出,在这个模组的第一版里面,他还修改了了一个名为GCBUILDINGGLOBALS.GLOBAL.MBIN和部分Pipeline文件修改。
    只不过呢,由于他不知道这个Buildingglobals里面的参数怎么改,直接把他给改爆掉了,游戏无法读取,极易造成游戏崩溃问题,只不过好在他在后来的版本中删掉了这个文件。
    此外,在先前的版本中,他把Pipeline(渲染流程)文件里面的Shadow信息统统关闭。
    补充一下额外知识,渲染流程文件涉及了游戏画面的实时渲染,你可以把它理解成Blender里面几何节点的玩法,如果你不知道你修改的这些参数会产生什么结果,极易导致游戏崩溃,所以模组圈里面很少有人会尝试去修改这些参数。
    至于结果大家都可想而知,崩溃率进一步上升。
    在分析这些文件之前,根据我自己对游戏渲染系统的片面了解,给大家简单解释一下后处理的意思。你可以简单的把后处理理解成PS图层的蒙版,意思是把预先渲染好的数据(在PS中为图层),进行选择性的保留,比如说我把光线给改暗一点。但无论你怎么修改,你只是在修改这个“蒙版”,并没有删除在“蒙版”之上的系统(相当于图层)。也就是说对于后处理来说,你把参数彻底的“关闭”(此处特指设置为0),后台对应的一些算法其实仍然在运算,起不到任何对性能提升的作用。
    接下来我根据我对文件的熟悉度一个一个来分析。首当其冲的是GCWATERGLOBALS文件,这个文件主管水体渲染大体细节的修改。

    注意左侧是原始数据,右侧是他后来修改后的数据。
    根据我的实际测试,修改这些参数丝毫不会影响你的帧率,这些参数只是调控水体的波纹、透明度、色调罢了,他这么做只会把你的水体改成这个样子。(具体的测试已经在录制视频了)


    IP属地:浙江2楼2023-12-05 23:59
    回复
      下面只是一个简易的可视化编辑演示(考虑到贴吧的gif大小问题),那些发光的噪点其实是被强制改到0的水面波纹。

      他这么做估计是认为全改成0游戏后台就直接统统“=0”就不会计算了。但他不知道的是,这些参数都是带符号的浮点数,不但可以设置成0,还能给设置成负数!这么做完全不会减轻后端的渲染负担,只会降低你的画质表现。
      用不等式来表示就是:全部归0 ≠ 我不运行。
      也就是说,他修改的这些参数对帧率的影响几乎为0。


      IP属地:浙江3楼2023-12-06 00:00
      收起回复
        但有人要说:“不是,还有3个文件嘛,那么急干嘛?”让我来剖析一下。
        这个是GCSKYGLOBALS的,这些参数主要用于初步修改太空中的环境渲染和大气渲染。这些参数同理,也是带符号的浮点数(除了其中一个种子,对他还把种子给改成了0),你把它改成负数游戏照样能跑。

        这些参数在后台照样被调用,仅仅只是减少了太空中的星云渲染,而星云的渲染本质上也只是一堆贴图,如果真的提升了帧率,也是属于几乎肉眼不可见的一档。这些东西本来就不占大头,还不如去修改游戏底层框架的运行逻辑来的更加实在一点,就好比移除了进出星球的卡顿的那个模组。
        除此之外它还“移除”了在外太空能看到的星球云层。我只想说,这些云不是实时模拟出来的,他只是一层贴图,他做的只是把它改透明了而已。下面只是其中一个云层贴图,他改完后的效果跟你用PS的时候把一个图层设置成透明没啥区别。

        至于在这个文件中的一些零散参数修改也差不多,视觉上的确减少了云的数量或者是大气层的厚度,但是在根本上仍旧没有影响到游戏的帧率的变化。


        IP属地:浙江4楼2023-12-06 00:01
        回复
          GCGRAPHICSGLOBALS
          这个文件中他主要修改的是一些有关阴影和光照的参数,同理,他也全改成了0。

          根据我的实际测试,这些参数只不过是用于微调渲染时的细节罢了,也就是说改成了0,游戏内的阴影只是变成了不可观测态,最后对帧率的影响也聊胜于无。即便是他修改的阴影参数,到最后也不能避免游戏后台仍在运行的光栅算法。
          具体测试可见:https://tieba.baidu.com/p/8764436193?is_official_video=true
          接下来就是GCENVIRONMENTGLOBALS.GLOBAL.MBIN,主要管理了地形的加载速度等等。同样,他也全给改成了0。

          乍一眼看上去,他好像减缓了地形的刷新速度,小行星的渲染问题。
          但我可以在这里很负责任的告诉大家。经过RaYRoD本人7年半的长期测试,以及NMSRetro内众多玩家的模组测试。这些参数无论是改高还是改低,对游戏帧率的影响可以忽略不计,也不可能避免进出星球会带来的卡顿问题。只有把这些参数“适当调整”,可以做到更加细腻的地形加载,但并不会大幅(不包括跳帧)影响游戏的帧率。
          至于小行星的这些参数,他只是让小行星的出现效果从原本的自然进入变的僵硬了很多,本质上还是要调用相关的参数来确保小行星能够正常的进出。
          包括他在这里修改的风,游戏里面刮风对帧率的影响也很低,要不然为什么下雨刮风的时候帧率没有骤然下降?
          因为草和树叶只是一层贴图动来动去罢了。

          根据我所分析的这些参数来看,他修改的这些文件都是后处理文件。这些文件本质上只是HG他们做完了这套系统之后,拉出来几个数据,微调一下,看看调成什么样会稍微好看一点。改成0并不能中断这些系统,他这么搞就相当于把图片的不透明度改成0%,而在导出的时候,图片还需要去跑一遍。
          除此之外还有一众无关的参数,但由于篇幅有限,不能一个个的阐述。
          也就是说,他做的上述修改并不能对游戏卡顿问题有所改善。说难听点,只是对游戏文件瞎改。如果这个模组被他拿去宣传能够大幅提升低性能机器的帧率的话,极易误导新人认为这个模组能够提升帧率,从而大幅降低它们的游戏体验(这个水体改的我着实是看不下去了)。
          如果你要提升帧率的话,还不如降低贴图的分辨率来得实在。


          IP属地:浙江5楼2023-12-06 00:03
          回复
            注:楼主测试所使用的是一台中性能笔记本(i5 12500+2050),在电池模式下测试,在快速移动视角的时候也能够稳在30帧左右,但是已经接近于绝大多数玩家的游戏电脑了。并不能代表部分9系或者7系显卡用户的实际效果。


            IP属地:浙江6楼2023-12-06 00:03
            回复
              2、No Building Limits。
              从刚刚我所举的这个例子,大家就可以看到,他本人制作模组,基本上是看数据名来走的,丝毫不考虑实际的效果,以及可能存在的各种问题。让我们一个一个来。(有些梗模组比如核弹火箭我就不说了,偶尔拿来玩玩还不错)

              说是移除了建造限制,但真的吗?让我们来仔细看看这个模组的背后逻辑。
              首先,他把缩放限制改成了0.00001~100000的范围,看起来没毛病,但我不建议这么搞。原因很简单,这个游戏的碰撞箱有很大的问题,就比如大家喜闻乐见的摄像头跑远了人就掉下去了这个问题,原因就是当你离建筑物远了之后碰撞箱就会不刷新。
              目前推荐的更改范围也只是0.05~4,当给与玩家过大的缩放范围,碰撞系统只会变得更加不可控。太大很有可能会出现卡入模型的问题,太小如果玩家不慎摆放了很多则清理起来会相当麻烦(卡顿什么的)。

              此外就是他并没有彻底的移除建筑限制。比如随处建造的机制。先在这里跟大家说一声,游戏中的每一个可建筑模型都有对应标签,用来决定他们可以在何处被调用并建造。比如此处的基地电脑,他就被赋予了一个便携设备的标签,意味着它只要是在行星地表上就能被调用。
              也就是说,要做到彻底的随处建造,还至少要在这个表中所有非便携式基地部件全部赋予一个便携设备的标签。你才能做到真正的“无限制”。

              除此之外这个模组还存在很大的重分配问题,比如在这里,分配给了便携技术的同时又分配了一个货船核心科技的标签。虽然游戏原版也有部分的重分配问题,但是在他制作的这个模组中尤为明显。

              最后,最明显的问题是有部分建筑物仍旧不可在货船上调用。举个例子,与矩形屋有关的部分结构(如矩形屋框架)无法在货船上建造,原因就是,这些标签基本上都是他手动复制粘贴的,这也就意味着他会不可避免的漏下不少可建筑物,具体的数目不明,虽然可以跑个脚本来技术。但不论如何,远远没有达到他所说的“无建筑限制”的特性。

              别忘了,在Nexus上也有类似的模组。
              接下来两个模组就一笔带过。一个是更快移动速度和更夸张的定居点。这两个模组所修改的数据都能印证他写了模组几乎不考虑平衡。


              IP属地:浙江7楼2023-12-06 00:05
              回复
                除了这些模组以外,他制作的其他模组其实有更好的替代品。比如JJS Better Ships,基本能够做到只要有停机坪的地方也能刷飞船。

                对模组作者而言,在做模组之前,你最好要问清楚是不是早就有了同类型的模组,然后再去做。这些模组往往都有长期的支持,也会有很多作者在检修。这就是为什么我推荐任何模组作者必须加入无人的模组频道,这样就可以让他们在敲定方向之前能够提前知道是否已经被别人做掉了。
                对于模组玩家而言,在制作模组之前,最好先去搜索一下是不是已经有了更好的替代品,然后再选择性的使用。
                目前只阐述这几个模组,其他的问题如果想要进一步细讲的话可能过于牵强。


                IP属地:浙江8楼2023-12-06 00:06
                回复
                  风评问题:
                  还是镇楼的那个图。

                  他本人并不是赞扬他模组做的有多么多么好,而是他们对他制作的一系列低质量模组意见很大。见到了他发布了模组跟见到了鬼一样。其他的聊天记录我不发出来了,对他本人的意见声很大,说出来也不好听。
                  就连给他写过lua脚本的Babscool本人也在说,他有不少抄袭其他模组的嫌疑,而且他制作的模组质量低下,Bug奇多,除了我上述提到的问题以外,可能还存在不少我没有发现的问题。
                  但最大且最不可容忍的问题就是他做的模组质量实在是太低了,几乎毫无品控。
                  从稳定性的角度来考量,他制作的模组的第一版都有超级多的问题,可以说是让玩家当小白鼠,出现了问题再去补救。即便修复了一部分的问题,还有不少未被发现的问题仍旧没有被解决。做模组要反复测试,而不是感觉上差不多了就直接发布了。
                  从创新性角度来考虑,只能说一眼望到底,让人提不起兴趣,N网上高质量的内容一抓一大把(我都可以另开一个帖子来给大家推荐一些实用模组)。做的都是别人觉得没意思的东西,第一回也就算了,没想到还高强度发布低质量模组。属于是那种体验个一两遍觉得很鸡肋就卸载的那种。
                  总结:
                  我只想说,想做模组很好,但做的东西至少也得带点质量,而不是随便搞搞就行的。难不成你希望看到以后的模组都长这个样子?

                  我想对他本人说,先别上传模组了,多测试,多玩一玩。就好比我在最近这几年内断断续续研究了游戏的各种文件的数据结构,等玩的差不多了才上传了第一个模组。制作模组本来就是一个反复试错、研究、学习、讨论的过程。而不是随便写写觉得差不多了,测试个几次就直接上传了。
                  创新不是低创,为什么有些东西别人没有写自然有他们的道理,要么是太简单,要么就是风险太大需要大量测试才能确保无误。但是尽管如此社区里面仍然有不少模组,况且绝大多数的模组作者,是在尝试了几个基础的模组之后,逐渐走向更加深度的模组制作,而不是停留在原地踏步。
                  有关他个人在国外模组圈的风评问题,其实我个人已经尽可能的在模组聊天频道里面帮他在说好话了,今后继续上传这种质量的模组的话,我也算是仁至义尽了。


                  IP属地:浙江9楼2023-12-06 00:07
                  回复
                    最后的话还是得跟跟他本人道个歉的,毕竟我当时在他的贴子底下发了不是很友善的言论。那时候的话我有点情绪没有控制住,最后发现其实是自己在分析模组的时候出的一些问题。
                    所以我在这篇文章的最后,要跟他说一声:“对不起。”


                    IP属地:浙江10楼2023-12-06 00:09
                    回复
                      智齿


                      IP属地:浙江来自Android客户端11楼2023-12-06 00:10
                      回复
                        再次重申一下,这篇文章的目的主要还是分析近期N网上这位高强度模组制作者的实际质量,仅供大家参考。
                        如果文章中出现了任何问题我会在这一层楼的评论区补充。


                        IP属地:浙江12楼2023-12-06 00:12
                        回复
                          下篇长文有可能会谈一谈随机生成,这个话题我其实一直想做,主要看到吧里面有不少玩家误解了这个概念。
                          当然也有可能是以视频的形式呈现。


                          IP属地:浙江13楼2023-12-06 00:18
                          回复
                            好专业


                            IP属地:美国来自iPhone客户端14楼2023-12-06 00:28
                            回复
                              去mod页底下看了,实际上确实是内容量很大,文字量很多很多,看上去很吸引人。
                              能理解想要成为mod制作者的热情和希冀,我作为一个代码小白,尝试过自己去制作一款小小的游戏,即使花费了大量时间做出来也不尽人意,所以我还是挺羡慕能坚持下来的mod制作者。
                              但是,mod作为能帮助玩家获得游戏官方所不能给予的全新体验的工具,在我自己给辐射四,上古卷轴等等游戏打mod的时候,各种mod眼花缭乱,仿佛新世界,但是,有的时候就是因为不明白,跟着mod的介绍就下载了,但是在游玩的时候却因为制作者不完全的测试而导致了严重的诸如坏档之类的问题,无论是谁,那一刻的心情应该都不会好。
                              潜下心来做的东西,兴许不能短时间占据一席之地,但是数量多质量平平的,能占有的仅仅是一小段时间的大众视野。
                              真诚感谢每一位mod制作者提供的帮助,希望能潜下心来,mod制作不应该是任务,mod始终是为了玩家们服务。


                              IP属地:贵州来自Android客户端15楼2023-12-06 00:59
                              回复