这里的写作技术是在观察各种作品中观察出来得到的,所以它可能不一定正确。
当然,你也可以在这里看到我的独创技术。
写作第一性原理
其实也是创作原理,也就是以目标体验为中心。
很简单,以写作目的为中心。这个原理不止适用与小说创作,也适用于应用文。
这是从写作本质谈起的技术:写作本质是传达思想。所以写作时的一切技巧都是要以写作目标为中心的。如果你要写技术报告,你的目的是让其他人也能看懂技术,那你的一切技术应用都应该能促进目标,而非阻碍目标。如果你要写正式文书,你的目的是正式声明,那你就应该往无歧义、正式、遵循礼节上靠。
这也引出了 技术使用原理:是否应该应用一项技术,取决于技术是否有益于最终目标。
在这里,小说的目标通常是为了创作出不存在的虚拟体验或是讲述一个故事。
注意点分离
也就是所说的「大纲-草稿」写法.
WARNING
启发自 AOP 面向切面编程。方法未经验证。
在写作的过程中,有太多方面需要关注,这样搞得心力过度。而如果能将相互之间关系并不紧密的方面进行适当分离,可以减轻压力,专注一个方面进行工作,再通过 pipeline 对草稿不断完善,效果也许会比一次草稿后修改好。
虽然说是「大纲-草稿」法,但是并不是完全的分离,而是在对同一个稿件的基础上进行不断的完善,就像在 3D 渲染中,通过渲染管线对数据进行一次次加工,最终得到完善而有质量的画面。
同时,pipeline 的建立也意味着多人协作写作变得可能,当然也包括 AI 人机协作。
比如说建立一个简单的 pipeline (我现在在用的、我命名其为 Archmetric 的 pipeline),如下:
flowchart TD subgraph "情节设计(在小规模下可以一次进行完全的模块)" direction LR Backbone["骨架<br/>(情节上讲清楚这章节发生了什么)"] NotedBackbone["注释情节稿<br/>(注明了伏笔和相关情节设计的情节)"] Draft["手稿<br/>(包含了分镜、角色神态、角色和剧情设计,手稿的目的是讲明这章要讲明什么)"] end subgraph "体验引擎、情绪和渲染<br/>(在小规模下可以一次进行完全的模块)" direction LR Note["其实就是几个经典的描写手法"] EmotionInject["刻画人物情绪反应"] Environment["刻画环境"] ForeShadowing["检查是否还有地方藏伏笔"] end subgraph "校验" LastCheck["重新检查和评估"] end Backbone -- 添加伏笔和细节 --> NotedBackbone -- 添加更多细节 --> Draft Draft --> EmotionInject & Environment --> ForeShadowing ForeShadowing --> LastCheck
当然,最重要的是,不需要完全遵循管线设计。因为灵感从来不会按管线来,想到什么就写什么就行了。但是重要的是,搞清楚手稿到底在哪个阶段,这样才知道手稿需要补全什么。
附上 AI 改动后的版本,可能比我设计得更清楚:
flowchart TD #420ec0 classDef design fill:#dbd7fe,stroke:#6d4af9,stroke-width:2px; 输入层 Setting[("世界观/设定集<br/>(Lore & Docs)")] class Setting ref subgraph Design ["情节设计层 (Core Logic)"] direction LR Backbone["<b>骨架 (Backbone)</b><br/>逻辑流、起承转合"] NotedBackbone["<b>注释情节稿</b><br/>埋设钩子、伏笔同步"] Draft["<b>初创手稿 (Draft)</b><br/>分镜、动作、对白原型"] end subgraph Rendering ["体验引擎与渲染 (Presentation)"] direction TB subgraph Logic ["并行渲染切面"] direction LR Environment["<b>环境渲染</b><br/>五感描绘、世界观渗入"] EmotionInject["<b>情绪注入</b><br/>心理描写、神态微表情"] end ForeShadowing["<b>伏笔检查/强化</b><br/>检查信息密度"] end subgraph QA ["校验与质量控制 (Quality Assurance)"] LastCheck["<b>终审评估</b><br/>节奏、人设一致性"] Publish(["<b>完成稿</b>"]) end 反馈环路 LastCheck -- "逻辑/人设崩坏" --> Backbone LastCheck -- "描写干瘪/出戏" --> Rendering LastCheck -->|Pass| Publish %% 样式应用 class Design design class Rendering render class QA check
动作
**当然,最重要的是,不需要完全遵循管线设计。因为灵感从来不会按管线来,想到什么就写什么就行了。但是重要的是,搞清楚手稿到底在哪个阶段,这样才知道手稿需要补全什么。**滤镜原理
即动作主观化或客观化.
这个不是写作技巧,而是自然存在与语言中的暗示。
原理是这样的:在人表达语言的时候,不同的人(因为不同的先验知识)看到不同的语言会有不同的反应,从而产生不同的理解。就像一个倒霉到家的人跟朋友吐槽说自己很倒霉,但是得到了「你很好了」这样的回应,如果这个倒霉到家的傢伙先天认为这个朋友本身就是迟钝的傢伙,就会觉得不被理解。但是如果从其他人但看这段角度来说,朋友可能是理解了,试图安慰这个可怜人。
需要注意的是,人的性格同样是一种先验知识,所以即便是在情报上大家知道一样,但是看一个动作得到的理解都是不同的。
一个比较简单的应用就是通过对角色动作的描写,附上作者的暗示。
比如说「她脸忽地又一红,举起书,目光却又不在书上,瞄着别的地方。」中,形容了一个少女因为羞涩而掩饰的动作,作者其实可以附上作者视角的暗示「她脸一下子红,举起书挡住脸,目光在书上游移,最终瞟着别的地方。」
少女举起书是为了「挡住」,但是原文没有凸显出来,因为从作者的角度看,这只是一个普通的动作。但是从少女的角度看,这是为了掩饰羞涩。作者可以通过添上几个字的暗示和小动作刻画,来强调少女这种羞涩。读者看得也会更明白。
环境协同暗示
随口一糊的,可能会面会删掉这个技术。
通过对角色动作的描写,暗示其行为动机与内心状态,从而将客观叙述转化为特定视角下的主观体验。
最简单的就是因为主角心情差劲,所以作者特意安排了雨天或者热闹的节日,来达成环境共鸣或者环境反差。
这个技术可以形成明显的暗示