azrilZHice azrilZHice
关注数: 8 粉丝数: 46 发帖数: 5,003 关注贴吧数: 22
[系统研究]萌新的不负责任地图转移研究 首先感谢金色喵球与布偶旧猫大佬们的末日房车mod(Doomsday MotorHome mod),让我这个建筑+跑跑党有了回来玩新版本build 41的动力 我做这个研究的初衷在于,这个游戏的存档会随着玩家不断的地图探索而变大,最后会变得超大不说,save文件里面的地图文件(也就是那些map_X_Y.bin这样的小文件,X与Y代表数字),会累积超过几十万个,无形间对硬盘造成极大的碎片压力。尤其是对存储save文件的C盘,更是压力巨大。 所以我个人的习惯是,隔一段时间就会清掉冗余的地图bin文件,一般都是一连几万几万地删除。但是这样做,地图的历史连贯性就完蛋了,探索过的地方又变成了新的,那岂不是很蛋疼?一点都没有沉浸感。。。 当然,有关这一点,我也没有较好的办法。。。 下面所说的,只是我在删除地图文件时,为了保存自己的基地地图,在研究地图文件时所获得的一些个人体会: Project Zomboid这个游戏的地图保存机制(不负责任研究): 0)首先,永远记得在操作前做好存档的完整备份!备份!备份!(因为很重要所以说三遍) 接下来,到C:\Users\你的用户名\Zomboid\Saves\Sandbox\目录下,找到你要改的save文件(我只玩沙盒,所以只知道Sandbox目录)。 比如我想要改的存档文件夹名称是20-05-2022_03-06-39,那么就点击进入这个目录里。 一般而言,你会见到密密麻麻的一堆bin文件(名称是map_X_Y.bin这样的,比如map_150_840.bin),一般都是成千上万个。 提醒一下,我的这个帖子,自始至终都只会动到这种名称格式的文件!!!其它诸如chunkdata_X_Y.bin、map.bin、map_ver.bin、map_zone.bin以及zpop_X_Y.bin等等的不要去动!除非你自己清楚你在干什么。 1.)直接上结论:就算你删除了所有的map_X_Y.bin名称格式的文件,游戏中小人所站立的位置(上一次游戏自动存档的地图位置),周围一大片区域里,至少玩家所拥有的车辆是完全不会刷新掉的。说明此游戏有其它文件备份了这一大片区域,之后重新生成了此片区域的map_X_Y.bin文件。但地图上原本其它的很多东西就丢失/刷新了。 游戏自动存档的地图位置,如图所示:此截图是在我删光了所有几万个的map_X_Y.bin文件之后,重新读取存档后,进入游戏里,结果我的两辆车都还在(一辆末日房车、一辆巴士),而且都可以正常进入与开车(钥匙启动)。说明小人身上的钥匙还管用,而不是刷新的外观相同的另一辆新车:末日房车真是在此种游戏存档机制下的最大受益者 2)第二点比较复杂,结论直接放在叙述里,请各位耐心看(若有错误,烦请各位指出): 我这里演示的基地是上图末日房车内部的基地。但实际上,房车基地其实也是占用的世界地图上的一部分(在房车内部时,看小地图、或是打开大地图查看自己的位置就能明了) 见下图,可以看见我对房车内部1楼进行了扩建(具体方式请参考吧内其它大佬的帖子,这里不再过多赘述):图上红色箭头为x轴(地图长度),蓝色箭头为y轴(地图宽度),绿色箭头为z轴(地图高度)。 据我的研究发现(有可能不准确,毕竟我只试了一次),游戏中的一个map_X_Y.bin文件,对应的就是x轴10格,y轴的一格这样的1纵列。save文件夹下的10个map_X_Y.bin文件,举个例子,map_150_840.bin、map_150_841.bin、map_150_842.bin到map_150_849.bin这么10个文件,对应的就是图中连续的(按上图中蓝色y轴方向排列)10个纵列,10个文件,刚好组成长宽面积为10 x 10的一个小地图。 很明显,我这里的房车内部面积不只10 x 10,宽度明显大于10格,所以,多出来的部分(蓝色虚线右下方面积)则存储在了map_151_840.bin~map_151_849.bin的新的10个地图文件中。 有意思的是,这游戏似乎是以二元矩阵/数组的方式来命名地图文件的(题外话) 3)到这里为止,大家发现什么问题没? 是的,我还没提到体积,也就是乘上z轴(地图高度)这个变量呢!! 有关这一点,请看下图: 这是我扩建之后的房车2层,面积与1层大小相当:实际上,游戏中,一个map_X_Y.bin文件,对应的就是x轴10格,y轴的一格这样的1纵列,但在高度上,至少目前我发现是可以一直累积的(应该是大于10格,但极限在哪里我也不知道,但反正对我而言够用了) 房车3层,面积同样与1层大小相当: 所以,保存地图文件时,高度上的影响至少在玩家这边可以无视掉。只用考虑自己基地的长与宽就行(应该是吧,萌新不敢做百分之百的保证)。 4)最后的总结: 比如,游戏里我要备份我房车内部的地图,那我每次都要把对应的map_150_840.bin ~ map_150_849.bin与map_151_840.bin ~ map_151_849.bin总共20个文件重新更新与备份一下,如果我要把现有的空间的长与宽扩建,那我就要考虑更新与备份新生成的地图文件了!比如更新与备份map_152_845.bin~map_152_849.bin,以此类推。 另外,存储的物资一类的东西是跟着地图文件一起的,所以不用担心你仓库里的东西会没了。 虽然看起来很麻烦,但总比一次备份几十万个地图文件好太多了。。固态硬盘玩家真是吃不消啊。。。。。 以上
1 下一页