分享发现 游戏剧本教程——剧本的草稿

anletian · 2020年07月04日 · 最后由 西瓜啦啦 回复于 2020年07月15日 · 100 次阅读

申明:

本篇教程仅仅代表个人一种提倡性的观点,不代表任何权威,更作抛砖引玉之用。

正文:

以叙述故事为主的文字游戏,其剧本的重要性是不言而喻的。但是大多数人对游戏剧本的写法不是很了解,甚至大多数人都把游戏剧本当作小说来写。虽然从某种层面上来说,小说和剧本是有相通之处,但是在某些方面上又存在的差异。正是这些细小的差异让剧本表现力显得与小说有所不同。玩家在玩一款游戏与在读一本小说的时候,感受是完全不同的。那么这两者的区别何在呢? 我们不妨把“游戏剧本”拆成两个词来理解:

  • “游戏”“剧本”
    游戏可以理解为:能让体验者(玩家)参与其中,让体验者(玩家)在一定程度上感觉到自己是主导。
    剧本可以理解为:以代言体方式为主,表现故事情节的文学样式。通俗点说,通过人物活动与对话来推进剧情的一种文学形式。
    当这两个词结合时,我们可以理解为:一个能让玩家参与其中并以人物活动与对话推进剧情的一种文学形式。

本篇暂时不讨论剧情内容如何构思,我们先讲注意力集中在最基础的问题上:
剧本的格式该怎么写?
说到格式,可能大家会误以为是我在说一些程序性的东西是怎么实现,但是我说的并不是程序怎么写。程序在以游戏性不强的文字游戏中,并不是太重要。甚至在橙光等一些分化相当完善的编辑框架下,已经几乎没有操作空间了。所以我在这里说到的格式,是:
一种剧本草稿上的格式,这种格式能够加强你制作游戏的表现力。

也许大家没有打草稿的习惯,都是直接在编辑器上写了保存就完事。我不是很推荐这样做,有时候忘了保存而退出,可能带来的是一种难以言喻的惨痛感。如果想要有条理的完成一部作品,我推荐用流程图+剧本草稿的形式来作为草稿,最后再慢慢写入游戏编辑框架中。多增加一个小小的流程,可能给你的作品带来的是一个质的飞跃。

  • 由于蝶梦当前的游戏编辑器缘故,我们在使用背景立绘等一些表达方面有些不便,所以我们更多的是以文字来阐述(如逆天巨佬,请无视我这段),偶尔在一些地方使用配图。你所能够调动的资源(指:立绘、背景、音乐等),决定了你的格式的复杂程度。
  • 不过立绘在当前框架下仅仅只能和背景一样,最多只是在某个段落显示一次比较合适。从蝶梦的编辑逻辑来看,每次显示都将图片地址以链接形式插入到某个段落上,当程序运行到这个段落时,图片才会显示。当程序运行到下一个段落时,图片将会消失。(如有不懂,可以参考教程来自己实验。这里暂时不开展示链接)
  • 关于一个短暂性的音效如何设置的问题,需要者可以自己进行实验。先前我曾经测试过单次音效,结果是可行的,但是副作用时可能会出现一些白框,也许有解决的办法,本篇就此忽略技术上的问题。

在我们正式说明格式样式之前,我们需要先有一个共同的认识:
故事的发生必然作用于某个固定的场景,在这个场景下,人物进行活动。

  • 虽然可以在同一个时间内,使A、B与C、D四个人,在不同场景内两两分别发生他们的故事,但是大多数为了避免叙述性的混乱。在叙事上还是有一定先后顺序。如果你要在两个场景内来回穿梭,那么请自我把握好条理。
    下面我们来看一段例子:
    {场景配图01}
    一个狂风大作之夜,一辆黑色轿车行驶于盘旋的无人山路上。
    {BGM 01}
    {等待:5秒 内容:……}
    {场景配图02}
    最终,这辆车在山腰处的一栋公馆前停了下来。司机走下车,预先撑开一把巨大的黑色雨伞后,拉开后座的门。
    {音效01}
    司机:“老板,我们到了。”
    那位被称为老板的显得有些苍老的中年男子从车内走了出来,用他深邃的眼神扫视着整个公馆,仿佛在看着一张激起他年少回忆的褪色照片。
    他陷入了沉默。
    {等待:5秒 内容:……}
    以上是一段示例性的草稿格式,为了避免与段落识别符号[]混淆,我在这里使用了{}符号加以区别,大家可以选择一个自己喜欢的符号把一些插入性的内容,尽量与显示出来展现给玩家的正文加以区别。虽然上面的标记很好理解,但是我还是稍微加以说明。
  • {BGM01}:表示你准备的第一段对应该场景的背景音乐,根据需要你可以在后文设置{BGM02}、{BGM03}等等。
  • {场景配图01}:如果你选择配图,那么这个表示就代表你对应这个场景的配图,根据需要你可以有{场景配图02}、{场景配图03}等等。
  • {音效01}:这里原为{开门音效-车门},但是我改成了{音效01},这个仅仅是为了好看点。
  • {等待:5秒 内容:……}:由于蝶梦编辑框架设置等待机制,对应{等待:5秒 内容:……},在程序上具体写法为:
    等:5 | ……
    为了照顾一些对程序还不熟悉的作者与一些习惯用右侧的按钮来设置等待的作者,故我写出了这种形式。
  • 以上方式就是剧本的一种格式,这种格式并不会被程序识别,但是可以让我们在脱离编辑器编写剧本时,对于我们要做的事情显得一目了然。但是这种格式不是绝对的,如同我在开头提到的,只是一种提倡性建议。根据个人的不同,格式样式也会有所不同,如果不配乐或者不配图的人则不会有{BGMxx}或者{场景配图xx}这些插入性的内容。(也许有人连等待也不设置?)

当我们遭遇分支时该怎么办呢?
这里就要用到我们说到的流程图,这里我个人推荐一个叫做processon的流程图网站,如果你们手上有更好的可以推荐给我。
还记得上学时物理里的串并联电阻吗?如果小说的故事结构类似与串联模式,那么带有分支选项的文字游戏就类似并联模式。为什么我说类似呢?因为大多数的文游是有不同的结局的,选项决定了结局的导向,不过也有一些不影响结局和后续剧情的分支。

  • 我们暂且把影响结局和后续故事走向的称为决定性分支,把不影响结局和后续故事走向的称为非决定性分支
  • 他们示意图如下:

  • 1.小说式结构(单线式):
    Markdown

  • 2.决定性分支结构:
    Markdown

  • 3.非决定性分支:
    Markdown

以上只是一种示例,让你更好的理清你的剧本思路。如果遇到在编写程序时需要设置[段落]时,我想大家也通过可以按照选项分支和事件来分段,减少不必要的[段落]设置,也是很有必要的。
分支的格式,一般上最好能贴近蝶梦的标准格式来写,如下方示例:

  • 非决定性分支:
A事件。
选:B1  
选:B2  
[B1]  
B1事件  
跳:C事件  
[B2]  
B1事件  
跳:C事件  
[C事件]  
……  
  • 决定性分支:
A事件。
选:B1
选:B2
[B1]
B1事件
跳:C1事件(结局)
[B2]
B2事件
跳:C2事件(结局)
[C1事件(结局)]
……
成功:
[C2事件(结局)]
……
成功:

虽然格式的样式不是固定的,按照个人习惯怎么舒服怎么来。但是在分支上最好还是贴近蝶梦的游戏编辑格式比较适合。这样在将剧本编入游戏的时候可以省去很多不必要的麻烦,当然对于新手来说,可能会有一些难度。
最后说一下关于if与数值设置。
数值与if语法的作用为:
让作者们能通过设定一定的数值,再根据数值进入特定的结局。

  • 这部分涉及到了一定的游戏编辑格式的基础,所以最好掌握了基础问题里的数值设置以及判断、隐藏按钮等基础逻辑后,才能好好理解这一部分。
  • 下面是一个对照例子:

Markdown

选:A1
>:MD.flag=1;
选:A2
>:MD.flag=2;
选:A3
>:MD.flag=3;

=:if(MD.flag==1)game_jumpto("B1事件");else if(MD.flag==2)game_jumpto("B2事件");else game_jumpto("B3事件");

[B1事件]
……
跳:
[B2事件]
……
跳:
[B3事件]
……
跳:
  • 这里写法比较省略,选项后直接连接判断语句,然后进行分条件跳转到指定段落,如果看不懂该语句的,可以去查阅JS条件语句的内容,这里不做细究。也欢迎大佬在留言区解答该段内容的分解语句。

以上就是关于剧本草稿格式的一种书写方式,希望我所述对新手们有所启发。另外大家有深入的兴趣可以阅读一下佐佐木智广的《游戏剧本怎么写》,本篇草稿思路参考就来自这本书。

共收到 2 条回复
anletian 将本帖设为了精华贴 07月04日 13:56
2楼 已删除
3楼 已删除
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册