好久不见,我还活着。

经过了快一年的咕咕咕,终于是写完了这本指南的第一部分——基础部分,进入到了第一个正式版本0.1.0!

这本指南旨在通过简单易懂的例子与介绍让0基础的人也能学习开发Mod(至少能摸到门槛了),同时也为那些想要更加精通Ren'Py或想要为自己的Mod添加更多功能的开发者提供了一条提升技术的道路。目前基础部分已经足够支持一个小型Mod的开发。

目前,基础部分内容包括:

  • 基础的对话、图像、音乐控制;
  • 流程控制;
  • Python基础教学;
  • 增加Mod资源;
  • 使用特殊效果、脚本(如二周目控制台、乱码文本等);
  • 分发模组。

后面还有第二部分——进阶部分,内容包含以下:

  • GUI自定义;
  • 编写新的界面;
  • Python 内置函数与第三方库使用;
  • 多语言支持;
  • Android 移植;
  • Ren'Py黑魔法/魔改Ren'Py。

但是还没写完,所以不给看!而且这些内容又够我咕咕咕好久了

总之,有什么建议或者有什么问题都可以来找我哦(((

下载连接:

https://wwyc.lanzouq.com/b02fb2saj 密码:ddlc

Github地址:

https://github.com/DanilJeston/DDLC-Chinese-Modding-Guide


考虑到由于大部分读者网络的特殊性,您可以在此处下载第一、二章所需要的大部分文件:

https://www.123912.com/s/q3FKjv-kri03

基于 CC BY-NC-SA 4.0 分发指南。

打赏

  • 100 分 来自: 俩fish
    评论: good job!
  • 20 分 来自: 8天67t9
    评论: 好久不见
  • 66 分 来自: 苏半夏
  • 66 分 来自: 8天67t9
    评论: 主播主播我能喊你ppt吗(x)
  • 5 分 来自: -Just Monika-
    评论: 大佬菜菜带带.jpg
  • 666 分 来自: sayuri
    评论: 我喜欢你

    快来注册!

    *即使不注册, DCC也会展示所有知识性和分享内容

    #1 PartyParrot 更新一下renpy版本推荐吧,现在R7已经更新到7.8.4了

    或者干脆让所有人都去用R8,就不用赤py2这一坨大的了

    以及RenPy自7.6加入了对FLAC的支持,自7.7加入了对AV1的支持,这些在文档里好像都没写()

    可以再加一句webp支持,这样大家想压缩体积的话知道从哪下手

    进阶教学要不要加个高分辨率(比如1080p)的教程,相关MPT和背景我这儿可以提供

    还还还有一件事,分发游戏直接用模版那个方式分发是的话在新版RenPy会出大问题,极易漏掉某些文件,原因未知,所以在此附上我自己在用的打包策略作为参考

      #1 PartyParrot 突然想起来,新版RenPy7(7.4.11+)直接使用模版的话会有个很严重的恶性bug,在使用涉及到screenshot_srf函数的效果时会导致你的游戏每次保存时都会爆炸,报错很长就不发了,直接发一下我从R8模版拿过来的解决方案(实际上是我自己魔改的effects.rpy)

      https://pan.baidu.com/s/1f19_V1fpcjNXKMSq10Rw3A?pwd=ddlc

      此处再附上使用2.0模版时去除版本兼容性警告的方法(好久没更新的模版lockdown_check简直私募了,能用的玩意也会让他变得不能用)

      是对的,不是错的
      是好的,不是坏的

      #1 PartyParrot

      关于电脑是中文用户名导致无法存档的解决方案

      这个要不加一下吧,毕竟现在也有不少小白给自己电脑用户名写中文了

      顺带提醒一下,7.4.11+的RenPy会自动在game/saves里备份存档,要删档的话记得把这个文件夹也删了

      #1 PartyParrot renpy7.4.5无论什么打包方法,生成分发版后都无法正常打开游戏,只有renpy6.99.12没有这个问题。😢

        #2 8天67t9 关于 Ren'Py 版本,由于目前中文模板已经2年未更新,最后支持版本为7.6.1。我没有在更高版本的SDK上尝试运行过,所以暂时不知道会不会有兼容性问题,而且不知道以后的Ren'Py SDK 是否会存在破坏性修修改,在基础部分SDK我依然会推荐Ren'Py 7.6.1。

        关于Ren'Py 8 与 Ren'Py 7.8,我打算在进阶篇写一篇切换到Future分支的教程与解禁兼容性警告的教程。

        FLAC与webp在编写时Ren'Py文档未更新,现在看了一下确实已经支持了,已更新。

        screenshot_srf问题我目前我测试了二十三十多次只有两次出现问题,无法稳定复现,等我看看是什么原因导致能不能把修改最小化。

        中文目录经过测试已经可以使用,虽然这个时候只有game/saves下的persistent文件可以使用,但也能正常运行,persistent文件能够正常保存、存档读档正常。

          #6 TTKl 该问题无法复现。经测试,Ren'Py 7 与 Ren'Py 8 生成分发版后按照正确方式安装模组能够打开游戏。

          请注意,Ren'Py 7、Ren'Py 8安装模组的方式应将模组的游戏目录直接覆盖原版DDLC,且不要打开原版DDLC的可执行文件(即DDLC.exe、DDLC.sh等),而应打开模组的可执行文件(即以模组名字命名的文件,如JustMonika.exe)

            #7 PartyParrot R8模版那边有修改方案(实际上就是我之前发的那份),可以参考一下,我之前和另一个renpy技术讨论的结果是新版renpy尝试保持screenshot截的图时发现大小超限了(我的mod使用的1080p分辨率,几乎是100%复现这个bug),然后就会报错

            我目前使用7.7.3运行2.0模版,除了高分下的保存问题外没遇到什么问题了,还有就是windows11 24h2下bsod工作不正常,会报错,内容忘了,有空我试试复现

            还有就是game/saves这个目录容易导致一个恶性bug:在使用renpy sdk启动工程时会保存你的存档到sdk内一个名为game的文件夹,然后又因为那文件夹里的persistent之类的东西干扰了sdk启动流程导致sdk彻底无法启动,报错找不到label start,这个bug从6.99-7.8.4均可复现,所以我觉得尽量别把目录改到这儿比较好,这只是一个renpy的备份目录,本来就不应该被使用的

              #7 PartyParrot 还有一点:RenPy7.7开始RAPT使用jdk21进行Android打包了

              这是好文明,比7.6-那帮jdk8老登好多了

              #8 PartyParrot 我将分发好的mod文件解压后,复制到了原版DDLC里,然后点击了renpy图标的JustMonika.exe然而游戏变成了原版DDLC…😢😢

                #12 TTKl 按理来说,模组除非代码设定无论如何都不应该出发这个界面,似乎是scripts.rpa文件没有正确被覆盖。您是使用什么Ren'Py版本构建的发行版,能提供一下您生成的发行版吗?我尝试在本地复现问题看看是什么原因。

                #9 8天67t9 这个错误原因与我在本地复现原因似乎不同,我这边报错提示的是Surface类(就是screenshot_srf返回的那个对象)无法序列化(no default reduce due to non-trivial cinit(perhaps renpy.game.log.log[12].objects[1][0].srf=<Surface(1280x720)>))导致无法保存,似乎是因为在控制台调用screenshot_srf时会将Surface类记录到renpy.game.log.log里,这个对象控制回滚记录,会随着存档保存而保存。但是脚本生成tear就不会在renpy.game.log.log里记录,似乎脚本不会出现报错?

                总之这个问题我记下了,我看看怎么针对不同的问题解决报错。

                BSOD我在Windows 11 24H2 26100, Ren'Py 7.6.1 上无法复现该问题。

                  #14 PartyParrot 我当时也是报错这个,但是和那人讨论一通得出来的原因是大小超限了(Man!)

                  无人输入