
用 WebAssembly 把 KiriKiri2 视觉小说引擎移植到了浏览器,现在可以直接在网页上运行 .xp3 格式的 Galgame ,不需要装任何软件。
在线体验: https://krkr2.fenghengzhi.com
Chrome / Edge / Firefox / Safari 应该都能跑。打开网页后把 .xp3 游戏文件拖进去就能玩,也支持选择本地文件夹直接读取。但更推荐用 "Open Game Directory" 加载游戏,它使用 File System Access API 直接读写本地目录,存档可以持久化保存;其他方式加载的存档只在内存里,刷新就没了。
目前还比较早期,已知的问题有:安卓端黑屏、iOS 触控有问题、偶尔花屏。测试也只用魔法使之夜的 krkr2 版跑了游戏开头,未对兼容性做广泛验证。
项目基于 https://github.com/2468785842/krkr2 ,因为这个项目对多平台编译有一定的成果,我在其基础上使用 AI 增加了 Web 目标平台,开发过程中 AI ( Cursor )承担了大部分编码工作。
1 lianyanjiajia 4 天前 大佬牛逼,帮顶 |
2 yukinotech 3 天前 不来个开源地址?围观学习一下 |
3 fenghengzhi OP @yukinotech 还在整理,会开源的。不过有多少学习价值我也不好说,毕竟基本都是 AI 写的,我只负责把握方向 我只有信心避开错的离谱的方向,但是不是最正确的方向我也不好说,我也不是职业开发 C/C++/WASM 的 |
5 Danswerme 1 天前 感谢分享,难得在本站能看到同好呀,我晚上回去也试试我手头的几个游戏~ |
6 fenghengzhi OP @Danswerme 感谢支持,期待你的反馈 |
7 Danswerme 1 天前 测试了手头的几个游戏,均无法正常游玩。 1. 夏空彼方 柚子社 Logo 显示过后,画面处于黑屏状态,BGM 正常播放,控制台报错:index.js:1 Uncaught RuntimeError: function signature mismatch at index.wasm:0x68322f at index.wasm:0x688f55 at index.wasm:0x811606 at index.wasm:0x44ccf7 at index.wasm:0x7a293 at index.wasm:0x80b580 at index.wasm:0x29f08e at index.wasm:0x13d7a9 at index.wasm:0x44da1c at index.wasm:0x7a293 2. 千恋万花 选择 data.xp3 / patch.xp3 启动均会报错 web kirikiriz Cannot find storage startup.tjs 3. 实妹相伴的大泉君 选择 data.xp3 启动后报错 web kirikiriz kirikiriz Invalid character '\b' @line(2) initialize.tjs |
8 fenghengzhi OP @Danswerme 感谢反馈,我会优先修复这些到可玩的状态,光靠我自己一个人找 bad case 成本太高了 |
9 fenghengzhi OP @Danswerme 多 xp3 文件必须得选择文件夹,选择单 xp3 文件肯定不能正常运行 1. 目前经过修复后,跑了很长一段剧情都没出现报错 2. 这个目前没办法解决,千恋万花实在是太大装不下了,现在运行游戏需要把文件复制到内存中,要解决只能等 JSPI ( Javascript promise integration )能力广泛实现后(我主要是不太希望苹果这边玩不了),使用 JSPI 解决必须要复制文件到内存中的限制 3. 解决了部分问题,但仍然存在其他阻塞性问题 不过我观察有个问题 AI 并不是正面解决的,我在考虑要不要回滚代码让 AI 更加正面地去修复 |
10 Danswerme 1 天前 @fenghengzhi 你太高效啦,我晚上回去再试一下;此外,我选择的是文件夹,然后在网页中的 xp3 文件列表中选择了 data.xp3 / patch.xp ,启动后报错,并不是选择了单 xp3 文件。 |