Skip to content

关于全局存储

相关插件

全局存储核心:

◆Drill_CoreOfGlobalSave 管理器 - 全局存储核心

核心的子插件:

◆Drill_GlobalVariable 管理器 - 跨存档的变量

◆Drill_HtmlWindowTitle 游戏窗体 - 游戏窗体标题修改

◆Drill_SceneSelfplateA、B 面板 - 全自定义信息面板A、B

◆Drill_SceneSelfplateC、D 面板 - 全自定义信息面板C、D

◆Drill_SceneSelfplateG、H 面板 - 全自定义信息面板G、H

◆Drill_SceneSelfplateI、J 面板 - 全自定义信息面板I、J

◆Drill_SceneSelfplateK、L 面板 - 全自定义信息面板K、L

◆Drill_SceneSelfplateM、N 面板 - 全自定义信息面板M、N

◆Drill_SceneGalleryA、B 面板 - 全自定义画廊A、B

◆Drill_SceneGalleryC、D 面板 - 全自定义画廊C、D

◆Drill_TitleBackground 标题 - 多层标题背景

◆Drill_TitleCircle 标题 - 多层标题魔法圈

◆Drill_TitleParticles 标题 - 多层标题粒子

◆Drill_TitleGif 标题 - 多层标题gif

◆Drill_TitleTiledGif 标题 - 多层标题平铺GIF

◆Drill_TitleVideo 标题 - 多层标题视频

◆Drill_TitleScene 标题 - 全自定义标题界面

独立的全局存储插件:

◆Drill_GlobalGameTimer 管理器 - 累计游戏计时器

其他插件:(下列插件仍然使用旧的全局存储,存储会较大幅度影响性能,未来会推翻)

◆MOG_Music_Book 面板 - 音乐书

◆Drill_X_GlobalOptimization 系统 - 全局存储性能优化[扩展]

如果你想尝试配置meta元素,可以看看:配置示例

名词索引

以下你可以按住ctrl键点击下面的词,可以直接定位到想了解的名词:

存储正常存储 全局存储 自定义存储文件
Meta元素元游戏 世界线 玩家世界线

插件关系

全局存储的插件大部分依赖于全局存储核心,如下图所示:

存储

定义

正常存储:指将所有游戏存档保存在固定编号的存档中。

新开游戏,所有数据清空。

全局存储:指游戏后台存储,将数据存储在指定的全局文件中。

新开游戏,数据不变。

你在测试游戏调整插件的参数时,可能会遇到 参数修改无效 的情况。其中有可能是由于全局存储在开游戏后,就立即对全局数据文件进行了读取,从而覆盖了插件的初始化数据。遇到这种情况时,要多留意你测试的插件是否开了全局存储,要记得删掉存的文件。

测试战斗 时,全局存储也可能会自己 存储/读取 文件,为避免影响,测试战斗前注意清理一下save里面的全部文件。

存储文件

1)一般数据文件

游戏没有那么深沉隐秘的存储,所有存储的文件都在save文件夹中。

(如果是用服务器搭建的云端游戏,则在服务器的save文件夹中。)

你只要把save文件夹中的所有文件清空,那么游戏默认的全局存储和存档都会被清空。

2)插件 自定义存储文件

注意,只有全局存储才能 自定义 想存的文件以及位置。

全局存储之间的数据实质为同一个世界线的数据,所以放在哪都行。

正常存储中,存档之间的数据 互斥,进入不同存档,则进入完全不同的世界线。所以正常存储不能分离文件。世界线的相关介绍可见后面章节: 世界线

全局存储核心可以设置文件路径,

子插件选择在指定的文件路径中进行存储。

注意,多个子插件可将数据存储到同一个文件路径里面。

你也可以根据不同文件,分多个文件存。

(大部分metagame游戏也是通过这种全局方式存储,不过有的游戏为了完美隐藏,会将全局存储的文件藏在玩家c盘中一些非常隐秘的位置,就像病毒一样,删游戏也无法改变游戏进度。)

另外注意,如果你的游戏是部署在服务器上的,这里指定的文件都将会是服务器上的文件路径,这样会对不同玩家的游戏造成干扰。

3)插件自控制的文件

部分插件可能会有自己控制的全局文件,比如:

◆Drill_GlobalGameTimer 管理器 - 累计游戏计时器

计时器插件会专门单独存一个 drill_timer.rpgsave 文件,用来记录玩家累计游戏时间。

数据更新与旧存档

具体介绍与定义先去了解一下“21.管理器 > 数据更新与旧存档.docx”。

注意,这里提及的是 修改插件配置与旧存档 的关系。如果你直接更新了插件,旧存档赶紧删了。更新插件相当于数据底层变动,而数据底层变动对旧存档影响是无法预估无法控制的。

全局数据的优化策略与一般数据的优化策略一样。

1)如果把指定的全局存储文件删除,100%解决数据同步更新问题。

2)如果全局存储为空,编辑后,再次打开游戏,将以最新的数据为准。指定数据保存后,此优化失效。

测试游戏时,如果执行了相关插件指令,全局数据会存储在指定文件中。

再次测试时,数据会以上一次保存的为准。

因此,注意测试时要删掉全局存储文件。

Meta元素

定义

meta-game(元游戏):指利用 超出游戏以外的因素 对游戏本身产生影响的游戏。

Meta元素是一种游戏设计思路,通过Meta可以增强玩家的游戏带入感。

从感受角度来说,游戏在被制作出来时,战斗、剧情、结局等就已经被注定了,这是游戏以内的因素。而玩家在游戏过程中的反应、情绪,以及在游戏中某些特殊行为,都是游戏以外的因素。

世界线:指事物发生的一种可能性。

比如战斗你可以有 战斗、逃跑 两种选择,也就相当于有两条世界线。

玩家世界线: 指不管你选了哪个选择,最后必然进入某结果的一条时间线。

世界线与存档之间的关系如下:

玩家可以通过存档,跳跃到 任何一个存档世界线 。

但是玩家自身的真实世界线,是无法保存与跳跃的。

(对于游戏中的人物来说,玩家跳跃存档时间线,相当于穿越时空)

这也是为什么 全局存储 能够直接和meta元素设计 挂钩。

设计方法

我们可以通过全局存储来设计 游戏以外的影响因素 。

比如,我们可以知道 玩家的游戏时间、玩家在其它存档中的失败经历、玩家在游戏中去过哪些特地地点 等信息(玩家删正常的存档也无法清除这些信息)。

从这个角度上对玩家的行为反映进行逐一设计,能让玩家产生游戏之外的高度上思考:“到底是我在玩游戏,还是游戏在玩我?”

C:sersenovoppDataoamingencentsers355126171QinTempichOleB`KR%(W8C($7S(SV1~NKSI.png

1)游戏范围内的meta

游戏范围内meta,指玩家进入游戏后,meta数据存储于游戏文件夹内。

玩家删除游戏,重新安装新游戏后,meta即会失效。

全局存储核心中能够将存储的文件定义在 游戏目录下:

2)玩家电脑内的meta

玩家电脑内meta,指玩家进入游戏后,meta数据存储在玩家电脑的某个位置。

玩家删除游戏,重新安装游戏,meta数据仍然会被读取到。

要设计出来也很简单,将文件位置设为C:/某个目录即可。

注意,最好不要写c盘的Windows、Temp、User等系统专用文件夹,存储时可能会因为权限不够,而无法保存数据。

另外注意,如果你的游戏是部署在服务器上的,这里指定的文件都将会是服务器上的文件路径,这样会对不同玩家的游戏都造成干扰。

配置示例

示例中,有个“C盘隐藏路径”的设置。

可以看到,这个会在c盘下建立一个 drill_rpg文件夹。

子插件用到了此路径,且手动触发保存后,才会建立文件夹和文件,默认不会自动创建。

所以,现在将 信息面板B 的文件路径配置设置为2,关联这个文件路径。

(注意,信息面板B开了全局存储)

(多个插件可以配置全局数据存到同一个文件路径里面,相互不冲突。)

进入 面板管理层,主动触发 解锁或上锁 第3条信息。

(手动触发数据变化,才会保存,默认是不存的。)

现在去c盘看看,可以发现数据已经被存上了。

meta元素就可以通过这个存储文件,知道玩家是否玩过游戏,经历了哪些剧情,你可以根据这个设计不同的剧情与结果。

(有的电脑可能会因为权限问题,不让存。插件存储失败时,会选择在 游戏的save文件夹下存文件drill_globalDefault.rpgsave。)

常见问题(FAQ)

全局存储问题经常发生在子插件中,可见:

18.面板 > 关于全自定义画廊.docx”文档中的 常见问题(FAQ)

贡献者

暂无相关贡献者

页面历史

暂无最近变更历史