
首先拿到游戏最主要的是辨认引擎,比如我们这个教程是针对TyranoScript写的那你肯定得是对应的引擎才能用,牛头是对不上马嘴的。
Tyrano的基本实现
TyranoScript这个引擎,是 JavaScript+HTML+KAG 实现的其本质就是一个网页一样的东西,也就是说这玩意运行依赖于浏览器框架 所以TyranoScript不管是在 Windows、Mac、Linux、Android、IOS 上运行都是 浏览器+网页文件 这种形式而且这玩意对多平台的支持也只是那个“浏览器”换了一下而已
Windows平台
我们主要来关注Windows平台Tyrano在Windows上的运行方式我观察是有三种, 其实也可以说是两种因为另外两种好像就是用 Electron 实现的另外一种其实就是不封包嘛,不过运行好像也是依赖 Electron 具体我就不怎么清楚了
封入 EXE
这种的很好辨认,exe特别的大

封入 app.asar
这种的 resources 目录下 有个特别大的 app.asar 文件

不封包
这个就很好认了,目录下必有tyrano 、data、node_modules文件夹index.html 、package.json文件
其实上面封包的,解开后也是这样的

注意与其它引擎区分
并不是说目录下有如下的文件就是 tyrano 引擎

这些只是一个浏览器的外壳,拿来运行 tyrano 的脚本的 比如RPG Maker MV 也会有这些文件
最好的是方法是,解包或不封,你能看到 tyrano 这个文件夹,还有data文件夹 并且 data 文件夹里的 scenario 文件夹中有 ks 文件
对于Tyrano的游戏资源封包分为三种类型(封入 EXE,封入 app.asar,不封包)
封入 EXE
直接把 EXE 后缀改为 zip 并解压当然有一部分 64位 的程序是没办法这样解的

此外这种形式的游戏还会把封包内容释放到 %temp% 目录下文件夹名开头为 nw___ 也可以从这直接复制出来

封入 app.asar
app.asar 放在 resource 目录下可通过 WinAsar 或 nodejs 解包
点击 Extract 后会把解包内容放到同目录下的 app.asar.unpack 里https://github.com/aardio/WinAsar
有一些 asar 文件是加密的,这种方法是解不了的。

不封包
没必要说了吧!
我们去掉浏览器的部分,看看这游戏本来啥样

看起来就和网页文件一样, tryano 文件夹里有js css 然后data文件夹里的目录看起来就和krkr引擎一样 scenario里也有ks文件,system文件夹里有个config.tjs
别的文件夹里基本都是 cv bg fg 之类的资源文件
剧本
scenario里面就是存放游戏文本的,而且是Unicode编码的,直接就可以改中文
字体
字体一般放在 other 文件夹里

一般在 tyrano 文件夹里 有个 font.css 里面就是装载字体的

system 文件夹 下的 config.tjs 具体配置 字体的 阴影 大小 粗细等

运行
对于 不封包 的这个可以直接改文件,可以直接运行,不必多说 现在我们来讲讲,解包后的运行。
情况1

如果你解包后是这样的,那直接点那个 exe 就可以正常运行游戏了
情况2

如果你解包后是这样的,说明并没有带浏览器的框架,只有脚本, 我们需要手动添加浏览器的框架才能运行
可以去 tyrano 官方下 https://tyrano.jp/dl/v4

下载好后解压,然后把我们解包出来的文件拉过去覆盖即可

当然你也可以通过 别的游戏来获得这个框架,或者用其它的框架,或者用Tyrano官方的开发工具,都行。甚至你也可以直接用chrome运行,只不过需要点别的操作,这里就不说了。
情况3

遇到 app.asar 文件解包后, 我们可以把 app.asar.unpack这个文件夹, 重新命名为 app.asar 移除 app.asar 文件 即可直接运行。
调试
官方是提供了开发调试工具的TyranoRider和TyranoStudio 都是免费的, 功能也够用,我们可以去下载,不过只有日文 https://tyrano.jp/dl/rider https://tyrano.jp/studio
当然你也可以选择用浏览器调试,如果你会用的话。
我们这边演示一下 TyranoRider

点击 プロジェクトを選択 选择游戏的 index.html 文件, 对的,你刚刚甚至可以不用添加浏览器框架用这个玩意运行也可以, 反正它就是个网页脚本,只要有个浏览器就能跑。

1 开始运行 2 这个地方可以选择指定的ks文件 后面那个框可以跳转ks文件里的某一节。
然后还可以查看素材,生成补丁包之类的,这个懂日文的同学可以去看看。
tyrano 的补丁包一般是以 .tpatch 为后缀的,本质就是个 zip 包

名称规则
名称一般是 [projectid].tpatchprojectid 其实在 system\config.tjs 里有里面有一行projectid=mytyrano 那么补丁的 全名是 mytyrano.tpatch
或者我们也可以直接从存档文件读出来比如 tyranoproject_sf.sav 那么 projectid就是 tyranoproject 那么补丁的 全名是 tyranoproject.tpatch
内部目录结构
我们先来看一个没封包的 tyrano 引擎的游戏 比如我们有个 b_1.png 的文件路径是 .\data\image\button\b_1.png 这告诉我们它是在 data文件夹下的image文件夹内的button文件夹里面
那么我们打包成zip的时候也要严格按照这个 路径/目录 结构 因为游戏运行后会释放这一部分的文件去替换
换句话说,你压缩成 zip 后,也得是,双击打开zip 第一个文件夹 data 里面有个 image文件夹然后里面有个 button 文件夹 ,进去后躺着个 b_1.png
而且不管你是 封入 exe 还是 app.asar 都是这样。

补丁运行方式
虽然都是 .tpatch 后缀的补丁,但是运行的方式稍有不同
对于封入exe的游戏来说因为游戏运行后会释放到 %tmp% 这个路径下 补丁的工作原理就是解压zip,然后覆盖进去, 所以这也就是为什么要求里面的目录结构一致
对于封入app.asar的游戏来说 这个引擎的工作方式就有点奇怪了, 你把补丁放在游戏目录下第一次运行的时候 游戏会提示你 更新包已经整合重新打开游戏, 其实这个玩意,就是把.tpatch的内容整合进app.asar里面 这种方式其实也就不能称之为独立的汉化补丁了, 因为它会改变原来的 app.asar 文件 但是这玩意已经固定就是这样更新了,所以没办法 如果要还原日文我们只能准备一个原来的文件,通过同样的方法导入进去 其实如果这样的话,也可以不发布汉化补丁了, 我们直接解包后可以换成封入exe,或不封包,或别的方式也可以了。