kirikri2 藏得真深的几个冷门玩法——不止是 galgame 模拟器

游戏工具 ·约 7 分钟 ·記筆記的貓:團子

kirikri2 是什么

大多数人对 krkr2 的认知就停留在「PC 上的 galgame 引擎在手机上的移植版」——没错,它确实是社区在 Android 上重写的吉里吉里2 核心引擎,能直接跑 .xp3 包或散落目录,不用改任何游戏代码。但它的身份远不止模拟器这么简单:从素材格式解码器、到跨平台存档桥、再到完整的 TJS2 脚本解释器,它在同一个 APK 里藏了一整条轻量级的游戏开发工具链。

安装

krkr2下载 的安装分两步走,模拟器本体和游戏文件是两回事。APK 68.88M,各应用商店和第三方 APK 市场都能搜到,包名 org.github.krkr2。装完本体后,真正要花时间的是把 PC 上的游戏文件拷进手机——不用解压 .xp3 包,模拟器自带解包;也不用建特定目录,放哪个文件夹都行,打开模拟器内置的文件浏览器自己找就行。唯一的前置条件是 Android 4.0 以上的系统版本,以及至少 2GB 剩余存储,因为吉里吉里的 .xp3 包普遍偏大。装完打开第一次会弹权限请求,存储权限必须给,否则文件浏览器找不到游戏。

藏得真深的几个冷门玩法

用 KrkrExtract 把 TLG 图片批量转成 PNG

这个功能藏得深是因为它不在模拟器本体里,而是在社区配套工具里。kirikri2 引擎默认用 TLG5/TLG6 自有格式存图——TLG 比 PNG 加载快、体积小,但任何其他看图工具都打不开。要逆向分析某款游戏的立绘、或者只是想把自己喜欢的 CG 抠出来存,官方没提供 TLG→PNG 的转换器,但社区有人写了 KrkrExtract:它可以直接打开 .xp3 包,把里面所有 TLG 图片批量解出来并自动转成 PNG。

在哪找:GitHub 搜「KrkrExtract」,绿色的那个仓库就是。怎么开:exe 启动后直接拖 .xp3 包进去,输出目录自己选,点开始就完事了。什么场景真有用:想给自己玩过的 galgame 攒个 CG 相册,或者做二次创作需要提取原图素材——比逐张截图清晰一万倍。什么人可以无视:只玩不折腾的普通玩家,完全没必要碰。

跨平台存档互通:PC 上打一半,手机上续

这个功能官方没宣传过,但因为吉里吉里2 的存档本质是 TJS2 的序列化对象,格式不区分平台,所以PC 存档直接拷手机就能用——反过来也成立。具体路径:Windows 上存档默认在 %APPDATA%/<游戏名>/save/ 或游戏目录下的 save/ 文件夹,就是一堆 .sav 文件;手机上模拟器的存档目录在 Android/data/org.github.krkr2/ 下面。把 PC 的 .sav 文件用数据线拷进手机对应目录,重新打开游戏就显示你的存档槽位了。

什么场景真有用:上班摸鱼续剧情(地铁里接着打晚上在 PC 上没打完的关卡),或者 PC 显卡挂了的应急方案。什么人可以无视:只用单设备玩的玩家,或者游戏用了自定义加密存档的那种(少数商业作品,这时需要额外的存档解密工具,不在本文讨论范围)。

脚本层完整支持 TJS2 类、继承、接口

这可能是藏得最深的一个——kirikri2 不只是运行 KAG scenario 标签,它在底层完整保留了 TJS2 脚本引擎的全部特性:class 类定义、extends 继承、implements 接口、static 静态成员、函数作为值传递……整个 KAG 引擎本身就是用 TJS2 写的。你可以在 scenario 里用 [tjs]...[/tjs] 嵌入任意 TJS2 代码块,直接调用引擎原生类(Layer、Image、Wave 等)。

什么场景真有用:有一定编程基础的 modder 想给老游戏加新功能——比如给 AVG 加个战斗系统、或者自定义存档界面。定义一个 Character 类封装角色的属性和方法,用 Hero extends Character 做继承,再用 global hero = new Hero() 暴露给 KAG 标签层调用,几行代码就能实现角色的 HP、攻击、受伤逻辑。什么人可以无视:完全不碰脚本的普通玩家,这个功能跟你没关系。

TLG5 vs TLG6 自动识别与手动指定

知道 kirikri2 原生支持两种 TLG 格式的人不多,更少有人知道文件扩展名都是 .tlg,引擎靠文件头自动判断版本。TLG5 用 Run-Length 风格的旧算法,加载更快但体积更大;TLG6 用 Deflate 风格的新算法(krkr2.24 才引入),体积更小但加载稍慢。

什么场景真有用:自己做二次创作打包 .xp3 时需要手动指定格式——用 SDK 自带的 tlgcon.exe 转换时加 -6 参数就是 TLG6,不加就是 TLG5。社区一般建议发布版统一用 TLG6 体积更优,开发阶段用 PNG 方便随时替换。什么人可以无视:只玩不打包的玩家,引擎自动处理就行,跟你没关系。

别踩的坑

上面的 TJS2 类功能有一个隐藏的副作用:如果你的游戏用了第三方 DLL 插件,kirikri2 根本加载不了。Live2D 插件、PSB 插件、3D 插件、任何 .dll/.tpm 格式的第三方插件都会让模拟器直接崩溃或丢失功能——模拟器只硬编码了图像处理和音频处理这几个内置插件。所以如果你想玩的那款 PC galgame 主打 Live2D 立绘,别折腾 kirikri2 了,直接上 Krkr2 Next——那是活跃维护的新一代跨平台方案,支持更多插件、硬件加速画质,Windows/macOS/Android/iOS/Linux 五端通吃。

另外要注意,社区里有不少中文修改版的 kirikri2,加了虚拟按键、快进快捷键、存档管理界面增强,但也有部分版本植入了广告。建议从可信社区(MDL、贴吧 galgame 区、NGA)找带开源链接的版本,别从来路不明的 APK 市场瞎下。

把它用透

kirikri2 今年已经在社区里安静跑了十几年了,从 galgame 引擎到 Android 模拟器,再到今天能拿它做素材格式转换、跨平台存档桥接、脚本层 modding——它在同一个 APK 里藏了一整条轻量级的工具链。大多数玩家只用到了它最表层的「跑个 PC 游戏」,但只要你稍微往深里挖一下,就会发现它能当很多事情用。下次玩完一款 PC galgame 想攒 CG、想把存档搬手机、或者想给老游戏加个小功能的时候,记得回头看看这个被你当成模拟器的工具。

本文為個人基於網路公開資料整理編寫,非官方內容,僅供學習交流參考;軟體版權歸原作者所有,請支持正版;使用過程中遇到問題請查閱官方管道,本文不承擔任何責任。

團子還試過這些