首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

写剧本就是写代码,谈谈剧本编写

以前写了一遍文章,叫“编剧与编程”,今天想写个姊妹篇,叫“写剧本就是写代码”

之所以会有这样的想法,一方面因为我是个半理工男,懂一点编程皮毛,另一方面,是因为写剧本和写代码确实是一回事:他们都是用某种语言文字,对现实进行符号模拟与逻辑再现。

1.编剧和程序员,都在讲故事

通常,人们不会将编剧和程序员联系起来,更不会想到编剧和编程的异同,尤其当计算机还是计算机器的时代,但时至今日,就不当如此了。和其他文学创作一样,编剧也是对世界的再现和加工,而现在没有什么对世界的再现能比得上计算机模拟,我们完全能将他们看做同一类东西。

在这个信息时代,即使不写程序,只要接触过计算机的人都知道,算法是编程的核心,如果深入了解,就知道算法还有参数和函数两部分,编程的第一步,就是定义各种参数;编程的第二步,就是确定参数之间的函数关系,也就是各参数之间的计算公式。上过初高中的应该知道,数学不仅仅是算术,还有代数,从计算机模拟现实世界角度,每个参数就代表了现实中一个物质(代数),而参数之间的函数关系就是现实中事物之间的关系,计算机运行程序,对应世界运行程序。

同样,在全民作家的今天,只要接触过影视行业或对写作产生过兴趣,大概都知道写剧本的核心是写人。深入了解的也知道编剧也分两部分,第一部是设定人物,第二步是设计人物关系。用计算机行业的话说,设定人物就是设定参数,人物关系就是函数,处在关系中任何人的参数数值比如性格发生变化,都会导致另一个人的参数数值变化。这个数字变化,这就是人物成长。

从符号角度,一个字都是一个参数,每个字之间的关系在计算机数学语言叫算法,在人类自然语言叫语法,自然语言的复杂性和数学语言的复杂性一样,都是世界万物复杂性的投影。不论编程还是编剧,都是讲述世界如何运行的故事,只是一个侧重物理再现,一个侧重人的变化过程。

2.剧本和程序,都是各自行业根基

除了都是在讲世界如何运行,人类如何运行,编剧和编程之间,除了“编”,他们的共同性还体现在很多方面,比如最终产品的术语。通常情况下,编程的产出叫程序,编剧的产出叫剧本,但一些领域,他们都叫做脚本。程序的“脚本”,是对计算机硬件的一些列调用指令,是硬件“走路”的根“本”,经常看到网页无法运行某脚本,就是无法调用某个硬件。编剧的“脚本”比较多用拍摄领域,以分镜脚本的形式表示人物与镜头的运动,在讲故事内容时,用“剧本”居多。

在计算机行业,代码形成的程序叫软件,软件是用来驱动硬件的。用影视行业的话说,程序员是计算机行业的编剧,电脑硬件就是他们的演员。在影视行业,如果把演员、导演、灯光、道具都看做影视生产硬件,那剧本就是这些硬件运作的底层软件,编剧就是影视行业的程序员,编写底层运行代码,而导演、演员、灯光就是影视产品中的ui设计、界面设计、视觉设计师。

影视行业常常说,剧本是一剧之本,但真正落实这句话的,是计算机行业。一个优秀的程序员团队会是整个软件的基础,当作为底层代码的程序写得不好,任何硬件性能再高,都没用。

3.编剧和编程,从属同一逻辑系统

不论程序的脚本,还是编剧的脚本/剧本,本质都是一系列语言指令集合,一个用自然语言写,一个用数学语言写,一个告诉计算机如何运行,一个告诉演员如何行动、镜头如何运动。

程序脚本是告诉硬件如何运行。分镜脚本是告诉镜头如何运动。演员脚本是告诉演员如何走位。脚放哪儿,手放哪儿,说什么,做什么,情绪语气姿势如何变化。表面看是剧本脚本指导一切,但要实现以上功能,就得符合人性镜头规律,不符合硬件逻辑的程序,只会带来死机。

编程用数学算法用计算机再现事物,编剧用自然语言再现人物,都遵循和模拟现实世界的物理逻辑。往深了说,不论是自然语言,还是数学语言,都只是表象,只是对自然界的再现。编剧的创作和程序的编写一样,很少有灵机一动,大部分是严谨推演出来的。因为故事生活和世界一样,很多灵感看似随机偶然,实际上都遵循一定法则,违背这些法则,就不合情理,讲不通。

大部分人的直觉是,程序员的数学都好,因为毕竟和“计算”有关,觉得他们也都是很理性的人,很讲逻辑,觉得编剧是感性的人,实际上也确实如此,但这更多是教育导致的知识不健全,编剧同样要逻辑性强,因为写剧本和写程序都需要先发现、再现、运用世界与人性规律,而不是想当然地臆想。不遵循人性的软件没市场,不讲常识逻辑的电视剧也没人看,他们都遵循共同的物理规律和人性规律。

3.编剧和编程,都有各自开发环境

编剧和编程一样,都是一个系统工程。软件开发和剧本开发是相通的,同样需要市场调查,需要产品定位,需要功能规划,需要编写“代码”,需要调试、查bug——编辑策划审查剧本。

在开发环节,软件的需求文档就是剧本策划方案,剧本的人物大纲就是软件的功能架构,实现功能的代码就是指导表演的剧本,朝阳区写剧本的文字民工,跟中关村写程序的码农相差不远。

就像任何功能复杂的计算机程序,剧本也是个复杂的演算系统,说写剧本就是写人物,人物设定就是参数设定,是对编剧工作的一种简化;实际写作中,人是参数,物也是参数,时间是参数,空间是参数,天气环境是参数,衣食住行都是参数,所有不变的、变的元素都是参数。这些每个参数都彼此关联,任何两者之间的关系甚至不止一种,就像人之间关系,往往是多重的。

通常情况下,剧本以人物为主要参数,因为有些参数,比如时代、自然环境、社会环境,变化不大或者变化缓慢,可以将之视为环境参数。这就像编程的程序开发环境,这个开发环境由基础硬件和物理指令语言构成,程序的编写和运行遵循这个开发环境的物理逻辑和语法逻辑;人物在不同时代、环境、社会中中成长,世界与自然环境是基础物理硬件,社会是物理组织语言。

当然,人物的参数设定,不可能像中学代数那么简单,一个符号不是代表一个数值,而是代表数值的矩阵,人物的关系是一个矩阵关系。比如编剧在剧本中定义了“小明”这个参数,他的数值就是由身高、体重、相貌、衣服、年龄、智力、体力、运气等无数信息构成的数值矩阵。故事时间线就是进程表,人物的成长如程序的运行,其中任何一个数值变化,都是故事,成长。

4.剧本和程序,可以有想同的计量单位

同时,在工作量上,编程与编剧也是想通的,这来两种工作的最终成果,不论剧本还是脚本,都是一种“文本”,是一系列文字和符号的集合。计算机行业,经常用“行”来表述软件规模,因为就像我们初中的数学证明题,程序基本是一个逻辑语句为一行,要实现某个功能,是需要很多步运算的。对剧本文本的计量,我们通常用的是集,但当我们将一部戏视为一个整体时,也可以用“行”,好的剧本,也基本是一个动作/一句话/一个镜头/一个画面为一行。除去内容,在文本形式上,写剧本就像写诗一样,人们对诗的介绍经常是多少行,用行描述剧本可算移用。

要完成一个软件,需要写多少行代码?现在的软件功能复杂,代码动辄几千万上亿行。以我们熟悉的windows为例,最早的ms-dos系统一个软盘就能装下,95有1500万行,98有1800万行,XP有3500万行,Vista的代码5000万行。计算机功能越复杂,需要实现功能的代码越多。

完成一个剧本呢?为方便,以手边电视剧《我的青春谁做主》剧本为例,这部戏拍摄剧本共30集,一集大约60场,一场大约10行,一集大约有700行,合计下来,整部戏大约2万行“代码”。比起完成一个程序,一个剧本的工作量似乎小很多,但编程遵循共同的数学语言,可以大面积合作,有数据接口就行,而编剧是每个人物的人物语言不一样,得一个人贯穿始终,保证人物性格的一致性。当然,这些都是最终成品,中间写废,重来的,尸山血海,不计其数。

写作叫做码字,编剧叫做写代码,今天码了几行?就像犁地,一行一行,干活去吧。

18.04.06

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180718A0GSPK00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券