dol吧 关注:118,808贴子:674,840

(半水)游戏代码查看指南

只看楼主收藏回复

RT,其实没啥内容所以可以算半个水贴...只展示怎么通过代码看剧情/找言灵需要修改的属性,不包含mod开发相关(因为我也没研究过,划掉)


IP属地:上海来自Android客户端1楼2024-04-27 13:42回复
    方式一:直接查看html(不推荐)
    下载下汉化仓库里的mod管理器后,直接用文本查看工具(我用的是之前就装过的Sublime)打开平时玩游戏时打开的html就行,文件比较大要稍等一会。
    html文件是编译后的结果,一个文件有六十几万行,且一些符号是用>>(>>)等方式显示而不是直接显示,看着不是很方便,所以其实不推荐这种方式。


    IP属地:上海2楼2024-04-27 13:49
    收起回复
      html文件打开后的效果如下,其实也不是不能看...


      IP属地:上海3楼2024-04-27 13:50
      回复
        方式二:mod管理器导出
        此方法由之前的贴吧大佬提供,打开游戏加载完汉化包后,mod管理器拉到底,选择"导出当前数据以检查错误"即可。


        IP属地:上海4楼2024-04-27 13:53
        回复
          导出的文件目录如下所示,剧情/言灵党看passage里的文件即可


          IP属地:上海5楼2024-04-27 13:55
          回复
            我个人使用的查看工具是vscode(单个文件其实txt就能打开),passage目录下的各种以twee结尾的文件(游戏使用twine开发,所以剧情段落都是twee文件),是伟大的汉化组对游戏段落进行拆分和替换之后的结果,所以每一个文件都是一个独立的,可以跳转的段落


            IP属地:上海6楼2024-04-27 14:01
            回复
              举例:在游戏中随处可见的方括号语法,其实就代表着段落的跳转,比如[[给罗宾买个新游戏机(£400 0:30)|Robin Console]], | 左侧是游戏内显示的选项名,| 右侧是要跳转到的段落,在这个汉化组替换版本中,| 右侧的Robin Console也代表着要查找的文件名是Robin Console.twee.


              IP属地:上海7楼2024-04-27 14:12
              回复
                点击「给罗宾买个新游戏机」后,游戏就会进入Robin Console这段剧情,从最下面的[[继续|Domus Street]]中可以看出来,买完游戏机后下一步是进入宅邸街(Domus Street)


                IP属地:上海8楼2024-04-27 14:17
                回复
                  方式三:源码仓库+汉化包对照
                  关于看剧情/查言灵的更详细的说明之后会提,现在先说一下查看游戏代码方式三:源码仓库+汉化包对照(其实直接用方式二导出的文件来中英对照好像更方便?),看源码仓库最大的好处是里面的文件分类很有条理(毕竟是游戏开发时的原样),不像前两种方式里段落那么零散,缺点的话就是比较麻烦?


                  IP属地:上海9楼2024-04-27 14:26
                  回复
                    源码仓库的地址在汉化仓库里有,剧情/言灵党关注game下的内容即可。


                    IP属地:上海10楼2024-04-27 14:28
                    回复
                      在game/overworld-town下有每个角色相关的special,这些不是角色的全剧情(比如学校上课,罗宾的地下剧情就在其他目录下),但应该能涵盖主要角色的大部分剧情。


                      IP属地:上海11楼2024-04-27 14:34
                      收起回复
                        源码仓库中的段落可以直接靠汉化包解压后的i18n.json进行中英对照,不过我一般是习惯把方式二中mod管理器导出内容和源码仓库一起看~


                        IP属地:上海12楼2024-04-27 14:40
                        回复
                          通过源码和i18n.json进行中英对照示例,注意源码里并不是一个段落一个单独的文件,而是一个文件中多个段落,这里的 :: Robin Console 就表示开启了一个段落。



                          IP属地:上海13楼2024-04-27 14:49
                          回复
                            关于"段落跳转"这个概念再多说一句,空白言灵里的$passage其实就是指的跳转到当前段落,也可以直接用言灵(我打的bccm模组,其他施法方式没用过)查看当前段落名,方式是直接在言灵里输入 $passage,效果如图:


                            IP属地:上海14楼2024-04-27 14:57
                            收起回复
                              剧情查看补充说明:
                              游戏代码的获取方式大概就是上面这些,下面再对剧情查看多做一点说明,首先是文本中可能引起疑惑的各种尖括号<<he>>, <<His>>等等,这种其实是widget小部件函数,如果想确认当前语境下的具体文本,可以全局搜索<<widget "he (就这样搜索左半边即可,因为后面可能有其他参数),然后就可以找到对应结果,这里为了方便用的是汉化替换后的文本,源码仓库里也是一样的


                              IP属地:上海15楼2024-04-27 15:18
                              回复