Galgame如何制作网页版(教程)

Practical Technology网页版引擎
14-05-2024 - 13:52

labyin

1569

14-05-2024 - 13:52

Galgame 目前制作网页版的难度 (仅个人评价)

游戏引擎 实现难度
RPG Maker MV 1.2
Ren‘py 8  3.x 1.6
Ons 1.8
Tyranoscript 1.8
RPG Maker MZ 1.9
Ren‘py 7  2.x 2.2
Artemis 2.2
KrKr 5.0
其他引擎 ???

常见引擎

其中常见的引擎 有ONS,KrKr,RPG Maker MV 等等,其中以 KrKr 引擎制作的 Galgame 居多。目前 KrKr 制作网页版的难度较大。 所列举到的引擎制作的网页版,都不能直接打开,需要搭建一个本地服务器 下载即用,或者使用 IPFS。

引擎识别

可以用 mtool 识别,下载链接 https://trs.mtool.app/release.php?lang=chs

制作教程

RPG Maker MV

RPG Maker MZ

Tyranoscript

这三个引擎都是很容易制作网页版的,所以把它们放到了一起。
目前获取到这些资源主要途径包括 apk 和 exe。
Apk 只需要将其改为 Zip 然后解压,最后找到当中的 index.html 文件下的目录即可
Exe 可能需要解一下 Electron 封的 asar 包,或者Enigma 封的包
解包教程:https://b23.tv/av899751921
然后将目录导入到 IPFS 中,或者直接使用即可。

总之制作网页版很容易的,可以随便找几个该引擎制作的游戏练练手。

常见问题

无法播放声音

如果游戏想兼容手机,引擎需要格外添加 m4a 文件,或者向游戏中添加这三个插件
AudioStreaming.js
stbvorbis_stream.js
stbvorbis_stream_asm.js
参考教程 2.

文件大小写错误,通常表现为找不到某文件

通常情况下, Windows 操作系统默认是不区分大小写, Linux 操作系统区分大小写。需要修复
修复方法
使用插件后
如果文件有%,( 例%.ogg )或者 (%5Ba%5D%.txt )即 % 前面跟着中文时需要手动修改文件名。出现这种文件名的概率非常小。比如(恢复25%.ogg) 不会报错,而(恢复二十五%.ogg) 就会报错 3.

Tyranoscript 打开黑屏弹窗报错

Tyranoscript 中下 lib.js文件下的 $.setStorage,$.getStorage 可能被注释掉了,或者没有,需要手动添加。

Ren'py

首先需要安装 Python 3.x
然后从官网上下载 Ren‘py 引擎
https://www.renpy.org/latest.html
安装,然后把游戏复制到项目目录下,刷新。
选择要构建的项目,在右下方点击 Web(Beta)
然后点击构建网页项目。可能需要较长的时间
最后点击打开构建目录即可

常见问题

apk 如何解包 参考教程
不需要获取 rpy,只需要 rpyc 。也就是说有些 apk 无法解包时,只需要将 x-?????? 中的 “x-” 删去即可

Ons

这里有详细教程以及使用方法

https://tieba.baidu.com/p/8286186353
https://github.com/YuriSizuku/OnscripterYuri

第一步
Ons 解包:可以使用 Garbro 或者 nsadec 进行游戏解包。其实不解包也可以使用,但是手机运行会闪退。
第二步
python onsyuri_index.py --lazyload 生成 json 文件。
第三步
将 onsyuri.html 改为 index.html

常见问题

最外层目录不能含有大写字母,即生成的 json 文件中的 gamedir 和 savedir 不能含大写字母,但可以含有中文。
总之使用起来较为容易

Artemis

同样的不需要解包就可以玩,但是不解包手机会闪退。
引擎是闭源的
需要和作者联系获得引擎使用授权

官网

https://www.ies-net.com/

教程

https://www.bilibili.com/read/cv13105700/
https://www.bilibili.com/read/cv24837605/

引擎

网友提供的引擎

首先需要解包文件
其次要修改游戏中 system 配置文件,加入 [WASM] 配置,通常下文件里面会有,不需要格外添加,但是如果文件里面没有,需要从其他游戏中复制一份过来
第二步
修改 GeneratePackFile2 配置文件 将 ;CHARSET=UTF-8 的分号删去
第三步
使用 GeneratePackFile2 重新打包生成 root.pfs 文件
第四步
使用 ApplyWasmData 生成相应的 js 文件

常见问题

游戏启动黑屏

首先需要查看 table 下是否有 list_wasm.tbl 文件,如果没有的话
需要修改 init.lua 将 game.os = nm 改为能运行的引擎 比如 windows 或者 android。 2.

加载视频报错

我也不知道如何修复,只能先暂时先替换掉视频文件 3.

无法存档

这个问题在于游戏引擎无法识别文件格式,只能每个格式都尝试一遍,所以需要告诉引擎存档文件不存在。我的解决方法是声明有哪些文件,然后直接返回文件是否存在。 4.

游戏自动退出

检测 first.iet 是否有相应校验代码 5.

图片加载后报错

可能使用了 hlsl,需要将其替换为 glsl ,table 文件夹下的 list_window.tbl 也要修改。 6.

游戏通关之后,浏览器体积增加了 1G 多

可以添加个通关后手动清除浏览器缓存的文件

参考如下
野良与皇女与流浪猫之心2 在线游戏

野良与皇女与流浪猫之心2 清除缓存

总之制作网页版较为繁琐。

KRKR

目前 KrKr 制作网页版的难度很大。
目前 只能制作游戏体积小于 300 MB 的游戏,要想运行游戏,需要加载完游戏中的所有资源, 此时不如使用模拟器。
制作可以参考这个教程 https://www.bilibili.com/read/cv26509233/


相信以后肯定会有大佬做出个无需加载整个 data.xp3 就能运行的版本

常见问题

字体无法显示

需要使用 Scripts.execStorage("system_polyfill/PolyfillInitialize.tjs") 加载补丁版本
system_polyfill/PolyfillInitialize.tjs 需要从 kag3-krkrsdl2 那里下载
,如果 tjs 被加密了,那就只能放弃了,应该无法制作网页版了 2.

打开窗口时报错

需要使用 KirikiriEmscriptenInterface 手动修改 tjs 文件
比如打开窗口需要改为 KirikiriEmscriptenInterface.evalJS('window');
js.confirm(message); var res = js.prompt(message); return res;等等
但建议删除打开窗口的代码 3.

编码报错,比如宽字符错误等等

需要将 utf-16 转为 utf-8 4.

无法播放视频

目前没有较好的修复方法 5.

图片出错,声音无法播放

图片要修改为图片原本的格式,声音要转换为能够支持播放的 ogg 文件,同时引擎里加载 xxxx.png 要替换为 xxxx 不需要后缀

其他引擎 (等大家补充)

Topic status:Normal
1256 × 28-08-2024 - 00:27

labyin

1569

=> labyin
Replied To @ labyin

KRKR 打包可以使用 xp3pack 或者是汉化版的krkrrel

14-05-2024 - 15:24 × 14-05-2024 - 15:25

labyin

1569

=> labyin

14-05-2024 - 15:31 × 10-08-2024 - 03:55

labyin

1569

=> labyin

14-05-2024 - 15:33 × 10-08-2024 - 03:56

labyin

1569

=> labyin

14-05-2024 - 15:35 × 10-08-2024 - 03:57

labyin

1569

=> labyin
Replied To @ labyin

KRKR 暂时没有例子

RPG Maker MV 和 RPG Maker MZ 以及 Tyranoscript 等大家补充

14-05-2024 - 15:37

labyin

1569

=> labyin
Replied To @ labyin

Artemis 加载视频报错解决方法 2

将 mp4 视频转为 h264 编码的 mp4 视频,就能正常播放了。

19-05-2024 - 04:10

=> labyin
Replied To @ labyin

emm,其他引擎的话,Godot支持Web端导出,而且看了我的教程你就知道了,Godot制作galgame难度不高,只不过相比于专门制作galgame的引擎来说,还是要造轮子的

17-10-2024 - 17:17

kohaku