krkr2 中文文档 下载 App

Releaser 打包与 PEXP3 单文件发布

为什么要打包

开发阶段散落的文件(scenario/、image/、sound/ 等几十上百个文件)不适合直接发给玩家:

Releaser 是吉里吉里2 官方提供的打包工具,把所有东西(资源 + 引擎)打包成 XP3 归档或 PEXP3 单文件 EXE。

准备工作

打包前做一次完整检查:

1. 所有 .ks scenario 文件都能正常跑(没有断链、没有找不到的资源)
2. 所有 .tjs 脚本没有语法错误
3. 图片格式统一(发布前用 tlgcon 转成 TLG6)
4. 音频格式统一(BGM → OGG,SE → WAV)
5. startup.tjs 在正确位置
6. plugins/ 目录里的插件都测试过(插件兼容性)
7. 用 krkr.exe 直接跑项目目录玩一遍完整流程

图形界面版 Releaser

SDK 的 releaser/ 目录下有 releaser.exe(32位)和 releaser64.exe(64位)。

界面选项说明

[Project Folder]    ← 选择你的游戏根目录
[Files to Release]   ← 勾选要打包的内容
[x] Scenario        ← 所有 .ks 文件
[x] Script          ← 所有 .tjs 文件
[x] Images          ← 所有图片
[x] Sounds          ← 所有音频
[ ] Videos          ← 所有视频(没视频就别勾)
[ ] Plugins         ← 第三方插件(要带上就勾)

[Archive Format]     ← 选择输出格式
(○) XP3             ← 推荐(可以和 krkr.exe 分开分发)
( ) PEXP3           ← 单文件 EXE(分发最方便)

[Encryption]        ← 加密(可选)
[Password: ______]  ← 留空 = 不加密

[Output File]       ← 输出文件名
  data.xp3

打包步骤

  1. 打开 Releaser
  2. 选择项目目录 → 工具自动扫描里面的所有文件
  3. 勾选需要打包的分类(一般全勾)
  4. 选 XP3 格式(或 PEXP3)
  5. 输出文件名填 data.xp3
  6. (可选)设置加密密码
  7. 点击 Release → 等待进度条完成
  8. 同目录下会生成 data.xp3(体积就是所有文件总和加一点压缩)

PEXP3 单文件打包

PEXP3 把引擎本体 + 资源包合成一个 EXE:

Releaser 设置:
  Archive Format → PEXP3
  选项目目录(必须同时包含 krkr.exe 和你的资源)
  输出文件名 → MyGame.exe

效果:

PEXP3 的代价:

分法选择

目标平台推荐分法
纯 PC 独立分发PEXP3 单文件(最方便)
想支持 Kirikiroid2XP3 + 原版 krkr.exe 分开
上架 itch.ioPEXP3(Windows)+ 单独的 XP3(供模拟器玩家)
上架 SteamXP3 内嵌到 Steam 安装包(Steam 自己处理安装)

命令行版(自动化打包)

Releaser 也支持命令行参数,适合 CI/CD:

REM 基本打包
releaser.exe "MyGame/" data.xp3

REM 加密打包
releaser.exe "MyGame/" data.xp3 --password mysecret

REM PEXP3 打包
releaser.exe "MyGame/" MyGame.exe --pexp3

REM 指定引擎版本
releaser.exe "MyGame/" data.xp3 --engine krkr.eXe

REM 排除某些目录
releaser.exe "MyGame/" data.xp3 --exclude "debug" --exclude "dev_tools"

多语言资源打包

如果你的游戏有多语言版本:

方式一:分多份 XP3

releaser.exe "MyGame/zh-CN/" data_zh.xp3
releaser.exe "MyGame/en-US/" data_en.xp3

每份是独立分发包。

方式二:一个包多语言,运行时切换

// startup.tjs 里根据用户选择加载不同语言
var lang = Engine.getPreference("language"); // 首次启动让用户选
KAG.manager.loadScenario("scenario/" + lang + "/main.ks");

把多语言 scenario 打进同一个 XP3。

打包后验证

重新打开运行

打包后一定要用新打的包直接跑一遍,不要假设没问题:

1. 把 data.xp3 拷到临时目录
2. 放一个干净的 krkr.exe
3. 双击 krkr.exe → 引擎自动加载 data.xp3
4. 完整玩一遍游戏(从标题到结局)
5. 存档、读档、选项分支、CG 回放……所有功能点都测

常见打包后才出现的问题

问题原因解决
启动找不到 startup.tjs路径层级不对Releaser 里选正确的根目录
图片加载失败文件名大小写/编码问题开发时就统一用英文小写文件名
存档路径不对自定义存档路径在打包后变了用相对路径或 Storage.getUserPath()
插件加载失败打包时没包含 plugins/ 目录Releaser 里勾上 Plugins 分类
视频播不了WMV 依赖系统解码器提示玩家安装 K-Lite Codec 或换 MPG

分发渠道选择

吉里吉里2 游戏常见的分发渠道:

渠道适合场景特点
itch.io独立开发者首选支持付费/免费/名称你定价,自动生成下载页
DMM.com日本市场成人向游戏主流平台
个人网站粉丝基础好用 Releaser 自己上传,Google Drive / Mega 做下载
GitHub Releases开源/免费游戏版本管理 + 下载 + 代码透明
Steam商业项目需要 Steamworks SDK、过绿条审核

itch.io 发布流程

1. 注册 itch.io 开发者账号
2. 创建项目,填写名称、介绍、封面
3. 上传 Windows 版本(PEXP3 exe)
4. (可选)额外上传 XP3 给模拟器玩家
5. 设置价格(免费或付费)
6. 发布
7. itch.io 自动生成一个漂亮的游戏页面

日本同人分发

日本同人圈有自己的分发体系:

最终检查清单

发布前过一遍这张清单:

[ ] 游戏完整可玩(主线通关,没有断链、死循环)
[ ] 存档/读档正常
[ ] 图片都能加载(没有打包路径问题)
[ ] 音频正常播放(BGM/SE/语音)
[ ] 字体正常(中文没乱码、没方框)
[ ] 插件正常加载(如果用了的话)
[ ] PEXP3 或 XP3 打包完成
[ ] 用全新 krkr.exe + 新打包文件跑了一遍
[ ] 渠道信息填好(itch.io 页/虎之穴商品页)
[ ] 截图、封面、宣传图准备好了
[ ] 版本号、更新日志写好了
[ ] 许可证声明(GPL 引擎要附上文本)

总结

打包是从「开发中」到「可分发」的最后一步。Releaser 让这件事变得简单——选择目录、选格式、点 Release。但一定要在干净环境下完整跑一遍打包后的产物再发布,避免上线才发现路径问题。