从零开始的视觉小说实战制作教程(基于视觉小说转换器)
本教程面向的是完全不了解游戏制作和编程,但对此有兴趣的创作者,使用的是由应援团技术组开发的辅助工具“视觉小说转换器”,依附于Renpy引擎。教程作者是视觉小说转换器的使用者@小队军医,军医酱没有编程基础和游戏制作基础,在使用这一工具开发自己游戏的过程中,编写了这一教程。所以本教程是十分适合新手阅读的,提供了近乎手把手的制作指导~
在此感谢军医酱的用心编写,也希望大家能够用本工具顺利地开发自己的游戏!
本工具的视频教程,内容相对更加简单,不如本实战教程全面:


Renpy是一款非常适合新手入门的视觉小说制作软件,多年来一直以低廉的学习成本和强大的产品功能而备受业余游戏制作爱好者的喜爱。但是作为一款以python为基的游戏引擎,对于完全不懂编程的计算机小白来说,这种程度的门槛依然是很难渡过的一关。
不过只要思想不滑坡,办法总比困难多。今天我们介绍的就是由“@凉宫春日应援团”的优秀程序猿为广大小白们开发的一款renpy辅助程序和配套表格,只需填表就可以轻松制作属于自己的视觉小说。
这不仅是小白的福音,其他Renpy制作者也可以从大量重复枯燥的编程操作中解放出来,全身心沉浸于故事的编写制作中。可惜程序发布以来,我们一直缺乏相关的教程和实例样本。笔者作为程序发布以来就开始使用的小白,非常清楚新手在使用这套软件时容易犯下的错误。在软件发布一周年之际,笔者很荣幸地和工具的制作方@凉宫春日应援团取得了合作共识,为官方的新版教程提供新手实战案例。下面我们就来根据本人的实战,手把手地带领大家学习中等复杂程度的视觉小说的制作。

教程1 软件的下载与安装
通过百度网盘下载该软件(链接若挂可查看评论区补档):
链接:https://pan.baidu.com/s/1S8aBGy33aecK-MZDrzKs5w
提取码:sosg

这四个文件分别为表格转换程序,Renpy安装包本身,还有实例表格和官方说明书,他们都是很重要的文件,请下载到安全合适的位置。
下载下来之后我们首先解压Renpy的安装包,把软件安装到硬盘空间足够大,你找起来足够方便的地方。譬如我是直接放在了D盘中,注意另外三个文件不要和Renpy放在一起,由于文件本身不大,可以随便放到容易找的位置,比如桌面或者工作文件夹(日后我们要无数次地点击进去,你不想每次都要打开好几个文件夹吧?),我就直接扔到桌面上的一个文件夹了,如图所示。

下面分别介绍一下我这个文件夹里的内容,首先就是我们的表格转换器软件,上面的图标就是sos团的logo——用来在填表之后生成Renpy可识别的文件。第二个就是Renpy程序的快捷方式,方便秒进软件本体,下面的三个rpy文件就都是程序生成的文档文件,是我们工作用到的东西,我们之后会生成并用到。再下面的是我现在正在填写的剧本,它其实是官方实例表格在清空示例内容后留下的部分,这样比你自己整一个新表格省事得多。但是别忘了备份一个官方实例的副本哦!当你碰到了不清楚的地方可以立刻打开参考一下。
OK,不过我们暂时还用不上这些东西,我们首要目标是先把Renpy软件的本体收拾利索。在安装完成之后我们就可以打开可执行程序进入软件了,第一次打开的界面应该是这样——

无视左边的头两个项目,那是我自己的。后面的两个是Renpy的官方教程,全英文的也暂时可以不用看,跟着我来玩就行了
看到右二的那个preference了没?就是退出边上的那个,点进去,就是Renpy的设置界面。

设置好语言之后,你看到的应该是这样

看上去字体似乎和你们的不一样对不对?那是因为我的是最新版,马上教你升级。
把视线移到屏幕的右下角,看到设置边上的更新了没?点进去安装最新的Renpy吧!当然其实不更新也能用,但是更新了我们才可以用Renpy的最新功能,譬如live2D之类的,虽然对小白来说,暂时应该用不到233,但推荐更新。

看到警告了嘛?咱不是开发者,别玩花里胡哨的了,选发布版就行了。
当然,即使你不打算更新,也先别着急出去,我们还得设置一下其他东西。
看到左边的那个工程目录了没?这就是你游戏项目文件生成的位置。如果你不想费事的话,你最还是扔到好找的地方。硬盘空间一定要够哦!别到时候硬盘炸了前功尽弃。
下载安装或许需要一定时间,不过这些都值得。如果你已经成功安装好了这一切,那么恭喜你。下面我们就要测试性地学习一下我们工具的强大功能,不过在此之前,我们应该先创建一个自己的项目。
教程2 创建你的第一个工程
世上无难事,只要肯放弃……不好意思串味了,但又没有完全串味——因为这是我们另一个写中级Renpy新手教程的大大的习惯开场语。在学习了本教程之后,还想进一步提升B格的不妨移步知乎@被诅咒的章鱼的专题文章。

OK现在来开始我们自己的正事吧!相信看过上一篇的小伙伴们应该已经成功地安装好需要的软件了,那么我们废话少说,直接开始我们自己的梦想——从创建第一个项目开始。

首先按照提示一步步操作,不过要记住——进入创建的对话框前就要设置好你的语言为简体中文,因为你项目的默认语言是根据renpy的系统语言来匹配的。而在给项目起名的时候你会看到下面的提示:

不过也不用担心,之后我们不但可以改名,也可以把它改成中文。不过这类事情建议放到开发后期再搞,不然容易乱套。为了方便,我们就给这个项目起名叫test吧!
而接下来就是一个容易出麻烦的地方了——我们要给游戏设置默认分辨率——

我们可以看到三个默认分辨率和自定义,我们一般都选择1280*720或者1920*1080(如果你有高清的图片的话),记住你的选择,因为之后,我们所有的背景图片文件都要设置成此分辨率才能正常使用。切莫乱选哦!

接下来是默认ui的设置了,这边你随便选一个凑合的就行。关于ui的优化我们之后会改,也可以完全自定义一份专属ui,对于新手用默认的其实也挺好,功能完备。
这样继续,我们的第一个项目就创建完成了,你会注意到你设置的工作目录里多了一个叫test的文件夹,不过最重要的是Renpy里多了一个新的工程,也就是这样——

右边的菜单也可以快捷进入各个项目
我们不妨点击game打开看看——

么——这就是你的游戏的根目录了,看上去很熟悉对不对?在后面的日子里,我们将不断进入这个文件,我们不妨来看看我这个开发了一半的项目的样子——

对比一下可以看到,我在根目录里还放了字体,日志,和renpy的快捷方式,其中字体是游戏必要的东西(当然你不加,用默认的也行),其他就是怎么方便怎么来,不过当你发布游戏的时候最好把乱七八糟的东西都删掉,毕竟要节约一下文件大小嘛。
下面我们来介绍一下茛目鲤里几个主要文件的作用。
首先最上面的是几个文件夹,其中audio是放音频素材的,cache是程序员专属咱们不用动,image是放图片素材,save放存档。至于tl?我也不知道是干啥的先放着吧,我们也用不上这个。其中audio和image是我们的老熟人,其中audio不允许创建二级子目录,你只好把所有音频都一股脑扔进去——所以一定要命好名——而image则可以创建一堆子文件夹,方便你给图片分类管理。这些文件都是我们的老熟人,一定要整理好再放进去哦!
各位应该也注意到了几个特殊的文件,以rpy和rpyc为扩展名的文件——他们其实就是我们游戏的脚本,其中rpy是人能看懂的代码,而rpyc是renpy在启动工程时自动根据rpy编译的,rpyc不用管,而这几个rpy却是我们要经常打交道的东西。所以——先把script给删掉吧。因为我们的生成器,本质上其实就是生成的script的辅助工具。
现在,我们就可以回到renpy,点击启动工程,你就惊喜地看到一个正经的游戏开始菜单出现在了你的眼前——

各种设置应有尽有,虽然——你点击开始游戏的时候什么都不会出来,因为你还没有写脚本呀!而脚本,才是我们工具的核心,在下面一期里,我们将把目光投向我们的桌面,那个空白的表格,就是接下来的一切。
教程3 表格的填写
OK一秒不见,甚是想念——那么在我们的上一期中我们创建了我们自己的test工程,那么接下来就是我们表格的主场了。还记得你把表格放在了什么地方吧?我们先来打开,熟悉一下东西的格式——

我们的工作就是填表,一份填好的表格会长这样——

wow,还是把界面切成你的空表吧。在开始填剧本之前,我们先来说一遍各个地方的格式——你记不住,我知道,反正我们后面还会手把手地教。先来熟悉一下总没有坏处——
第一列,写角色名称。——这里需要重点强调一下,由于未知的原因,我这个表格的填写格式和官方的似乎有很大不同——譬如说我这里,这一栏可以随便写,不写就是旁白。而如果一个角色连着说了好多话,我也得在每行的前面都写上名称,不然就变成旁白了。但是在官方那里,情况完全相反——他们是旁白必须单独声明,而角色却不用。也就是说,如果一个人说了好几段话,你只需要在第一句前面填名字就行了——好怪唉——如果你出现了问题,不妨两种格式都先试试——这一列的默认字体是黑体。
第二列,台词。是工作的大头,具体怎么编剧我教不了你,反正你就写就行了。新版本的表格不用专门加引号,正常码字就行,参照我的就可以。
第三列,背景音乐,填写你放在audio里的音乐文件名,不用加.mp3这样的扩展名,正常就行。音乐在不切换的时候会一直持续下去,直到换新音乐的时候才会切换。如果你真的想在某一段停止音乐,你可以整一个无声的音频文件来糊弄一下。
第四列,重灾区,立绘。到时候我们细讲,这里先简单说一下格式——这里填放在image里的角色立绘名,同样不用加扩展名,但是!一定要在文件名之后空一格!!!不管文件是不是空格结尾,都要多空一格!不然不识别,之后填位置,left,right或者mid。多人立绘的时候,正常连续写两次,只不过中间要用英文分号分隔,例如——

而且立绘的大小一定要根据你设置的分辨率和图片本身来调节,不然人物就会过大或者过小。ps的时候来了。这玩意因图片而异,只能摸索几次得到合适的大小。譬如我的工程,我摸索的人物米娅立绘应该是650*1261,但是其他角色就得换成别的大小。
第五列,换页。是nvl模式才用的东西,输入换页就翻一页,我们到nvl的时候再讲。
第六列,背景。放背景图,也是把图片扔到image文件夹里,同样不用扩展名。但注意图片分辨率一定要和你之前设置的相等,不然就会出血或者出现空白。
第七列,备注,空着就行。你随便写点什么也可以。
第八列,模式。有adv和nvl两种模式,第一种是galgame常用的,画面较多,像这样

而nvl则适合长篇的文字,像这样——

不同模式没有优劣之分,根据你的需要随意切换。而注意第一行一定要先选好你的模式,填入表中即可。
第九列,音效。提供各种短音频,比如枪声啦,脚步声啦什么的,文件也放在audio里,也是不用扩展名。这玩意默认只播一次。
第十列,转场——各个场景的切换是需要转场的,不然就会很突兀。我们在官方说明里可以找到很多常用的效果,把你需要的填入里面就行了。该效果会应用在自己这一行的内容。建议在人物立绘或者背景图片切换的时候都用点效果,看上去舒服一点。
第十一列,特殊效果,很容易和转场混。其实这行没有用,也是一种备注。
第十二列,语音,如果你很厉害还给你的游戏配了音,就把语音也扔到audio里,同时在这里写上需要的文件名。注意这次需要加格式了!
第十三列,分支。我们在分支的时候再讲。,不过先说一下用法——就是在左边的台词栏里填写你的分支选项,右边什么都不写只在分支栏里写该选项要跳转的分支表格名(就是默认表格生成的三个子表格,我开始叫你删了的,但你也可以不删)。
ok你一定全忘了,没事我们到时候手把手带一个项目,躬行一次之后就啥都记住了!所以你先胡乱填一个表等着报错,我们来看看接下来要干什么。
打开那个sos团logo的程序(有时候杀毒软件会警告,虽然,吾亦往也)

预览里面找到你写的表格,然后点可爱的春日就行了!
OK现在我们发现在这个文件夹的目录里已经多出了一个叫“start.rpy”的文件了 这个就是可以被Renpy识别的脚本(你甚至可以用txt打开学习一下真正的文件应该怎么写),我们复制粘贴到你的games根目录里,再用Renpy来运行一下,你就会欣喜的发现——你的游戏被成功打开了——当然这是在你没有报错的前提下。
在下一篇里我们将见识一下常见的报错以及对应的解决措施,这些错误八成和你的填表格式错误有关。
教程4 常见的报错和解决办法
OK我相信看到这里的各位一定都已经迫不及待地尝试去制作属于你自己的游戏了——如果不是那种打算先看完再动手的谨慎型性格的话,那么你们打开这篇就一定是因为你们碰到的报错!没错!万恶之源全都是你输入了错误的格式,而少部分报错则是软件原有的一些bug或者诸如此类的什么事情(不过这类bug在我们一年来的发展过程中已经大大减少了,剩下我发现的几个也会一并在这里说明)。不管怎么样,我们先来认识一下几个著名的报错吧!我相信你们可能碰到了这个——

没错,要么是背景一片灰,要么人物只有个奇怪的系统剪影。这些都是因为你在填表的时候输入了错误的格式——或者你没把图片按照正确的格式和分辨率放到image文件夹里。记住——我们图片不是什么格式都可以的!请一律设置成png或者jpg文件并且对应好分辨率。而且在填表的时候你最好使用复制粘贴来写名,不然很容易因为你的打字错误而搞得很奇怪。命名也别搞得太复杂,要有系统,也别就会纯数字!那样哪块出问题了都不好找!
好了这时候也一定有小伙伴说,你这个错误好歹还是能进游戏的……可是我连游戏本体都进不去呀!唔……,那一定是你的rpy文件出了什么毛病。我想你的报错应该都长这样——

OK那么也不要慌,其实这玩意还是你填表的时候出了点毛病。注意这个窗口其实就已经把出问题的行给列出来了。查看第一个报错的地方——它对应着rpy文件里的行数,你就会发现哦原来是我填音乐名称的时候少打了个字(我不是告诉你要复制粘贴么!),然后相应地修改就ok了。就和编程一样,一个一个的清除bug,我想这种程序的bug肯定不能和真正的程序员才能写出来的屎山相提并论吧?
当然我们还可能碰到看上去并没有什么表现的bug,譬如说我明明在这里加了某某特效,但是就是没有出来……额,这方面大概率还是你填表写错了,譬如振动写成了震动呀。查看的最简单的方式就是打开编译出来的rpy文件,找到对应的位置,你要是没有发现对应特效的代码,那就是这东西没有被编译出来。回去查看一下就可以了。
哦对了,目前我已知的一个问题是在分支那里的,根据我的情况,如果在分支栏目里写完之后下面什么都不写,这个分支就不会被编译。解决措施是在下面几行随便写点什么东西,或者在编译之后手动补充分支的代码。这个我们稍后会在实例里面看到我的解决方案。
在下一篇里我们将根据我的游戏实例来看看我是怎么做的,毕竟这是经验之谈。科学合理的安排开发才是成功的基础。
教程5 实例的技巧
OK,这边是我们现学现卖的Renpy教程的第五期,也就是我们的实战篇。
正像老话说的实践出真知,即使理论上掰扯了那么多,所有的问题其实都得实干的时候才能发现。那么我们这一期就通过一个实例的创建来用文字直播一个简单Renpy的创作过程吧——
首先我们要按照第一二期的流程创建好我们的第一个项目,详细过程我们已经讲过了不必再谈,这一期里我们重点通过实战讲授在使用工具创建项目时需要注意的常见问题和实用技巧。或许前人走过的路比你自己从头开山要容易得多。
OK那我们现在已经打开一份准备好的空表格了,跃跃欲试,肚子里的剧本已经像喷发的熔岩一样呼之欲出,不过在激动之前,我想大家最好都先冷静地为你的表格填好第一行,——也就像这样:

根据规则,旁白放到角色栏里会自动被识别为普通的旁白(应该没人会特意起一个叫旁白的角色吧233),而“话”里就正常填写剧本的内容,这个应该没人会忘。一个好的游戏,bgm可是不可或缺的一环,所以别忘了开头就填好你需要的音乐,注意其实可以不用加.mp3之类的扩展名。而立绘和背景呢?如果你的开场跟我一样,是黑色背景不需要人物的纯旁白,那么就不需要填写,即使是nvl模式的话也是一样。而说到模式,一定别忘了在模式里面第一行写好你的模式。最后我们最好在转场里填一个开局的溶解之类的效果,这样不至于突兀地就进入了开局。

而接下来如果你的旁白还有好几句的话,没必要再在前面写旁白俩字了,空着就行,这样系统以后就会自动把前面空着的话都算旁白(根据开发者的想法,似乎应该是,如果说话的人空着,台词就一直交给上一个说话的人。但在我这里一旦空着就自己变成旁白了,角色的话必须在前面都写上名字,即使是连续的台词。)

好了,可恶的开场终于过去,我们需要引入角色和背景了。那么就按照规则说的那样,在角色栏里填好角色,系统在全局都会记住你的角色名。注意现在的版本有时会产生字体bug,所以尽量都用标准的名字进行命名,否则容易变成乱码。
注意这里进行了一次bgm的切换,默认的效果自带了0.5s的淡入淡出,所以一般不需要变更。而背景第一次被引入到了游戏,这是一张cg背景图,为了方便我命名为了forest。同时要注意的是每次变换背景的时候都应该加一个转场效果,否则会变换的很突兀。
可以看到接下来的几行依然是旁白,所以我没有再在角色栏里写东西。

这边我们有时候需要让场上陷入黑幕,通常用在人物回忆或者大点的转场中用到。这时候你就可以创建一个黑色的图片(别忘了大小分辨率要和你的设置一致!)来当作背景图。配合褪色转场可以有效的展现这个效果。你也可以换成其他的方式合理利用你的ps技术。

这里我们第一次使用了立绘,按照标准格式和之前说过的复制粘贴法即可。记住一定要粘贴之后加空格再加位置!同样,在角色登场或者改变表情的时候也应该加入转场,溶解一般是在变换表情时最常用的特效。

注意我们这里第一次使用了音效。和背景音乐一样,音效不需要加扩展名。复制粘贴文件名即可,默认音效只播放一次。

这边就是一个大转场的实例,利用黑色的背景图片实现了长时间的黑幕,配合褪色效果,我们可以很轻松的完成幕与幕的转换。
这边我们简单使用了角色,台词,立绘,背景,音乐音效和简单的转场技巧,随着人物的增多和情节的复杂,我们会需要更多的技巧和实例。在下一篇中我们即将接触到这些内容。不过本篇的东西要伴随我们全程,请大家一定要牢记这些技巧。我们的大部分时间都要消耗在这件事上了。
教程6 路线和分支
对于一款真正意义上的视觉小说来说,和玩家的互动是不可缺少的环节。其中最基础也最常见的就是选项了。这点看过互动视频的读者应该也能理解这种常见的交互手法。凉宫春日应援团的工具为我们提供了最基础的功能。
根据工具的标准说明,正确的填表方式应该是这样的——

按照说明,每个分支都要保存在一个主表格的分表格中,打开表格,光标移到下方,右键加号,我们就创建一个新的工作表了,就像这样——

默认命名都是顺序命名,我们最好根据章节来命名,当然,你认得清就行
然后我们就得到一个空的表格了——显然,空表格是不能被编译成有效的rpy文件的——那么我们就要复制一下第一个表的格式。复制有很多种办法,我最喜欢的是这样——

框选表头和第一行正文,不管你填没填东西一起选上,复制。然后什么都别做,直接转到新表格,在第一个单元格上粘贴——OK我们就把格式复制来了。然后我们只需要替换掉第一行的内容就可以了。
然后,我们再选好第一行的全部,像这样——

看到最右下角的那个小黑点了吗?按住,往下拖拽,第一行的格式就完美地往下复制了。最好一次性搞上几百行,反正也不占地方。这么做可以保留默认表格已经设置好的舒适格式,不然就会产生各种视觉障碍——比如重叠什么的。虽然这不影响编译,但是确实看起来很不舒服,还容易出错。
那么接下来的工作就和前面的没有本质上的不同了,好好编写你的剧本,在下一篇,我们将真正接触几个涉及判定的高级跳转,这对一个设置多支线交叉的,有野心的作者来说,显然也是一个基础的必备功能。
教程7 多结局的判定
在上一期里我们首先用代码完成了多个支线的设置——显然,对于一个像样一点的视觉小说,多结局也是很重要的一个元素。虽然业内也不乏不涉及判定的线性流程游戏,但是涉及到判定的剧本也不在少数。下面我们就通过一个最精简的程序来学习(照抄)变量代码的编写。
(本代码为垃圾代码,专门给不会用python的小白使用,大佬轻喷)
真正的游戏,涉及判定的代码都是散乱的放在了需要的地方的,所以我们这次直接把核心的部分放出来,显然,学过上次的同学自然就会利用lable和jump插入你需要的东西——这次我们来实现这么一个功能,如果玩家对三个问题都回答了“会”,就跳转到一个结局,其他情况是另外的结局:
menu:
"【会】":
jump part1_q1_1
"【不会】":
jump part1_q1_2
label part1_q1_1:
$ q1 = 1
jump part1_q2
label part1_q1_2:
$ q1 = 0
jump part1_q2
label part1_q2:
menu:
"【会】":
jump part1_q2_1
"【不会】":
jump part1_q2_2
label part1_q2_1:
$ q2 = 1
jump part1_q3
label part1_q2_2:
$ q2 = 0
jump part1_q3
label part1_q3:
menu:
"【会】":
jump part1_q3_1
"【不会】":
jump part1_q3_2
label part1_q3_1:
$ q3 = 1
jump part1_q4
label part1_q3_2:
$ q3 = 0
jump part1_q4
label part1_q4:
if (q1 + q2 + q3 == 3):
jump part1_q4_self1
else :
jump part1_q2
注意我们标红加粗的部分,这些就是python代码或者它们的衍生物。实现多结局的这个判定十分容易,我们只是在不同的支线开始之前就给它定义好了一个数值,最后通过对这些数值进行运算就可以得到一个结果了,再根据结果确定结局——运算当然可以不仅仅是加法,不过加法确实是最简单的运算方式了。
虽然Renpy引擎基于python,其实建立视觉小说主体的时候,我们并不需要用python的语句,那玩意是给高阶的手子整活用的,譬如在里面整一个卡牌游戏之类的233——我们只要逢山开路,遇水架桥,现学现卖即可。想必稍微了解一点程序的应该都能看得懂这些句子,我们在此只是来强调一下经常被遗忘的格式问题——

首先是编辑器的问题。还记得Renpy目录里面的编辑功能吗?由于python非常强调层次,同一个级别的代码必须前面空一样的空格。用系统的记事本编程就非常容易出岔子,所以强烈建议使用Renpy推荐的编辑器进行处理。
下面我们来介绍一些常见的问题——
$符号是用来表示这玩意后面的东西不是剧本而是代码的标志。你要是忘了,系统就会报错。
当然,如果格式正确,系统也会自动识别if之类的python语句。如果放到编辑器里,我们可以看到这些东西会变成橙色。如果没有识别就都是灰色的,这也是我推荐使用编辑器进行编写的原因之一。

即使你不打算在某个支线设置变量,你也有把相应的变量设置为0或者你需要的任何数,否则系统在最后运算时没有发现对应的变量名就会进行报错——计算机可是很死板的,它们才没有什么灵活的变通。
在掌握了基础的手法后不妨带入到你的作品中进行相应的变换——编程之前最好先写好一个流程图帮你捋顺思路——譬如说,我是先想好了我游戏的隐藏结局触发方式为“在得到一般结局的基础上,根据米娅救人的数量来判断触发后续结局”,再去编程,这样会更容易一些。
事实上基础的部分我们已经讲的差不多了,假以时日,凭借这些东西我们已经可以完成一个至少有个样子的拙劣作品——如果我们想让我们的东西不那么拙劣,那么我们就有必要看看下一篇了。
教程8 装修和打粉
当我们完成了最后的剧本,生成了可以正常运行的可执行rpy后,我们游戏的核心内容也就算结束了。不过当你打开工程,看到依然是初始默认的ui界面的时候,估计绝大多数人都会产生很low的感觉——所以在本节,我们就来讲一些最简单的ui优化。

那么拿过你的菜单栏,你首先会感觉哪里最不舒服呢?
没错!就是这个灰不拉几的背景!占了那么大一块地方却不干人事,真是岂有此理!所以对于最迫切地想改善界面的大家,最先做的,最好就是找一个合适的背景图了。这个图片可以是立绘,cg,或者精心准备的专属壁纸——总之,我们先来看看怎么改变主菜单吧!
首先回到我们见过无数次的根目录里,还记得第一期就讲过的那几个rpy文件吗?我们这期就要跟这几个默认的家伙打打交道了。
首先打开命名为gui的文件,在默认生成的文件中找到下面的内容——

稍微懂一点英文的应该也能看出来这话的意思,各位要做的只是复制粘贴就可以了。然后在gui文件夹里添加上你想要的背景图片,目录变成你想要的样子了。注意哦,图片还得是你设置的大小,不然会变形哦!

OK下面来看看另一些东西——大家应该都知道,主菜单最好也要有一点背景音乐什么的,那么这又改如何设置呢?
同样十分简单,我们要跳出这个文件。打开options,同样在文件里找到这么一个地方,然后按照我这样替换你的语句就可以了。

如果大家稍微认真一点的话,也会对游戏默认的字体很不满意。那么如何自定义字体呢?这边就又回到我们的gui文件里了。和刚才一样,找到字体的位置,就在这——

还是和刚才一样,照这样输入,自己改改,就可以把字体改成你喜欢的样子了。注意字体文件要放到根目录里,不然系统可找不到哦!
像这样改过之后,游戏里就是这样子的了——

其实明白人都看出来了,很多东西,系统自带的文件里讲了是干什么的了。我们完全可以按照文件的提示进行自定义修改。所以这类的事情,我们就不管了——我们现在来看看一些系统不讲的东西——比如,设置一个开场logo的展示。
开场不弹logo的游戏才不是完整的游戏呢!谁不想要这样的效果呢?

这块的代码就要自己加上了。为了实现这个功能,我们需要自己在根目录里自建一个rpy文件——右键生成一个txt文本文档,把下面的东西复制粘贴进去,就OK了,代码是这样。
label splashscreen:
show logo at truecenter with Dissolve(1.0)
pause 2.0
hide logo with Dissolve(2.0)
还记得我们最开始要删掉的那个rpy文件吗?它的名字叫script,是在游戏最开始运行的程序——所以我们就把我们的这个文件命名成script,记得把根目录修改成rpy哦!就可以瞒天过海,鱼目混珠了。而logo文件呢——其实也是一个和分辨率一样大小的图片,放到image里就可以了。看上去也像那么一回事,是吧,嘿嘿。低水平也就只能这么整活啦,你同样可以把从什么地方学来的其他花里胡哨的东西放到里面,糊弄糊弄啦。
如果是生成安卓的,大约应该很在乎游戏的图标。默认的图标就是renpy的logo,看上去很有误导性。我们如果有自己的图标的话,还是希望看起来像自己的东西。但是图标和其他图片不同——首先,图标不放在根目录或者image里,而是在根目录的上一级,也就是这里——

图标由两部分文件组成,一个前置的logo,一个后置的背景。对于制作力不强的诸位,其实根本无所谓前后背景。但是格式上是必须两个都要有的。所以前头的文件我们就用ps随便做成一个透明的图凑合一下,后面的就用我们自己的文件就行——注意,这两个文件的大小都不同寻常,都是423*423的正方形,不许别的大小哦!
至于最后,就是我们的分发环节了。renpy在windows系统可以生成pc版和安卓版,对于需要看我这个攻略的各位来说,应该不需要什么密钥之类的玩意。我们只需要点进各个选项,按需求生成就行了。发给客户的应该是生成的包体,你的工程文件可不行哦!


那么,我们的旅途也就告一段落了。但是游戏才刚刚开始,大家会构建出什么样的世界呢?或许,下一个神作,就会在你们的脑子里产生一个最初的萌芽哦!我是军医,我们,有缘再见!