V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fenghengzhi
V2EX  ›  ACG

在浏览器里直接运行吉里吉里(KiriKiri2)引擎的 Galgame

  •  2
     
  •   fenghengzhi · 14 天前 · 1024 次点击

    用 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 条附言  ·  13 天前
    如果有碰到游戏运行有问题的可以在这里回复,光靠我自己不可能有足够的时间仔细回归测试每款游戏
    第 2 条附言  ·  13 天前
    真服了,本地 debug 编译运行没问题,我就直接把 release 编译发上去,结果 release 编译的是有问题的
    第 3 条附言  ·  12 天前
    目前应该是可以正常跑魔法使之夜了(至少开头往后不短的部分)
    10 条回复    2026-03-20 08:54:42 +08:00
    lianyanjiajia
        1
    lianyanjiajia  
       14 天前
    大佬牛逼,帮顶
    yukinotech
        2
    yukinotech  
       13 天前
    不来个开源地址?围观学习一下
    fenghengzhi
        3
    fenghengzhi  
    OP
       13 天前
    @yukinotech
    还在整理,会开源的。不过有多少学习价值我也不好说,毕竟基本都是 AI 写的,我只负责把握方向
    我只有信心避开错的离谱的方向,但是不是最正确的方向我也不好说,我也不是职业开发 C/C++/WASM 的
    Danswerme
        5
    Danswerme  
       11 天前
    感谢分享,难得在本站能看到同好呀,我晚上回去也试试我手头的几个游戏~
    fenghengzhi
        6
    fenghengzhi  
    OP
       11 天前
    @Danswerme 感谢支持,期待你的反馈
    Danswerme
        7
    Danswerme  
       11 天前
    测试了手头的几个游戏,均无法正常游玩。

    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
    fenghengzhi
        8
    fenghengzhi  
    OP
       11 天前
    @Danswerme 感谢反馈,我会优先修复这些到可玩的状态,光靠我自己一个人找 bad case 成本太高了
    fenghengzhi
        9
    fenghengzhi  
    OP
       11 天前
    @Danswerme
    多 xp3 文件必须得选择文件夹,选择单 xp3 文件肯定不能正常运行
    1. 目前经过修复后,跑了很长一段剧情都没出现报错
    2. 这个目前没办法解决,千恋万花实在是太大装不下了,现在运行游戏需要把文件复制到内存中,要解决只能等 JSPI ( JavaScript promise integration )能力广泛实现后(我主要是不太希望苹果这边玩不了),使用 JSPI 解决必须要复制文件到内存中的限制
    3. 解决了部分问题,但仍然存在其他阻塞性问题

    不过我观察有个问题 AI 并不是正面解决的,我在考虑要不要回滚代码让 AI 更加正面地去修复
    Danswerme
        10
    Danswerme  
       11 天前
    @fenghengzhi 你太高效啦,我晚上回去再试一下;此外,我选择的是文件夹,然后在网页中的 xp3 文件列表中选择了 data.xp3 / patch.xp ,启动后报错,并不是选择了单 xp3 文件。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   6073 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 03:14 · PVG 11:14 · LAX 20:14 · JFK 23:14
    ♥ Do have faith in what you're doing.